22 #ifndef DIRECTOR_STAGE_H 23 #define DIRECTOR_STAGE_H 25 #include "graphics/macgui/macwindow.h" 27 #include "director/lingo/lingo-object.h" 36 class MacWindowManager;
64 const byte *sourcePal;
65 uint16 sourcePalLength;
66 const byte *targetPal;
67 uint16 targetPalLength;
80 xStepSize = yStepSize = 0;
89 TransParams(uint16 d, uint16 a, uint16 c, TransitionType t) :
90 duration(d), area(a), chunkSize(c), type(t), tempPal() {
96 xStepSize = yStepSize = 0;
116 void setStageColor(uint32 stageColor,
bool forceReset =
false);
117 uint32 getStageColor() {
return _stageColor; }
124 void playTransition(uint frame, RenderMode mode, uint16 transDuration, uint8 transArea, uint8 transChunkSize, TransitionType transType,
CastMemberID paletteId);
136 Movie *getCurrentMovie()
const {
return _currentMovie; }
138 DirectorSound *getSoundManager()
const {
return _soundManager; }
140 void setVisible(
bool visible,
bool silent =
false);
143 void ensureMovieIsLoaded();
145 void setWindowType(
int type) { _windowType = type; updateBorderType(); }
146 int getWindowType()
const {
return _windowType; }
147 void setTitleVisible(
bool titleVisible);
150 void resizeInner(
int w,
int h);
152 void setDirty(
bool dirty);
153 void disableBorder();
154 void center(
bool toCenter =
true);
157 void move(
int x,
int y);
159 Datum getStageRect();
160 void setStageRect(
Datum datum);
161 void setModal(
bool modal);
162 bool getModal() {
return _isModal; };
164 Common::String getFileName() {
return _fileName.toString(g_director->_dirSeparator); }
166 void updateBorderType();
169 bool loadNextMovie();
170 void loadNewSharedCast(
Cast *previousSharedCast);
174 LingoState *getLingoState() {
return _lingoState; };
175 LingoState *getLingoPlayState() {
return _lingoPlayState; };
176 uint32 frozenLingoStateCount() {
return _frozenLingoStates.size(); };
177 uint32 frozenLingoRecursionCount();
178 void freezeLingoState();
179 void thawLingoState();
180 void freezeLingoPlayState();
181 bool requeueLingoPlayState();
182 LingoState *getLastFrozenLingoState() {
return _frozenLingoStates.empty() ? nullptr : _frozenLingoStates[_frozenLingoStates.size() - 1]; }
183 void moveLingoState(
Window *target);
191 bool processWMEvent(Graphics::WindowClick click,
Common::Event &event);
192 void sendWindowEvent(LEvent event);
196 void testFontScaling();
198 void enqueueAllMovies();
204 void probeResources(
Archive *archive);
205 void loadINIStream();
206 void loadXtrasFromPath();
207 void loadStartMovieXLibs();
213 void setProp(
const Common::String &propName,
const Datum &value,
bool force =
false)
override;
214 bool hasField(
int field)
override;
215 Datum getField(
int field)
override;
216 void setField(
int field,
const Datum &value)
override;
228 bool _newMovieStarted;
229 bool _newMovieFirstDraw;
230 bool _skipFrameAdvance;
242 Movie *_currentMovie;
Definition: managed_surface.h:51
Definition: director.h:106
Definition: macwindow.h:205
Definition: macwindowmanager.h:147
Definition: lingo-object.h:71
Definition: algorithm.h:29
Definition: formatinfo.h:28
Out move(In first, In last, Out dst)
Definition: algorithm.h:109
Definition: director.h:157
Definition: director.h:350