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; }
139 void setCurrentMovie(
Movie *movie) { _currentMovie = movie; }
144 Window *stage = g_director->getStage();
145 if (stage && stage !=
this)
146 return stage->getSoundManager();
147 return _soundManager;
150 void setVisible(
bool visible,
bool silent =
false);
153 void ensureMovieIsLoaded();
155 void setWindowType(
int type) { _windowType = type; updateBorderType(); }
156 int getWindowType()
const {
return _windowType; }
157 void setTitleVisible(
bool titleVisible);
160 void resizeInner(
int w,
int h);
162 void setDirty(
bool dirty);
163 void disableBorder();
164 void center(
bool toCenter =
true);
167 void move(
int x,
int y);
169 Datum getStageRect();
170 void setStageRect(
Datum datum);
171 void setModal(
bool modal);
172 bool getModal() {
return _isModal; };
174 Common::String getFileName() {
return _fileName.toString(g_director->_dirSeparator); }
176 void updateBorderType();
179 bool loadNextMovie();
180 void loadNewSharedCast(
Cast *previousSharedCast);
184 LingoState *getLingoState() {
return _lingoState; };
185 LingoState *getLingoPlayState() {
return _lingoPlayState; };
186 uint32 frozenLingoStateCount() {
return _frozenLingoStates.size(); };
187 uint32 frozenLingoRecursionCount();
188 void freezeLingoState();
189 void thawLingoState();
190 void freezeLingoPlayState();
191 bool requeueLingoPlayState();
192 LingoState *getLastFrozenLingoState() {
return _frozenLingoStates.empty() ? nullptr : _frozenLingoStates[_frozenLingoStates.size() - 1]; }
193 void moveLingoState(
Window *target);
199 SWAP(_lingoState, state);
200 SWAP(_frozenLingoStates, frozen);
209 bool processWMEvent(Graphics::WindowClick click,
Common::Event &event);
210 void sendWindowEvent(LEvent event);
214 void testFontScaling();
216 void enqueueAllMovies();
222 void probeResources(
Archive *archive);
223 void loadINIStream();
224 void loadXtrasFromPath();
225 void loadStartMovieXLibs();
231 void setProp(
const Common::String &propName,
const Datum &value,
bool force =
false)
override;
232 bool hasField(
int field)
override;
233 Datum getField(
int field)
override;
234 void setField(
int field,
const Datum &value)
override;
246 bool _newMovieStarted;
247 bool _newMovieFirstDraw;
248 bool _skipFrameAdvance;
250 bool _playbackPaused;
261 Movie *_currentMovie;
Definition: managed_surface.h:51
Definition: director.h:107
Definition: macwindow.h:205
void SWAP(T &a, T &b)
Definition: util.h:467
Definition: macwindowmanager.h:149
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:158
Definition: director.h:360