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

Public Member Functions

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 IDriverDependantBitmapCreateDDB (int width, int height, int color_depth, bool opaque=false)=0
 
virtual IDriverDependantBitmapCreateDDBFromBitmap (Shared::Bitmap *bitmap, bool hasAlpha, bool opaque=false)=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 DestroyDDB (IDriverDependantBitmap *bitmap)=0
 
virtual IDriverDependantBitmapGetSharedDDB (uint32_t sprite_id, Shared::Bitmap *bitmap=nullptr, bool hasAlpha=true, bool opaque=false)=0
 
virtual void UpdateSharedDDB (uint32_t sprite_id, Shared::Bitmap *bitmap=nullptr, bool hasAlpha=true, bool opaque=false)=0
 
virtual void ClearSharedDDB (uint32_t sprite_id)=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 SetStageScreen (const Size &sz, int x=0, int y=0)=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 Shared::BitmapGetMemoryBackBuffer ()=0
 
virtual void SetMemoryBackBuffer (Shared::Bitmap *backBuffer)=0
 
virtual Shared::BitmapGetStageBackBuffer (bool mark_dirty=false)=0
 
virtual void SetStageBackBuffer (Shared::Bitmap *backBuffer)=0
 
virtual bool GetStageMatrixes (RenderMatrixes &rm)=0
 
virtual bool RequiresFullRedrawEachFrame ()=0
 
virtual bool HasAcceleratedTransform ()=0
 
virtual bool UsesMemoryBackBuffer ()=0
 

Protected Member Functions

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

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
 

Static Protected Attributes

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: