22 #ifndef MEDIASTATION_MOVIE_H 23 #define MEDIASTATION_MOVIE_H 25 #include "common/array.h" 27 #include "mediastation/actor.h" 28 #include "mediastation/audio.h" 29 #include "mediastation/datafile.h" 30 #include "mediastation/bitmap.h" 31 #include "mediastation/clients.h" 32 #include "mediastation/mediascript/scriptconstants.h" 37 kInvalidMovieBlit = 0,
38 kUncompressedMovieBlit = 1,
39 kUncompressedDeltaMovieBlit = 2,
40 kCompressedDeltaMovieBlit = 3,
48 uint _keyframeEndInMilliseconds = 0;
51 enum MovieSectionType {
52 kMovieRootSection = 0x06a8,
53 kMovieImageDataSection = 0x06a9,
54 kMovieFrameDataSection = 0x06aa,
55 kMovieChunkMarkerSection = 0x06ab
63 uint startInMilliseconds = 0;
64 uint endInMilliseconds = 0;
67 MovieBlitType blitType = kInvalidMovieBlit;
69 uint keyframeIndex = 0;
70 bool keepAfterEnd =
false;
90 virtual bool isVisible()
const override;
105 virtual void readChunk(
Chunk &chunk)
override;
113 void readImageData(
Chunk &chunk);
114 void readFrameData(
Chunk &chunk);
122 virtual void readChunk(
Chunk &chunk)
override;
123 virtual void soundPlayStateChanged(SoundPlayState state, SoundStopReason why)
override;
140 virtual void readChunk(
Chunk &chunk)
override;
141 virtual void loadIsComplete()
override;
142 virtual void readParameter(
Chunk &chunk, ActorHeaderSectionType paramType)
override;
144 virtual bool isActive()
const override {
return _isPlaying; }
145 virtual bool giveUpDevice()
override;
147 virtual PreDisplaySyncState preDisplaySync()
override;
148 virtual void onEvent(
const ActorEvent &event)
override;
149 virtual void timerEvent(
const TimerEvent &event)
override;
153 virtual void invalidateLocalBounds()
override;
154 bool isLayerInSeparateZPlane(uint layerId);
159 uint _chunkCount = 0;
160 double _frameRate = 0;
161 uint _disableScreenAutoUpdateToken = 0;
163 bool _shouldCache =
false;
164 bool _isPlaying =
false;
165 bool _hasStill =
false;
175 bool grantStreamDevice();
176 void releaseStreamDevice();
178 void timeStop(
bool isMovieEnd);
180 void setVisibility(
bool visibility);
181 void updateFrameState();
183 void decompressIntoAuxImage(
MovieFrame *frame);
185 void parseMovieHeader(
Chunk &chunk);
186 void parseMovieChunkMarker(
Chunk &chunk);
Definition: graphics.h:122