ScummVM API documentation
AGS3::AGS::Engine::VideoMemoryGraphicsDriver Class Referenceabstract
Inheritance diagram for AGS3::AGS::Engine::VideoMemoryGraphicsDriver:
AGS3::AGS::Engine::GraphicsDriverBase AGS3::AGS::Engine::IGraphicsDriver

Public Member Functions

bool UsesMemoryBackBuffer () override
 
BitmapGetMemoryBackBuffer () override
 
void SetMemoryBackBuffer (Bitmap *backBuffer) override
 
BitmapGetStageBackBuffer (bool mark_dirty) override
 
void SetStageBackBuffer (Bitmap *backBuffer) override
 
bool GetStageMatrixes (RenderMatrixes &rm) override
 
IDriverDependantBitmapCreateDDB (int width, int height, int color_depth, bool opaque) override=0
 
IDriverDependantBitmapCreateDDBFromBitmap (Bitmap *bitmap, bool hasAlpha, bool opaque=false) override
 
IDriverDependantBitmapGetSharedDDB (uint32_t sprite_id, Bitmap *bitmap, bool hasAlpha, bool opaque) override
 
void ClearSharedDDB (uint32_t sprite_id) override
 
void UpdateSharedDDB (uint32_t sprite_id, Bitmap *bitmap, bool hasAlpha, bool opaque) override
 
void DestroyDDB (IDriverDependantBitmap *ddb) override
 
void SetStageScreen (const Size &sz, int x=0, int y=0) override
 
- Public Member Functions inherited from AGS3::AGS::Engine::GraphicsDriverBase
bool IsModeSet () const override
 
bool IsNativeSizeValid () const override
 
bool IsRenderFrameValid () const override
 
DisplayMode GetDisplayMode () const override
 
Size GetNativeSize () const override
 
Rect GetRenderDestination () const override
 
bool SetVsync (bool enabled) override
 
bool GetVsync () const override
 
void BeginSpriteBatch (const Rect &viewport, const SpriteTransform &transform, Shared::GraphicFlip flip=Shared::kFlip_None, PBitmap surface=nullptr) override
 
void EndSpriteBatch () override
 
void ClearDrawLists () override
 
void SetCallbackForPolling (GFXDRV_CLIENTCALLBACK callback) override
 
void SetCallbackToDrawScreen (GFXDRV_CLIENTCALLBACK callback, GFXDRV_CLIENTCALLBACK post_callback) override
 
void SetCallbackOnInit (GFXDRV_CLIENTCALLBACKINITGFX callback) override
 
void SetCallbackOnSpriteEvt (GFXDRV_CLIENTCALLBACKEVT callback) override
 
- Public Member Functions inherited from AGS3::AGS::Engine::IGraphicsDriver
virtual const char * GetDriverID ()=0
 
virtual const char * GetDriverName ()=0
 
virtual void SetTintMethod (TintMethod method)=0
 
virtual bool SetDisplayMode (const DisplayMode &mode)=0
 
virtual void UpdateDeviceScreen (const Size &screen_size)=0
 
virtual bool SetNativeResolution (const GraphicResolution &native_res)=0
 
virtual bool SetRenderFrame (const Rect &dst_rect)=0
 
virtual int GetDisplayDepthForNativeDepth (int native_color_depth) const =0
 
virtual IGfxModeListGetSupportedModeList (int color_depth)=0
 
virtual bool IsModeSupported (const DisplayMode &mode)=0
 
virtual PGfxFilter GetGraphicsFilter () const =0
 
virtual void ClearRectangle (int x1, int y1, int x2, int y2, RGB *colorToUse)=0
 
virtual int GetCompatibleBitmapFormat (int color_depth)=0
 
virtual IDriverDependantBitmapCreateRenderTargetDDB (int width, int height, int color_depth, bool opaque=false)=0
 
virtual void UpdateDDBFromBitmap (IDriverDependantBitmap *bitmapToUpdate, Shared::Bitmap *bitmap, bool hasAlpha)=0
 
virtual void DrawSprite (int x, int y, IDriverDependantBitmap *bitmap)=0
 
virtual void SetScreenFade (int red, int green, int blue)=0
 
virtual void SetScreenTint (int red, int green, int blue)=0
 
virtual void RenderToBackBuffer ()=0
 
virtual void Render ()=0
 
virtual void Render (int xoff, int yoff, Shared::GraphicFlip flip)=0
 
virtual bool GetCopyOfScreenIntoBitmap (Shared::Bitmap *destination, bool at_native_res, GraphicResolution *want_fmt=nullptr)=0
 
virtual bool DoesSupportVsyncToggle ()=0
 
