22#ifndef TITANIC_VIDEO_SURFACE_H
23#define TITANIC_VIDEO_SURFACE_H
25#include "common/scummsys.h"
26#include "common/array.h"
27#include "graphics/managed_surface.h"
28#include "titanic/support/font.h"
29#include "titanic/support/direct_draw.h"
30#include "titanic/support/movie.h"
31#include "titanic/support/movie_range_info.h"
32#include "titanic/support/rect.h"
33#include "titanic/support/transparency_surface.h"
34#include "titanic/core/list.h"
35#include "titanic/core/resource_key.h"
47 static byte _palette1[32][32];
48 static byte _palette2[32][32];
53 static void setupPalette(
byte palette[32][32],
byte val);
59 setupPalette(_palette1, 0xff);
66 const Rect *subRect =
nullptr,
const Point *destPos =
nullptr);
80 static int _videoSurfaceCounter;
86 DisposeAfterUse::Flag _freeTransparencySurface;
96 TransparencyMode _transparencyMode;
178 virtual void recreate(
int width,
int height,
int bpp = 16) = 0;
183 virtual void resize(
int width,
int height,
int bpp = 16) = 0;
262 virtual void flipVertically(
bool needsLock =
true) = 0;
319 return _transparencySurface ? &_transparencySurface->
rawSurface() :
nullptr;
349 void copyPixel(uint16 *destP,
const uint16 *srcP,
byte alpha,
425 void recreate(
int width,
int height,
int bpp = 16)
override;
430 void resize(
int width,
int height,
int bpp = 16)
override;
508 void flipVertically(
bool needsLock =
true)
override;
Definition: managed_surface.h:51
const Surface & rawSurface() const
Definition: managed_surface.h:195
void * getPixels()
Definition: managed_surface.h:271
Definition: game_object.h:79
Definition: image_decoders.h:33
Definition: movie_range_info.h:76
Definition: resource_key.h:30
Definition: screen_manager.h:49
Definition: image_decoders.h:41
Definition: video_surface.h:43
virtual int getHeight()=0
virtual void loadMovie(const CResourceKey &key, bool destroyFlag=false)=0
const Graphics::Surface * getTransparencySurface() const
Definition: video_surface.h:318
virtual void loadJPEG(const CResourceKey &key)=0
Graphics::ManagedSurface * getRawSurface()
Definition: video_surface.h:332
virtual void playMovie(uint flags, CGameObject *obj)=0
static void setup()
Definition: video_surface.h:58
virtual void recreate(int width, int height, int bpp=16)=0
virtual void loadTarga(const CString &name)=0
virtual void playMovie(uint startFrame, uint endFrame, uint initialFrame, uint flags, CGameObject *obj)=0
virtual void detachSurface()=0
virtual void stopMovie()=0
virtual int getPixelDepth()=0
virtual void resize(int width, int height, int bpp=16)=0
virtual const CMovieRangeInfoList * getMovieRangeInfo() const =0
virtual void playMovie(uint startFrame, uint endFrame, uint flags, CGameObject *obj)=0
virtual uint16 getPixel(const Common::Point &pt)=0
uint getTransparencyColor()
virtual void setPixel(const Point &pt, uint pixel)=0
virtual void shiftColors()=0
virtual bool hasSurface()=0
virtual uint16 * getBasePtr(int x, int y)=0
uint16 * getPixels()
Definition: video_surface.h:326
virtual void loadResource(const CResourceKey &key)=0
virtual Graphics::ManagedSurface * dupMovieTransparency() const =0
virtual void setMovieFrame(uint frameNumber)=0
void setTransparencySurface(Graphics::ManagedSurface *surface)
Definition: video_surface.h:313
void blitFrom(const Point &destPos, const Graphics::Surface *src)
virtual int freeSurface()
Definition: video_surface.h:293
virtual bool loadIfReady()=0
void blitFrom(const Point &destPos, CVideoSurface *src, const Rect *srcRect=nullptr)
void copyPixel(uint16 *destP, const uint16 *srcP, byte alpha, const Graphics::PixelFormat &srcFormat, bool isAlpha)
virtual void setMovieFrameRate(double rate)=0
virtual void transPixelate()=0
void setSurface(CScreenManager *screenManager, DirectDrawSurface *surface)
virtual void loadTarga(const CResourceKey &key)=0
void load(SimpleFile *file) override
Definition: video_surface.h:109
virtual void addMovieEvent(int eventId, CGameObject *obj)=0
Definition: direct_draw_surface.h:45
void load(SimpleFile *file) override
Definition: video_surface.h:353
uint16 getPixel(const Point &pt) override
void stopMovie() override
void setMovieFrameRate(double rate) override
const CMovieRangeInfoList * getMovieRangeInfo() const override
void playMovie(uint startFrame, uint endFrame, uint flags, CGameObject *obj) override
void transPixelate() override
Graphics::ManagedSurface * dupMovieTransparency() const override
void loadResource(const CResourceKey &key) override
void shiftColors() override
bool loadIfReady() override
void setPixel(const Point &pt, uint pixel) override
int getPixelDepth() override
void loadJPEG(const CResourceKey &key) override
void detachSurface() override
void playMovie(uint startFrame, uint endFrame, uint initialFrame, uint flags, CGameObject *obj) override
void playMovie(uint flags, CGameObject *obj) override
int freeSurface() override
void recreate(int width, int height, int bpp=16) override
void loadMovie(const CResourceKey &key, bool destroyFlag=false) override
uint16 * getBasePtr(int x, int y) override
bool hasSurface() override
void loadTarga(const CResourceKey &key) override
void loadTarga(const CString &name) override
void resize(int width, int height, int bpp=16) override
void setMovieFrame(uint frameNumber) override
void addMovieEvent(int frameNumber, CGameObject *obj) override
Definition: simple_file.h:49