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#ifndef ROOTCLASS_H
24#define ROOTCLASS_H
25
26#include "BaseClasses.h"
27#include "BaseActions.h"
28class MHParseNode;
29class MHLink;
30class MHIngredient;
31class MHEngine;
32
33enum EventType : std::uint8_t
41 // The next two events are added in UK MHEG.
43
44class 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
std::vector< int > MHPointVec
Definition: BaseClasses.h:31
EventType
Definition: Root.h:34
@ EventUserInput
Definition: Root.h:35
@ EventFirstItemPresented
Definition: Root.h:38
@ EventSliderValueChanged
Definition: Root.h:42
@ EventTailItems
Definition: Root.h:39
@ EventCursorLeave
Definition: Root.h:37
@ EventItemSelected
Definition: Root.h:39
@ EventCursorEnter
Definition: Root.h:37
@ EventHighlightOn
Definition: Root.h:37
@ EventAnchorFired
Definition: Root.h:35
@ EventLastItemPresented
Definition: Root.h:38
@ EventCounterTrigger
Definition: Root.h:37
@ EventHeadItems
Definition: Root.h:39
@ EventItemDeselected
Definition: Root.h:39
@ EventTestEvent
Definition: Root.h:38
@ EventStreamPlaying
Definition: Root.h:36
@ EventIsRunning
Definition: Root.h:34
@ EventEntryFieldFull
Definition: Root.h:39
@ EventStreamEvent
Definition: Root.h:36
@ EventIsDeselected
Definition: Root.h:38
@ EventAsyncStopped
Definition: Root.h:35
@ EventInteractionCompleted
Definition: Root.h:35
@ EventTokenMovedFrom
Definition: Root.h:36
@ EventIsSelected
Definition: Root.h:38
@ EventTimerFired
Definition: Root.h:35
@ EventHighlightOff
Definition: Root.h:37
@ EventStreamStopped
Definition: Root.h:36
@ EventEngineEvent
Definition: Root.h:40
@ EventIsDeleted
Definition: Root.h:34
@ EventIsAvailable
Definition: Root.h:34
@ EventContentAvailable
Definition: Root.h:34
@ EventFocusMoved
Definition: Root.h:42
@ EventTokenMovedTo
Definition: Root.h:36
@ EventIsStopped
Definition: Root.h:34
MHObjectRef m_rsultVar
Definition: Root.h:268
void PrintArgs(FILE *fd, int) const override
Definition: Root.h:266
void Initialise(MHParseNode *p, MHEngine *engine) override
Definition: Root.cpp:125
void Perform(MHEngine *engine) override
Definition: Root.cpp:131
MHGetRunningStatus()
Definition: Root.h:275
void CallAction(MHEngine *, MHRoot *pTarget, MHRoot *pResult) override
Definition: Root.h:276
void PrintMe(FILE *fd, int nTabs) const
Definition: Root.h:45
virtual void PutBefore(const MHRoot *, MHEngine *)
Definition: Root.h:170
virtual void CallProgram(bool, const MHObjectRef &, const MHSequence< MHParameter * > &, MHEngine *)
Definition: Root.h:127
virtual void DrawPoly(bool, const MHPointVec &, const MHPointVec &, MHEngine *)
Definition: Root.h:206
virtual ~MHRoot()=default
virtual int GetSliderValue(void)
Definition: Root.h:237
virtual void GetVideoDecodeOffset(MHRoot *, MHRoot *, MHEngine *)
Definition: Root.h:214
virtual void Initialise(MHParseNode *p, MHEngine *engine)
Definition: Root.cpp:30
virtual void Activation(MHEngine *engine)
Definition: Root.cpp:70
virtual void SetFillColour(const MHColour &, MHEngine *)
Definition: Root.h:175
virtual void GetLineStyle(MHRoot *)
Definition: Root.h:195
virtual void GetFirstItem(MHRoot *, MHEngine *)
Definition: Root.h:154
virtual void DelItem(MHRoot *, MHEngine *)
Definition: Root.h:141
virtual void GetTokenPosition(MHRoot *, MHEngine *)
Definition: Root.h:135
virtual void DrawOval(int, int, int, int, MHEngine *)
Definition: Root.h:202
virtual void SetHighlightStatus(bool, MHEngine *)
Definition: Root.h:229
virtual void SetTextColour(const MHColour &, MHEngine *)
Definition: Root.h:117
void InvalidAction(const char *actionName)
Definition: Root.cpp:45
virtual void GetCellItem(int, const MHObjectRef &, MHEngine *)
Definition: Root.h:143
virtual void SetPortion(int, MHEngine *)
Definition: Root.h:238
virtual void CallActionSlot(int, MHEngine *)
Definition: Root.h:132
virtual void Destruction(MHEngine *engine)
Definition: Root.cpp:98
virtual void DeselectItem(int, MHEngine *)
Definition: Root.h:150
virtual void ResetPosition()
Definition: Root.h:172
virtual void Unload(MHEngine *)
Definition: Root.h:95
virtual bool GetRunningStatus()
Definition: Root.h:77
virtual bool IsShared()
Definition: Root.h:55
virtual void SetSpeed(int, MHEngine *)
Definition: Root.h:222
virtual void ContentPreparation(MHEngine *)
Definition: Root.h:67
MHObjectRef m_ObjectReference
Definition: Root.h:248
virtual void SetInteractionStatus(bool, MHEngine *)
Definition: Root.h:226
virtual void Step(int, MHEngine *)
Definition: Root.h:234
virtual bool GetAvailabilityStatus()
Definition: Root.h:76
virtual void SetPaletteRef(const MHObjectRef &, MHEngine *)
Definition: Root.h:166
virtual void GetLineColour(MHRoot *)
Definition: Root.h:196
virtual void Deactivation(MHEngine *engine)
Definition: Root.cpp:86
virtual void DrawLine(int, int, int, int, MHEngine *)
Definition: Root.h:200
virtual void MakeClone(MHRoot *, MHRoot *, MHEngine *)
Definition: Root.h:83
virtual void SetTimer(int, bool, int, MHEngine *)
Definition: Root.h:80
virtual void SetBackgroundColour(const MHColour &, MHEngine *)
Definition: Root.h:115
virtual bool GetInteractionStatus(void)
Definition: Root.h:228
MHRoot(const MHRoot &)
Definition: Root.h:48
virtual MHIngredient * Clone(MHEngine *)
Definition: Root.h:97
virtual void SetFirstItem(int, MHEngine *)
Definition: Root.h:153
virtual void Move(int, MHEngine *)
Definition: Root.h:133
virtual void Stop(MHEngine *)
Definition: Root.h:102
virtual void GetBitmapDecodeOffset(MHRoot *, MHRoot *)
Definition: Root.h:189
virtual void SetCounterPosition(int, MHEngine *)
Definition: Root.h:220
virtual void Preparation(MHEngine *engine)
Definition: Root.cpp:53
virtual void GetListSize(MHRoot *, MHEngine *)
Definition: Root.h:155
virtual void GetLineWidth(MHRoot *)
Definition: Root.h:194
virtual void SelectItem(int, MHEngine *)
Definition: Root.h:149
virtual void SetSliderValue(int, MHEngine *)
Definition: Root.h:235
virtual void SetTransparency(int, MHEngine *)
Definition: Root.h:183
virtual void GetCounterMaxPosition(MHRoot *, MHEngine *)
Definition: Root.h:218
virtual void AddItem(int, MHRoot *, MHEngine *)
Definition: Root.h:139
virtual void GetTextData(MHRoot *, MHEngine *)
Definition: Root.h:113
virtual void ScaleBitmap(int, int, MHEngine *)
Definition: Root.h:185
virtual void DrawArcSector(bool, int, int, int, int, int, int, MHEngine *)
Definition: Root.h:198
virtual void GetListItem(int, const MHObjectRef &, MHEngine *)
Definition: Root.h:145
virtual void GetBoxSize(MHRoot *, MHRoot *)
Definition: Root.h:164
virtual void SetData(const MHContentRef &, bool, int, bool, int, MHEngine *)
Definition: Root.h:91
bool m_fRunning
Definition: Root.h:253
virtual bool GetHighlightStatus(void)
Definition: Root.h:231
virtual void SendToBack(MHEngine *)
Definition: Root.h:169
virtual void SetSliderParameters(int, int, int, MHEngine *)
Definition: Root.h:241
virtual void SetInputRegister(int, MHEngine *)
Definition: Root.h:85
virtual void Activate(bool, MHEngine *)
Definition: Root.h:123
virtual void Run(MHEngine *)
Definition: Root.h:101
virtual void SetData(const MHOctetString &, MHEngine *)
Definition: Root.h:89
MHRoot()=default
virtual void TestVariable(int, const MHUnion &, MHEngine *)
Definition: Root.h:105
virtual void GetFillColour(MHRoot *)
Definition: Root.h:197
virtual const char * ClassName()=0
virtual void PrintMe(FILE *fd, int nTabs) const
Definition: Root.cpp:38
virtual void ScrollItems(int, MHEngine *)
Definition: Root.h:152
virtual void GetVariableValue(MHUnion &, MHEngine *)
Definition: Root.h:107
virtual void SetPosition(int, int, MHEngine *)
Definition: Root.h:158
virtual void GetPosition(MHRoot *, MHRoot *)
Definition: Root.h:160
virtual void GetItemStatus(int, const MHObjectRef &, MHEngine *)
Definition: Root.h:147
virtual void SetBoxSize(int, int, MHEngine *)
Definition: Root.h:162
virtual void SetVideoDecodeOffset(int, int, MHEngine *)
Definition: Root.h:212
virtual void SetLineStyle(int, MHEngine *)
Definition: Root.h:180
virtual void ToggleItem(int, MHEngine *)
Definition: Root.h:151
virtual void PutBehind(const MHRoot *, MHEngine *)
Definition: Root.h:171
bool m_fAvailable
Definition: Root.h:252
virtual MHRoot * FindByObjectNo(int n)
Definition: Root.cpp:116
virtual void GetCounterPosition(MHRoot *, MHEngine *)
Definition: Root.h:216
virtual void SetVariableValue(const MHUnion &)
Definition: Root.h:109
virtual int GetPortion(void)
Definition: Root.h:239
virtual void SetBitmapDecodeOffset(int, int, MHEngine *)
Definition: Root.h:187
virtual void MoveTo(int, MHEngine *)
Definition: Root.h:134
virtual void BringToFront(MHEngine *)
Definition: Root.h:168
virtual void Clear()
Definition: Root.h:193
virtual void SetFontAttributes(const MHOctetString &, MHEngine *)
Definition: Root.h:119
virtual void SetLineWidth(int, MHEngine *)
Definition: Root.h:179
virtual void DrawRectangle(int, int, int, int, MHEngine *)
Definition: Root.h:204
virtual void Preload(MHEngine *)
Definition: Root.h:94
virtual void ScaleVideo(int, int, MHEngine *)
Definition: Root.h:210
virtual void SetLineColour(const MHColour &, MHEngine *)
Definition: Root.h:177
int FILE
Definition: mythburn.py:138