virtual void RenderSpritesAtScreenResolution (bool enabled, int supersampling=1)=0
 
virtual void FadeOut (int speed, int targetColourRed, int targetColourGreen, int targetColourBlue)=0
 
virtual void FadeIn (int speed, PALETTE p, int targetColourRed, int targetColourGreen, int targetColourBlue)=0
 
virtual void BoxOutEffect (bool blackingOut, int speed, int delay)=0
 
virtual void UseSmoothScaling (bool enabled)=0
 
virtual bool SupportsGammaControl ()=0
 
virtual void SetGamma (int newGamma)=0
 
virtual bool RequiresFullRedrawEachFrame ()=0
 
virtual bool HasAcceleratedTransform ()=0
 

Protected Member Functions

virtual TextureDataCreateTextureData (int width, int height, bool opaque, bool as_render_target=false)=0
 
virtual void UpdateTextureData (TextureData *txdata, Bitmap *bmp, bool opaque, bool hasAlpha)=0
 
virtual IDriverDependantBitmapCreateDDB (std::shared_ptr< TextureData > txdata, int width, int height, int color_depth, bool opaque)=0
 
virtual std::shared_ptr< TextureDataGetTextureData (IDriverDependantBitmap *ddb)=0
 
virtual void DestroyDDBImpl (IDriverDependantBitmap *ddb)=0
 
void SetStageScreen (size_t index, const Size &sz, int x=0, int y=0)
 
BitmapGetStageScreenRaw (size_t index)
 
IDriverDependantBitmapUpdateStageScreenDDB (size_t index, int &x, int &y)
 
void DestroyAllStageScreens ()
 
IDriverDependantBitmapDoSpriteEvtCallback (int evt, int data, int &x, int &y)
 
IDriverDependantBitmapMakeFx (int r, int g, int b)
 
void ResetFxPool ()
 
void DestroyFxPool ()
 
void BitmapToVideoMem (const Bitmap *bitmap, const bool has_alpha, const TextureTile *tile, char *dst_ptr, const int dst_pitch, const bool usingLinearFiltering)
 
void BitmapToVideoMemOpaque (const Bitmap *bitmap, const bool has_alpha, const TextureTile *tile, char *dst_ptr, const int dst_pitch)
 
- Protected Member Functions inherited from AGS3::AGS::Engine::GraphicsDriverBase
virtual void OnInit ()
 
virtual void OnUnInit ()
 
virtual void OnModeSet (const DisplayMode &mode)
 
virtual void OnSetNativeRes (const GraphicResolution &native_res)
 
virtual void OnModeReleased ()
 
virtual void OnSetRenderFrame (const Rect &dst_rect)
 
virtual void OnSetFilter ()
 
virtual bool SetVsyncImpl (bool vsync, bool &vsync_res)
 
virtual void InitSpriteBatch (size_t index, const SpriteBatchDesc &desc)=0
 
virtual size_t GetLastDrawEntryIndex ()=0
 
virtual void ResetAllBatches ()=0
 
void OnScalingChanged ()
 

Protected Attributes

PBitmap _stageVirtualScreen
 
IDriverDependantBitmap_stageVirtualScreenDDB
 
RenderMatrixes _stageMatrixes
 
int _vmem_a_shift_32
 
int _vmem_r_shift_32
 
int _vmem_g_shift_32
 
int _vmem_b_shift_32
 
- Protected Attributes inherited from AGS3::AGS::Engine::GraphicsDriverBase
DisplayMode _mode
 
Rect _srcRect
 
int _srcColorDepth
 
Rect _dstRect
 
Rect _filterRect
 
PlaneScaling _scaling
 
bool _capsVsync = false
 
GFXDRV_CLIENTCALLBACK _pollingCallback
 
GFXDRV_CLIENTCALLBACK _drawScreenCallback
 
GFXDRV_CLIENTCALLBACK _drawPostScreenCallback
 
GFXDRV_CLIENTCALLBACKEVT _spriteEvtCallback
 
GFXDRV_CLIENTCALLBACKINITGFX _initGfxCallback
 
SpriteBatchDescs _spriteBatchDesc
 
std::vector< std::pair< size_t, size_t > > _spriteBatchRange
 
size_t _actSpriteBatch
 
uint32_t _rendSpriteBatch
 

Additional Inherited Members

- Static Protected Attributes inherited from AGS3::AGS::Engine::GraphicsDriverBase
static const intptr_t DRAWENTRY_STAGECALLBACK = 0x0
 
static const intptr_t DRAWENTRY_FADE = 0x1
 
static const intptr_t DRAWENTRY_TINT = 0x2
 

The documentation for this class was generated from the following file: