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/mediascript/scriptconstants.h" 36 kInvalidMovieBlit = 0,
37 kUncompressedMovieBlit = 1,
38 kUncompressedDeltaMovieBlit = 2,
39 kCompressedDeltaMovieBlit = 3,
47 uint _keyframeEndInMilliseconds = 0;
50 enum MovieSectionType {
51 kMovieRootSection = 0x06a8,
52 kMovieImageDataSection = 0x06a9,
53 kMovieFrameDataSection = 0x06aa,
54 kMovieChunkMarkerSection = 0x06ab
62 uint startInMilliseconds = 0;
63 uint endInMilliseconds = 0;
66 MovieBlitType blitType = kInvalidMovieBlit;
68 uint keyframeIndex = 0;
69 bool keepAfterEnd =
false;
89 virtual bool isVisible()
const override;
104 virtual void readChunk(
Chunk &chunk)
override;
112 void readImageData(
Chunk &chunk);
113 void readFrameData(
Chunk &chunk);
120 virtual void readChunk(
Chunk &chunk)
override;
133 virtual void readChunk(
Chunk &chunk)
override;
134 virtual void loadIsComplete()
override;
135 virtual void readParameter(
Chunk &chunk, ActorHeaderSectionType paramType)
override;
137 virtual void process()
override;
141 virtual void invalidateLocalBounds()
override;
142 bool isLayerInSeparateZPlane(uint layerId);
147 uint _chunkCount = 0;
148 double _frameRate = 0;
150 bool _shouldCache =
false;
151 bool _isPlaying =
false;
152 bool _hasStill =
false;
165 void setVisibility(
bool visibility);
166 void updateFrameState();
168 void decompressIntoAuxImage(
MovieFrame *frame);
170 void parseMovieHeader(
Chunk &chunk);
171 void parseMovieChunkMarker(
Chunk &chunk);
Definition: graphics.h:100