MythTV  master
Root.h
Go to the documentation of this file.
1 /* Root.h
2 
3  Copyright (C) David C. J. Matthews 2004 dm at prolingua.co.uk
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public License
7  as published by the Free Software Foundation; either version 2
8  of the License, or (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
18  Or, point your browser to http://www.gnu.org/copyleft/gpl.html
19 
20 */
21 
22 
23 #if !defined(ROOTCLASS_H)
24 #define ROOTCLASS_H
25 
26 #include "BaseClasses.h"
27 #include "BaseActions.h"
28 class MHParseNode;
29 class MHLink;
30 class MHIngredient;
31 class MHEngine;
32 
33 enum EventType : std::uint8_t
41  // The next two events are added in UK MHEG.
43 
44 class MHRoot
45 {
46  public:
47  MHRoot() = default;
48  MHRoot(const MHRoot &/*ref*/) {}
49  virtual ~MHRoot() = default;
50  // Initialise - set up the item from the parse tree.
51  virtual void Initialise(MHParseNode *p, MHEngine *engine); // Set this up from the parse tree.
52  // Print this item.
53  virtual void PrintMe(FILE *fd, int nTabs) const;
54  // Test for shared status.
55  virtual bool IsShared() { return false; }
56 
57  // MHEG Actions.
58  // Preparation - sets up the run-time representation. Sets m_fAvailable and generates IsAvailable event.
59  virtual void Preparation(MHEngine *engine);
60  // Activation - starts running the object. Sets m_fRunning and generates IsRunning event.
61  virtual void Activation(MHEngine *engine);
62  // Deactivation - stops running the object. Clears m_fRunning
63  virtual void Deactivation(MHEngine *engine);
64  // Destruction - deletes the run-time representation. Clears m_fAvailable.
65  virtual void Destruction(MHEngine *engine);
66  // Prepare the content - This action is added in the corrigendum to the standard.
67  virtual void ContentPreparation(MHEngine */*engine*/) {}
68 
69  // Return an object with a given object number. In the root class this returns this object
70  // if it matches. Group and Stream classes also search their components.
71  virtual MHRoot *FindByObjectNo(int n);
72 
73  // Actions. The default behaviour if a sub-class doesn't override them is to fail.
74 
75  // Actions on Root class
76  virtual bool GetAvailabilityStatus() { return m_fAvailable; }
77  virtual bool GetRunningStatus() { return m_fRunning; }
78 
79  // Actions on Groups
80  virtual void SetTimer(int/*nTimerId*/, bool/*fAbsolute*/, int /*nMilliSecs*/, MHEngine */*engine*/)
81  { InvalidAction("SetTimer"); }
82  // This isn't an MHEG action as such but is used as part of the implementation of "Clone"
83  virtual void MakeClone(MHRoot* /*pTarget*/, MHRoot* /*pRef*/, MHEngine */*engine*/)
84  { InvalidAction("MakeClone"); }
85  virtual void SetInputRegister(int /*nReg*/, MHEngine */*engine*/)
86  { InvalidAction("SetInputRegister"); }
87 
88  // Actions on Ingredients.
89  virtual void SetData(const MHOctetString &/*included*/, MHEngine */*engine*/)
90  { InvalidAction("SetData"); }
91  virtual void SetData(const MHContentRef &/*referenced*/, bool /*fSizeGiven*/,
92  int /*size*/, bool /*fCCGiven*/, int /*cc*/, MHEngine */*engine*/)
93  { InvalidAction("SetData"); }
94  virtual void Preload(MHEngine */*engine*/) { InvalidAction("Preload"); }
95  virtual void Unload(MHEngine */*engine*/) { InvalidAction("Unload"); }
96  // The UK MHEG profile only requires cloning for Text, Bitmap and Rectangle.
97  virtual MHIngredient *Clone(MHEngine */*engine*/) { InvalidAction("Clone"); return nullptr; }
98 
99  // Actions on Presentables. The Run/Stop actions on presentables and the Activate/Deactivate actions
100  // on Links have identical effects. They could be merged.
101  virtual void Run(MHEngine */*engine*/) { InvalidAction("Run"); }
102  virtual void Stop(MHEngine */*engine*/) { InvalidAction("Stop"); }
103 
104  // Actions on variables.
105  virtual void TestVariable(int /*nOp*/, const MHUnion &/*parm*/, MHEngine */*engine*/)
106  { InvalidAction("TestVariable"); }
107  virtual void GetVariableValue(MHUnion &/*value*/, MHEngine */*engine*/)
108  { InvalidAction("GetVariableValue"); }
109  virtual void SetVariableValue(const MHUnion &/*value*/)
110  { InvalidAction("SetVariableValue"); }
111 
112  // Actions on Text objects
113  virtual void GetTextData(MHRoot * /*pDestination*/, MHEngine */*engine*/)
114  { InvalidAction("GetTextData"); }
115  virtual void SetBackgroundColour(const MHColour &/*colour*/, MHEngine */*engine*/)
116  { InvalidAction("SetBackgroundColour"); }
117  virtual void SetTextColour(const MHColour &/*colour*/, MHEngine */*engine*/)
118  { InvalidAction("SetTextColour"); }
119  virtual void SetFontAttributes(const MHOctetString &/*fontAttrs*/, MHEngine */*engine*/)
120  { InvalidAction("SetFontAttributes"); }
121 
122  // Actions on Links
123  virtual void Activate(bool /*f*/, MHEngine */*engine*/)
124  { InvalidAction("Activate/Deactivate"); } // Activate/Deactivate
125 
126  // Actions on Programs.
127  virtual void CallProgram(bool /*fIsFork*/, const MHObjectRef &/*success*/,
128  const MHSequence<MHParameter *> &/*args*/, MHEngine */*engine*/)
129  { InvalidAction("CallProgram"); }
130 
131  // Actions on TokenGroups
132  virtual void CallActionSlot(int /*n*/, MHEngine */*engine*/) { InvalidAction("CallActionSlot"); }
133  virtual void Move(int /*n*/, MHEngine */*engine*/) { InvalidAction("Move"); }
134  virtual void MoveTo(int /*n*/, MHEngine */*engine*/) { InvalidAction("MoveTo"); }
135  virtual void GetTokenPosition(MHRoot * /*pResult*/, MHEngine */*engine*/)
136  { InvalidAction("GetTokenPosition"); }
137 
138  // Actions on ListGroups
139  virtual void AddItem(int /*nIndex*/, MHRoot * /*pItem*/, MHEngine */*engine*/)
140  { InvalidAction("GetCellItem"); }
141  virtual void DelItem(MHRoot * /*pItem*/, MHEngine */*engine*/)
142  { InvalidAction("GetCellItem"); }
143  virtual void GetCellItem(int /*nCell*/, const MHObjectRef &/*itemDest*/, MHEngine */*engine*/)
144  { InvalidAction("GetCellItem"); }
145  virtual void GetListItem(int /*nCell*/, const MHObjectRef &/*itemDest*/, MHEngine */*engine*/)
146  { InvalidAction("GetCellItem"); }
147  virtual void GetItemStatus(int /*nCell*/, const MHObjectRef &/*itemDest*/, MHEngine */*engine*/)
148  { InvalidAction("GetItemStatus"); }
149  virtual void SelectItem(int /*nCell*/, MHEngine */*engine*/) { InvalidAction("SelectItem"); }
150  virtual void DeselectItem(int /*nCell*/, MHEngine */*engine*/) { InvalidAction("DeselectItem"); }
151  virtual void ToggleItem(int /*nCell*/, MHEngine */*engine*/) { InvalidAction("ToggleItem"); }
152  virtual void ScrollItems(int /*nCell*/, MHEngine */*engine*/) { InvalidAction("ScrollItems"); }
153  virtual void SetFirstItem(int /*nCell*/, MHEngine */*engine*/) { InvalidAction("SetFirstItem"); }
154  virtual void GetFirstItem(MHRoot * /*pResult*/, MHEngine */*engine*/) { InvalidAction("GetFirstItem"); }
155  virtual void GetListSize(MHRoot * /*pResult*/, MHEngine */*engine*/) { InvalidAction("GetListSize"); }
156 
157  // Actions on Visibles.
158  virtual void SetPosition(int /*nXPosition*/, int /*nYPosition*/, MHEngine */*engine*/)
159  { InvalidAction("SetPosition"); }
160  virtual void GetPosition(MHRoot * /*pXPosN*/, MHRoot * /*pYPosN*/)
161  { InvalidAction("GetPosition"); }
162  virtual void SetBoxSize(int /*nWidth*/, int /*nHeight*/, MHEngine */*engine*/)
163  { InvalidAction("SetBoxSize"); }
164  virtual void GetBoxSize(MHRoot * /*pWidthDest*/, MHRoot * /*HeightDest*/)
165  { InvalidAction("GetBoxSize"); }
166  virtual void SetPaletteRef(const MHObjectRef& /*newPalette*/, MHEngine */*engine*/)
167  { InvalidAction("SetPaletteRef"); }
168  virtual void BringToFront(MHEngine */*engine*/) { InvalidAction("BringToFront"); }
169  virtual void SendToBack(MHEngine */*engine*/) { InvalidAction("SendToBack"); }
170  virtual void PutBefore(const MHRoot * /*pRef*/, MHEngine */*engine*/) { InvalidAction("PutBefore"); }
171  virtual void PutBehind(const MHRoot * /*pRef*/, MHEngine */*engine*/) { InvalidAction("PutBehind"); }
172  virtual void ResetPosition() { InvalidAction("ResetPosition"); } // Used internally by ListGroup
173 
174  // Actions on LineArt
175  virtual void SetFillColour(const MHColour &/*colour*/, MHEngine */*engine*/)
176  { InvalidAction("SetFillColour"); }
177  virtual void SetLineColour(const MHColour &/*colour*/, MHEngine */*engine*/)
178  { InvalidAction("SetLineColour"); }
179  virtual void SetLineWidth(int /*nWidth*/, MHEngine */*engine*/) { InvalidAction("SetLineWidth"); }
180  virtual void SetLineStyle(int /*nStyle*/, MHEngine */*engine*/) { InvalidAction("SetLineStyle"); }
181 
182  // Actions on Bitmaps
183  virtual void SetTransparency(int /*nTransPerCent*/, MHEngine */*engine*/)
184  { InvalidAction("SetTransparency"); }
185  virtual void ScaleBitmap(int /*xScale*/, int /*yScale*/, MHEngine */*engine*/)
186  { InvalidAction("ScaleBitmap"); }
187  virtual void SetBitmapDecodeOffset(int /*newXOffset*/, int /*newYOffset*/, MHEngine */*engine*/)
188  { InvalidAction("SetBitmapDecodeOffset"); }
189  virtual void GetBitmapDecodeOffset(MHRoot * /*pXOffset*/, MHRoot * /*pYOffset*/)
190  { InvalidAction("GetBitmapDecodeOffset"); }
191 
192  // Actions on Dynamic Line Art
193  virtual void Clear() { InvalidAction(""); }
194  virtual void GetLineWidth(MHRoot * /*pResult*/) { InvalidAction("GetLineWidth"); }
195  virtual void GetLineStyle(MHRoot * /*pResult*/) { InvalidAction("GetLineStyle"); }
196  virtual void GetLineColour(MHRoot * /*pResult*/) { InvalidAction("GetLineColour"); }
197  virtual void GetFillColour(MHRoot * /*pResult*/) { InvalidAction("GetFillColour"); }
198  virtual void DrawArcSector(bool /*fIsSector*/, int /*x*/, int /*y*/, int /*width*/, int /*height*/, int /*start*/,
199  int /*arc*/, MHEngine */*engine*/) { InvalidAction("DrawArc/Sector"); }
200  virtual void DrawLine(int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, MHEngine */*engine*/)
201  { InvalidAction("DrawLine"); }
202  virtual void DrawOval(int /*x1*/, int /*y1*/, int /*width*/, int /*height*/, MHEngine */*engine*/)
203  { InvalidAction("DrawOval"); }
204  virtual void DrawRectangle(int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, MHEngine */*engine*/)
205  { InvalidAction("DrawRectangle"); }
206  virtual void DrawPoly(bool /*fIsPolygon*/, const MHPointVec& /*xArray*/, const MHPointVec& /*yArray*/, MHEngine */*engine*/)
207  { InvalidAction("DrawPoly(gon/line)"); }
208 
209  // Actions on Video streams.
210  virtual void ScaleVideo(int /*xScale*/, int /*yScale*/, MHEngine */*engine*/)
211  { InvalidAction("ScaleVideo"); }
212  virtual void SetVideoDecodeOffset(int /*newXOffset*/, int /*newYOffset*/, MHEngine */*engine*/)
213  { InvalidAction("SetVideoDecodeOffset"); }
214  virtual void GetVideoDecodeOffset(MHRoot * /*pXOffset*/, MHRoot * /*pYOffset*/, MHEngine */*engine*/)
215  { InvalidAction("GetVideoDecodeOffset"); }
216  virtual void GetCounterPosition(MHRoot * /*pPos*/, MHEngine */*engine*/)
217  { InvalidAction("GetCounterPosition"); }
218  virtual void GetCounterMaxPosition(MHRoot * /*pPos*/, MHEngine */*engine*/)
219  { InvalidAction("GetCounterMaxPosition"); }
220  virtual void SetCounterPosition(int /*pos*/, MHEngine */*engine*/)
221  { InvalidAction("SetCounterPosition"); }
222  virtual void SetSpeed(int /*speed 0=stop*/, MHEngine */*engine*/)
223  { InvalidAction("SetSpeed"); }
224 
225  // Actions on Interactibles.
226  virtual void SetInteractionStatus(bool /*newStatus*/, MHEngine */*engine*/)
227  { InvalidAction("SetInteractionStatus"); }
228  virtual bool GetInteractionStatus(void) { InvalidAction("GetInteractionStatus"); return false; }
229  virtual void SetHighlightStatus(bool /*newStatus*/, MHEngine */*engine*/)
230  { InvalidAction("SetHighlightStatus"); }
231  virtual bool GetHighlightStatus(void) { InvalidAction("GetHighlightStatus"); return false; }
232 
233  // Actions on Sliders.
234  virtual void Step(int /*nbSteps*/, MHEngine * /*engine*/) { InvalidAction("Step"); }
235  virtual void SetSliderValue(int /*nbSteps*/, MHEngine * /*engine*/)
236  { InvalidAction("SetSliderValue"); }
237  virtual int GetSliderValue(void) { InvalidAction("GetSliderValue"); return 0; }
238  virtual void SetPortion(int /*newPortion*/, MHEngine * /*engine*/) { InvalidAction("SetPortion"); }
239  virtual int GetPortion(void) { InvalidAction("GetPortion"); return 0; }
240  // Additional action defined in UK MHEG.
241  virtual void SetSliderParameters(int /*newMin*/, int /*newMax*/, int /*newStep*/, MHEngine * /*engine*/)
242  { InvalidAction("SetSliderParameters"); }
243 
244  protected:
245 
246  void InvalidAction(const char *actionName);
247  public:
248  MHObjectRef m_ObjectReference; // Identifier of this object.
249 
250  virtual const char *ClassName() = 0; // For debugging messages.
251  protected:
252  bool m_fAvailable {false}; // Set once Preparation has completed.
253  bool m_fRunning {false}; // Set once Activation has completed.
254 
255  friend class MHEngine;
256 };
257 
258 // Get Availability Status - Does the object exist and is it available?.
260 {
261  public:
262  MHGetAvailabilityStatus(): MHElemAction(":GetAvailabilityStatus") {}
263  void Initialise(MHParseNode *p, MHEngine *engine) override; // MHElemAction
264  void Perform(MHEngine *engine) override; // MHElemAction
265  protected:
266  void PrintArgs(FILE *fd, int /*nTabs*/) const override // MHElemAction
267  { m_rsultVar.PrintMe(fd, 0); }
269 };
270 
271 // Get Running Status - Is the object running?.
273 {
274  public:
275  MHGetRunningStatus(): MHActionObjectRef(":GetRunningStatus") {}
276  void CallAction(MHEngine */*engine*/, MHRoot *pTarget, MHRoot *pResult) override // MHActionObjectRef
277  { pResult->SetVariableValue(pTarget->GetRunningStatus());}
278 };
279 
280 #endif
MHRoot::Activation
virtual void Activation(MHEngine *engine)
Definition: Root.cpp:70
MHRoot::Step
virtual void Step(int, MHEngine *)
Definition: Root.h:234
MHObjectRef
Definition: BaseClasses.h:153
MHActionObjectRef
Definition: BaseActions.h:119
MHRoot::SetFillColour
virtual void SetFillColour(const MHColour &, MHEngine *)
Definition: Root.h:175
EventHighlightOff
@ EventHighlightOff
Definition: Root.h:37
MHGetAvailabilityStatus::PrintArgs
void PrintArgs(FILE *fd, int) const override
Definition: Root.h:266
EventFocusMoved
@ EventFocusMoved
Definition: Root.h:42
MHRoot::GetCounterMaxPosition
virtual void GetCounterMaxPosition(MHRoot *, MHEngine *)
Definition: Root.h:218
MHRoot::SetData
virtual void SetData(const MHContentRef &, bool, int, bool, int, MHEngine *)
Definition: Root.h:91
MHRoot::GetRunningStatus
virtual bool GetRunningStatus()
Definition: Root.h:77
MHRoot::Preload
virtual void Preload(MHEngine *)
Definition: Root.h:94
EventItemDeselected
@ EventItemDeselected
Definition: Root.h:39
MHRoot::ResetPosition
virtual void ResetPosition()
Definition: Root.h:172
MHRoot::DrawOval
virtual void DrawOval(int, int, int, int, MHEngine *)
Definition: Root.h:202
MHRoot::SetInteractionStatus
virtual void SetInteractionStatus(bool, MHEngine *)
Definition: Root.h:226
MHRoot::Deactivation
virtual void Deactivation(MHEngine *engine)
Definition: Root.cpp:86
MHRoot::GetListSize
virtual void GetListSize(MHRoot *, MHEngine *)
Definition: Root.h:155
MHRoot::GetFirstItem
virtual void GetFirstItem(MHRoot *, MHEngine *)
Definition: Root.h:154
MHRoot::GetItemStatus
virtual void GetItemStatus(int, const MHObjectRef &, MHEngine *)
Definition: Root.h:147
MHRoot::SetHighlightStatus
virtual void SetHighlightStatus(bool, MHEngine *)
Definition: Root.h:229
MHRoot::m_fAvailable
bool m_fAvailable
Definition: Root.h:252
MHRoot::GetFillColour
virtual void GetFillColour(MHRoot *)
Definition: Root.h:197
MHRoot::SetLineColour
virtual void SetLineColour(const MHColour &, MHEngine *)
Definition: Root.h:177
MHEngine
Definition: Engine.h:72
MHRoot::Clone
virtual MHIngredient * Clone(MHEngine *)
Definition: Root.h:97
EventHighlightOn
@ EventHighlightOn
Definition: Root.h:37
MHRoot::SetLineWidth
virtual void SetLineWidth(int, MHEngine *)
Definition: Root.h:179
MHRoot::SetTextColour
virtual void SetTextColour(const MHColour &, MHEngine *)
Definition: Root.h:117
MHRoot::SetPosition
virtual void SetPosition(int, int, MHEngine *)
Definition: Root.h:158
EventUserInput
@ EventUserInput
Definition: Root.h:35
EventStreamEvent
@ EventStreamEvent
Definition: Root.h:36
MHGetAvailabilityStatus::MHGetAvailabilityStatus
MHGetAvailabilityStatus()
Definition: Root.h:262
MHRoot::PutBefore
virtual void PutBefore(const MHRoot *, MHEngine *)
Definition: Root.h:170
MHRoot::GetPortion
virtual int GetPortion(void)
Definition: Root.h:239
EventCursorLeave
@ EventCursorLeave
Definition: Root.h:37
EventTestEvent
@ EventTestEvent
Definition: Root.h:38
MHRoot::ScrollItems
virtual void ScrollItems(int, MHEngine *)
Definition: Root.h:152
MHRoot::Stop
virtual void Stop(MHEngine *)
Definition: Root.h:102
MHRoot::GetInteractionStatus
virtual bool GetInteractionStatus(void)
Definition: Root.h:228
EventSliderValueChanged
@ EventSliderValueChanged
Definition: Root.h:42
MHRoot::PutBehind
virtual void PutBehind(const MHRoot *, MHEngine *)
Definition: Root.h:171
MHGetAvailabilityStatus
Definition: Root.h:259
EventItemSelected
@ EventItemSelected
Definition: Root.h:39
MHRoot::SetSpeed
virtual void SetSpeed(int, MHEngine *)
Definition: Root.h:222
MHRoot::GetListItem
virtual void GetListItem(int, const MHObjectRef &, MHEngine *)
Definition: Root.h:145
MHRoot::SetVariableValue
virtual void SetVariableValue(const MHUnion &)
Definition: Root.h:109
MHRoot::Run
virtual void Run(MHEngine *)
Definition: Root.h:101
EventContentAvailable
@ EventContentAvailable
Definition: Root.h:34
MHRoot::GetSliderValue
virtual int GetSliderValue(void)
Definition: Root.h:237
MHSequence< MHParameter * >
MHRoot::GetVideoDecodeOffset
virtual void GetVideoDecodeOffset(MHRoot *, MHRoot *, MHEngine *)
Definition: Root.h:214
MHOctetString
Definition: BaseClasses.h:107
MHRoot::CallActionSlot
virtual void CallActionSlot(int, MHEngine *)
Definition: Root.h:132
MHRoot::TestVariable
virtual void TestVariable(int, const MHUnion &, MHEngine *)
Definition: Root.h:105
MHRoot::GetTextData
virtual void GetTextData(MHRoot *, MHEngine *)
Definition: Root.h:113
MHRoot::SetSliderParameters
virtual void SetSliderParameters(int, int, int, MHEngine *)
Definition: Root.h:241
mythburn.FILE
int FILE
Definition: mythburn.py:139
EventAnchorFired
@ EventAnchorFired
Definition: Root.h:35
MHRoot::GetLineWidth
virtual void GetLineWidth(MHRoot *)
Definition: Root.h:194
EventCursorEnter
@ EventCursorEnter
Definition: Root.h:37
MHRoot::SetLineStyle
virtual void SetLineStyle(int, MHEngine *)
Definition: Root.h:180
MHRoot::ContentPreparation
virtual void ContentPreparation(MHEngine *)
Definition: Root.h:67
MHRoot::SelectItem
virtual void SelectItem(int, MHEngine *)
Definition: Root.h:149
MHRoot::MoveTo
virtual void MoveTo(int, MHEngine *)
Definition: Root.h:134
MHRoot::m_fRunning
bool m_fRunning
Definition: Root.h:253
MHRoot::m_ObjectReference
MHObjectRef m_ObjectReference
Definition: Root.h:248
MHRoot::FindByObjectNo
virtual MHRoot * FindByObjectNo(int n)
Definition: Root.cpp:116
MHRoot::SetCounterPosition
virtual void SetCounterPosition(int, MHEngine *)
Definition: Root.h:220
MHRoot::ToggleItem
virtual void ToggleItem(int, MHEngine *)
Definition: Root.h:151
MHGetAvailabilityStatus::Initialise
void Initialise(MHParseNode *p, MHEngine *engine) override
Definition: Root.cpp:125
MHGetAvailabilityStatus::m_rsultVar
MHObjectRef m_rsultVar
Definition: Root.h:268
MHRoot::MHRoot
MHRoot(const MHRoot &)
Definition: Root.h:48
MHRoot::SetBitmapDecodeOffset
virtual void SetBitmapDecodeOffset(int, int, MHEngine *)
Definition: Root.h:187
MHRoot::SetFirstItem
virtual void SetFirstItem(int, MHEngine *)
Definition: Root.h:153
MHRoot::GetBitmapDecodeOffset
virtual void GetBitmapDecodeOffset(MHRoot *, MHRoot *)
Definition: Root.h:189
MHRoot::SetSliderValue
virtual void SetSliderValue(int, MHEngine *)
Definition: Root.h:235
MHRoot::SendToBack
virtual void SendToBack(MHEngine *)
Definition: Root.h:169
MHRoot::GetPosition
virtual void GetPosition(MHRoot *, MHRoot *)
Definition: Root.h:160
EventEntryFieldFull
@ EventEntryFieldFull
Definition: Root.h:39
MHUnion
Definition: BaseClasses.h:283
EventType
EventType
Definition: Root.h:33
hardwareprofile.config.p
p
Definition: config.py:33
MHRoot::Unload
virtual void Unload(MHEngine *)
Definition: Root.h:95
MHRoot::Move
virtual void Move(int, MHEngine *)
Definition: Root.h:133
MHRoot::GetLineStyle
virtual void GetLineStyle(MHRoot *)
Definition: Root.h:195
EventTailItems
@ EventTailItems
Definition: Root.h:39
EventIsRunning
@ EventIsRunning
Definition: Root.h:34
EventEngineEvent
@ EventEngineEvent
Definition: Root.h:40
EventCounterTrigger
@ EventCounterTrigger
Definition: Root.h:37
EventTimerFired
@ EventTimerFired
Definition: Root.h:35
MHColour
Definition: BaseClasses.h:139
MHRoot::SetTimer
virtual void SetTimer(int, bool, int, MHEngine *)
Definition: Root.h:80
MHRoot::GetCellItem
virtual void GetCellItem(int, const MHObjectRef &, MHEngine *)
Definition: Root.h:143
MHRoot::SetInputRegister
virtual void SetInputRegister(int, MHEngine *)
Definition: Root.h:85
EventStreamPlaying
@ EventStreamPlaying
Definition: Root.h:36
MHRoot::BringToFront
virtual void BringToFront(MHEngine *)
Definition: Root.h:168
MHRoot::SetBoxSize
virtual void SetBoxSize(int, int, MHEngine *)
Definition: Root.h:162
MHRoot::ClassName
virtual const char * ClassName()=0
MHRoot::DrawRectangle
virtual void DrawRectangle(int, int, int, int, MHEngine *)
Definition: Root.h:204
MHRoot::DrawArcSector
virtual void DrawArcSector(bool, int, int, int, int, int, int, MHEngine *)
Definition: Root.h:198
MHRoot::DeselectItem
virtual void DeselectItem(int, MHEngine *)
Definition: Root.h:150
MHRoot::DrawLine
virtual void DrawLine(int, int, int, int, MHEngine *)
Definition: Root.h:200
MHIngredient
Definition: Ingredients.h:33
MHRoot::Initialise
virtual void Initialise(MHParseNode *p, MHEngine *engine)
Definition: Root.cpp:30
MHRoot::~MHRoot
virtual ~MHRoot()=default
MHRoot::ScaleVideo
virtual void ScaleVideo(int, int, MHEngine *)
Definition: Root.h:210
MHRoot::SetBackgroundColour
virtual void SetBackgroundColour(const MHColour &, MHEngine *)
Definition: Root.h:115
MHRoot::InvalidAction
void InvalidAction(const char *actionName)
Definition: Root.cpp:45
MHRoot::PrintMe
virtual void PrintMe(FILE *fd, int nTabs) const
Definition: Root.cpp:38
EventHeadItems
@ EventHeadItems
Definition: Root.h:39
MHRoot::DrawPoly
virtual void DrawPoly(bool, const MHPointVec &, const MHPointVec &, MHEngine *)
Definition: Root.h:206
MHContentRef
Definition: BaseClasses.h:174
MHRoot::DelItem
virtual void DelItem(MHRoot *, MHEngine *)
Definition: Root.h:141
EventStreamStopped
@ EventStreamStopped
Definition: Root.h:36
MHRoot::MHRoot
MHRoot()=default
MHRoot::IsShared
virtual bool IsShared()
Definition: Root.h:55
MHRoot::CallProgram
virtual void CallProgram(bool, const MHObjectRef &, const MHSequence< MHParameter * > &, MHEngine *)
Definition: Root.h:127
MHRoot::Clear
virtual void Clear()
Definition: Root.h:193
MHRoot::Preparation
virtual void Preparation(MHEngine *engine)
Definition: Root.cpp:53
MHRoot::GetHighlightStatus
virtual bool GetHighlightStatus(void)
Definition: Root.h:231
MHRoot::ScaleBitmap
virtual void ScaleBitmap(int, int, MHEngine *)
Definition: Root.h:185
MHRoot::SetVideoDecodeOffset
virtual void SetVideoDecodeOffset(int, int, MHEngine *)
Definition: Root.h:212
MHRoot::GetCounterPosition
virtual void GetCounterPosition(MHRoot *, MHEngine *)
Definition: Root.h:216
BaseClasses.h
MHRoot::GetAvailabilityStatus
virtual bool GetAvailabilityStatus()
Definition: Root.h:76
MHParseNode
Definition: ParseNode.h:38
MHRoot::SetData
virtual void SetData(const MHOctetString &, MHEngine *)
Definition: Root.h:89
EventIsSelected
@ EventIsSelected
Definition: Root.h:38
MHGetRunningStatus::MHGetRunningStatus
MHGetRunningStatus()
Definition: Root.h:275
MHRoot::AddItem
virtual void AddItem(int, MHRoot *, MHEngine *)
Definition: Root.h:139
EventTokenMovedFrom
@ EventTokenMovedFrom
Definition: Root.h:36
EventLastItemPresented
@ EventLastItemPresented
Definition: Root.h:38
MHRoot::MakeClone
virtual void MakeClone(MHRoot *, MHRoot *, MHEngine *)
Definition: Root.h:83
MHGetRunningStatus
Definition: Root.h:272
MHGetRunningStatus::CallAction
void CallAction(MHEngine *, MHRoot *pTarget, MHRoot *pResult) override
Definition: Root.h:276
EventIsStopped
@ EventIsStopped
Definition: Root.h:34
EventIsDeselected
@ EventIsDeselected
Definition: Root.h:38
MHRoot::SetTransparency
virtual void SetTransparency(int, MHEngine *)
Definition: Root.h:183
MHRoot::SetPaletteRef
virtual void SetPaletteRef(const MHObjectRef &, MHEngine *)
Definition: Root.h:166
EventTokenMovedTo
@ EventTokenMovedTo
Definition: Root.h:36
MHGetAvailabilityStatus::Perform
void Perform(MHEngine *engine) override
Definition: Root.cpp:131
MHElemAction
Definition: BaseActions.h:34
EventInteractionCompleted
@ EventInteractionCompleted
Definition: Root.h:35
MHRoot::GetBoxSize
virtual void GetBoxSize(MHRoot *, MHRoot *)
Definition: Root.h:164
MHRoot::Activate
virtual void Activate(bool, MHEngine *)
Definition: Root.h:123
MHRoot::SetFontAttributes
virtual void SetFontAttributes(const MHOctetString &, MHEngine *)
Definition: Root.h:119
MHRoot::Destruction
virtual void Destruction(MHEngine *engine)
Definition: Root.cpp:98
MHRoot::SetPortion
virtual void SetPortion(int, MHEngine *)
Definition: Root.h:238
EventFirstItemPresented
@ EventFirstItemPresented
Definition: Root.h:38
MHObjectRef::PrintMe
void PrintMe(FILE *fd, int nTabs) const
Definition: BaseClasses.cpp:284
MHRoot::GetTokenPosition
virtual void GetTokenPosition(MHRoot *, MHEngine *)
Definition: Root.h:135
MHRoot::GetLineColour
virtual void GetLineColour(MHRoot *)
Definition: Root.h:196
EventIsDeleted
@ EventIsDeleted
Definition: Root.h:34
BaseActions.h
EventIsAvailable
@ EventIsAvailable
Definition: Root.h:34
EventAsyncStopped
@ EventAsyncStopped
Definition: Root.h:35
MHPointVec
std::vector< int > MHPointVec
Definition: BaseClasses.h:31
MHRoot
Definition: Root.h:44
MHRoot::GetVariableValue
virtual void GetVariableValue(MHUnion &, MHEngine *)
Definition: Root.h:107