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;
115 void setStageColor(uint32 stageColor,
bool forceReset =
false);
116 uint32 getStageColor() {
return _stageColor; }
123 void playTransition(uint frame, RenderMode mode, uint16 transDuration, uint8 transArea, uint8 transChunkSize, TransitionType transType,
CastMemberID paletteId);
135 Movie *getCurrentMovie()
const {
return _currentMovie; }
137 DirectorSound *getSoundManager()
const {
return _soundManager; }
139 void setVisible(
bool visible,
bool silent =
false);
142 void ensureMovieIsLoaded();
144 void setWindowType(
int type) { _windowType = type; updateBorderType(); }
145 int getWindowType()
const {
return _windowType; }
146 void setTitleVisible(
bool titleVisible);
149 void resizeInner(
int w,
int h);
151 void setDirty(
bool dirty);
152 void disableBorder();
153 void center(
bool toCenter =
true);
156 void move(
int x,
int y);
158 Datum getStageRect();
159 void setStageRect(
Datum datum);
160 void setModal(
bool modal);
161 bool getModal() {
return _isModal; };
163 Common::String getFileName() {
return _fileName.toString(g_director->_dirSeparator); }
165 void updateBorderType();
168 bool loadNextMovie();
169 void loadNewSharedCast(
Cast *previousSharedCast);
173 LingoState *getLingoState() {
return _lingoState; };
174 LingoState *getLingoPlayState() {
return _lingoPlayState; };
175 uint32 frozenLingoStateCount() {
return _frozenLingoStates.size(); };
176 uint32 frozenLingoRecursionCount();
177 void freezeLingoState();
178 void thawLingoState();
179 void freezeLingoPlayState();
180 bool thawLingoPlayState();
181 LingoState *getLastFrozenLingoState() {
return _frozenLingoStates.empty() ? nullptr : _frozenLingoStates[_frozenLingoStates.size() - 1]; }
182 void moveLingoState(
Window *target);
190 bool processWMEvent(Graphics::WindowClick click,
Common::Event &event);
191 void sendWindowEvent(LEvent event);
195 void testFontScaling();
197 void enqueueAllMovies();
203 void probeResources(
Archive *archive);
204 void loadINIStream();
205 void loadXtrasFromPath();
206 void loadStartMovieXLibs();
212 void setProp(
const Common::String &propName,
const Datum &value,
bool force =
false)
override;
213 bool hasField(
int field)
override;
214 Datum getField(
int field)
override;
215 void setField(
int field,
const Datum &value)
override;
228 bool _newMovieStarted;
229 bool _skipFrameAdvance;
240 Movie *_currentMovie;
Definition: managed_surface.h:51
Definition: director.h:106
Definition: macwindow.h:203
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