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