22#ifndef TITANIC_AVI_SURFACE_H
23#define TITANIC_AVI_SURFACE_H
25#include "common/stream.h"
26#include "video/avi_decoder.h"
27#include "graphics/managed_surface.h"
28#include "titanic/core/resource_key.h"
29#include "titanic/support/movie_range_info.h"
38 MOVIE_STOP_PREVIOUS = 2,
39 MOVIE_NOTIFY_OBJECT = 4,
41 MOVIE_WAIT_FOR_FINISH = 0x10
56 uint32
read(
void *dataPtr, uint32 dataSize)
override;
57 bool eos()
const override {
return _innerStream->
eos(); }
58 int64
pos()
const override {
return _innerStream->
pos(); }
59 int64
size()
const override {
return _innerStream->
size(); }
60 bool seek(int64 offset,
int whence = SEEK_SET)
override {
61 return _innerStream->
seek(offset, whence);
63 bool skip(uint32 offset)
override {
64 return _innerStream->
skip(offset);
66 char *
readLine(
char *s,
size_t bufSize,
bool handleCR =
true)
override {
67 return _innerStream->
readLine(s, bufSize, handleCR);
70 return _innerStream->
readLine(handleCR);
95 return static_cast<AVIVideoTrack *
>(_transparencyTrack.track);
108 int _currentFrame, _priorFrame;
109 uint32 _priorFrameTime;
120 void setupDecompressor();
161 virtual bool play(
int startFrame,
int endFrame,
int initialFrame, uint flags,
CGameObject *obj);
241 return &_movieRangeInfo;
int64 pos() const override
int64 size() const override
bool seek(int64 offs, int whence=SEEK_SET) override
bool eos() const override
Definition: rational.h:40
virtual char * readLine(char *s, size_t bufSize, bool handleCR=true)
virtual bool skip(uint32 offset)
Definition: stream.h:793
Definition: managed_surface.h:51
Definition: avi_surface.h:75
AVIVideoTrack * getTransparencyTrack()
Definition: avi_surface.h:94
Video::AVIDecoder::AVIVideoTrack & getVideoTrack(uint idx)
uint videoTrackCount() const
Definition: avi_surface.h:84
Definition: avi_surface.h:99
virtual void setPlaying(bool playingFlag)
Definition: avi_surface.h:188
Graphics::ManagedSurface * duplicateTransparency() const
Graphics::ManagedSurface * getSecondarySurface()
virtual bool play(int startFrame, int endFrame, uint flags, CGameObject *obj)
bool addEvent(int *frameNumber, CGameObject *obj)
virtual void seekToFrame(uint frameNumber)
void setVideoSurface(CVideoSurface *surface)
void setFrame(int frameNumber)
const CMovieRangeInfoList * getMovieRangeInfo() const
Definition: avi_surface.h:240
virtual bool handleEvents(CMovieEventList &events)
bool isReversed() const
Definition: avi_surface.h:268
virtual bool isPlaying() const
Definition: avi_surface.h:181
virtual bool play(uint flags, CGameObject *obj)
bool playCutscene(const Rect &r, uint startFrame, uint endFrame)
void setFrameRate(double rate)
int getFrame() const
Definition: avi_surface.h:220
virtual bool play(int startFrame, int endFrame, int initialFrame, uint flags, CGameObject *obj)
bool startAtFrame(int frameNumber)
Definition: game_object.h:79
Definition: movie_event.h:56
Definition: movie_range_info.h:76
Definition: resource_key.h:30
Definition: sound_manager.h:42
Definition: video_surface.h:43
Definition: simple_file.h:41
Definition: avi_surface.h:49
bool seek(int64 offset, int whence=SEEK_SET) override
Definition: avi_surface.h:60
Common::String readLine(bool handleCR=true) override
Definition: avi_surface.h:69
uint32 read(void *dataPtr, uint32 dataSize) override
char * readLine(char *s, size_t bufSize, bool handleCR=true) override
Definition: avi_surface.h:66
int64 pos() const override
Definition: avi_surface.h:58
bool skip(uint32 offset) override
Definition: avi_surface.h:63
bool eos() const override
Definition: avi_surface.h:57
int64 size() const override
Definition: avi_surface.h:59
Definition: avi_decoder.h:204
Definition: avi_decoder.h:65
void pauseVideo(bool pause)