DDraceNetwork Docs
IGraphicsBackend Class Referenceabstract

#include <graphics_threaded.h>

Inheritance diagram for IGraphicsBackend:
[legend]

Public Types

enum  {
  INITFLAG_FULLSCREEN = 1 << 0 , INITFLAG_VSYNC = 1 << 1 , INITFLAG_RESIZABLE = 1 << 2 , INITFLAG_BORDERLESS = 1 << 3 ,
  INITFLAG_HIGHDPI = 1 << 4 , INITFLAG_DESKTOP_FULLSCREEN = 1 << 5
}
 

Public Member Functions

virtual ~IGraphicsBackend ()=default
 
virtual int Init (const char *pName, int *pScreen, int *pWidth, int *pHeight, int *pRefreshRate, int *pFsaaSamples, int Flags, int *pDesktopWidth, int *pDesktopHeight, int *pCurrentWidth, int *pCurrentHeight, class IStorage *pStorage)=0
 
virtual int Shutdown ()=0
 
virtual uint64_t TextureMemoryUsage () const =0
 
virtual uint64_t BufferMemoryUsage () const =0
 
virtual uint64_t StreamedMemoryUsage () const =0
 
virtual uint64_t StagingMemoryUsage () const =0
 
virtual const TTwGraphicsGpuListGetGpus () const =0
 
virtual void GetVideoModes (CVideoMode *pModes, int MaxModes, int *pNumModes, int HiDPIScale, int MaxWindowWidth, int MaxWindowHeight, int Screen)=0
 
virtual void GetCurrentVideoMode (CVideoMode &CurMode, int HiDPIScale, int MaxWindowWidth, int MaxWindowHeight, int Screen)=0
 
virtual int GetNumScreens () const =0
 
virtual const char * GetScreenName (int Screen) const =0
 
virtual void Minimize ()=0
 
virtual void Maximize ()=0
 
virtual void SetWindowParams (int FullscreenMode, bool IsBorderless)=0
 
virtual bool SetWindowScreen (int Index)=0
 
virtual bool UpdateDisplayMode (int Index)=0
 
virtual int GetWindowScreen ()=0
 
virtual int WindowActive ()=0
 
virtual int WindowOpen ()=0
 
virtual void SetWindowGrab (bool Grab)=0
 
virtual bool ResizeWindow (int w, int h, int RefreshRate)=0
 
virtual void GetViewportSize (int &w, int &h)=0
 
virtual void NotifyWindow ()=0
 
virtual void WindowDestroyNtf (uint32_t WindowId)=0
 
virtual void WindowCreateNtf (uint32_t WindowId)=0
 
virtual void RunBuffer (CCommandBuffer *pBuffer)=0
 
virtual void RunBufferSingleThreadedUnsafe (CCommandBuffer *pBuffer)=0
 
virtual bool IsIdle () const =0
 
virtual void WaitForIdle ()=0
 
virtual bool GetDriverVersion (EGraphicsDriverAgeType DriverAgeType, int &Major, int &Minor, int &Patch, const char *&pName, EBackendType BackendType)=0
 
virtual bool IsConfigModernAPI ()
 
virtual bool UseTrianglesAsQuad ()
 
virtual bool HasTileBuffering ()
 
virtual bool HasQuadBuffering ()
 
virtual bool HasTextBuffering ()
 
virtual bool HasQuadContainerBuffering ()
 
virtual bool Uses2DTextureArrays ()
 
virtual bool HasTextureArraysSupport ()
 
virtual const char * GetErrorString ()
 
virtual const char * GetVendorString ()=0
 
virtual const char * GetVersionString ()=0
 
virtual const char * GetRendererString ()=0
 
virtual TGLBackendReadPresentedImageDataGetReadPresentedImageDataFuncUnsafe ()=0
 
virtual bool GetWarning (std::vector< std::string > &WarningStrings)=0
 
virtual bool ShowMessageBox (unsigned Type, const char *pTitle, const char *pMsg)=0
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
INITFLAG_FULLSCREEN 
INITFLAG_VSYNC 
INITFLAG_RESIZABLE 
INITFLAG_BORDERLESS 
INITFLAG_HIGHDPI 
INITFLAG_DESKTOP_FULLSCREEN 

Constructor & Destructor Documentation

◆ ~IGraphicsBackend()

virtual IGraphicsBackend::~IGraphicsBackend ( )
virtualdefault

Member Function Documentation

◆ BufferMemoryUsage()

virtual uint64_t IGraphicsBackend::BufferMemoryUsage ( ) const
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetCurrentVideoMode()

virtual void IGraphicsBackend::GetCurrentVideoMode ( CVideoMode CurMode,
int  HiDPIScale,
int  MaxWindowWidth,
int  MaxWindowHeight,
int  Screen 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetDriverVersion()

virtual bool IGraphicsBackend::GetDriverVersion ( EGraphicsDriverAgeType  DriverAgeType,
int &  Major,
int &  Minor,
int &  Patch,
const char *&  pName,
EBackendType  BackendType 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetErrorString()

virtual const char * IGraphicsBackend::GetErrorString ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ GetGpus()

virtual const TTwGraphicsGpuList & IGraphicsBackend::GetGpus ( ) const
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetNumScreens()

virtual int IGraphicsBackend::GetNumScreens ( ) const
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetReadPresentedImageDataFuncUnsafe()

virtual TGLBackendReadPresentedImageData & IGraphicsBackend::GetReadPresentedImageDataFuncUnsafe ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetRendererString()

virtual const char * IGraphicsBackend::GetRendererString ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetScreenName()

virtual const char * IGraphicsBackend::GetScreenName ( int  Screen) const
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetVendorString()

virtual const char * IGraphicsBackend::GetVendorString ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetVersionString()

virtual const char * IGraphicsBackend::GetVersionString ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetVideoModes()

virtual void IGraphicsBackend::GetVideoModes ( CVideoMode pModes,
int  MaxModes,
int *  pNumModes,
int  HiDPIScale,
int  MaxWindowWidth,
int  MaxWindowHeight,
int  Screen 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetViewportSize()

virtual void IGraphicsBackend::GetViewportSize ( int &  w,
int &  h 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ GetWarning()

virtual bool IGraphicsBackend::GetWarning ( std::vector< std::string > &  WarningStrings)
pure virtual

Implemented in CGraphicsBackend_Threaded.

◆ GetWindowScreen()

virtual int IGraphicsBackend::GetWindowScreen ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ HasQuadBuffering()

virtual bool IGraphicsBackend::HasQuadBuffering ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ HasQuadContainerBuffering()

virtual bool IGraphicsBackend::HasQuadContainerBuffering ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ HasTextBuffering()

virtual bool IGraphicsBackend::HasTextBuffering ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ HasTextureArraysSupport()

virtual bool IGraphicsBackend::HasTextureArraysSupport ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ HasTileBuffering()

virtual bool IGraphicsBackend::HasTileBuffering ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ Init()

virtual int IGraphicsBackend::Init ( const char *  pName,
int *  pScreen,
int *  pWidth,
int *  pHeight,
int *  pRefreshRate,
int *  pFsaaSamples,
int  Flags,
int *  pDesktopWidth,
int *  pDesktopHeight,
int *  pCurrentWidth,
int *  pCurrentHeight,
class IStorage pStorage 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ IsConfigModernAPI()

virtual bool IGraphicsBackend::IsConfigModernAPI ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ IsIdle()

virtual bool IGraphicsBackend::IsIdle ( ) const
pure virtual

Implemented in CGraphicsBackend_Threaded.

◆ Maximize()

virtual void IGraphicsBackend::Maximize ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ Minimize()

virtual void IGraphicsBackend::Minimize ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ NotifyWindow()

virtual void IGraphicsBackend::NotifyWindow ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ ResizeWindow()

virtual bool IGraphicsBackend::ResizeWindow ( int  w,
int  h,
int  RefreshRate 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ RunBuffer()

virtual void IGraphicsBackend::RunBuffer ( CCommandBuffer pBuffer)
pure virtual

Implemented in CGraphicsBackend_Threaded.

◆ RunBufferSingleThreadedUnsafe()

virtual void IGraphicsBackend::RunBufferSingleThreadedUnsafe ( CCommandBuffer pBuffer)
pure virtual

Implemented in CGraphicsBackend_Threaded.

◆ SetWindowGrab()

virtual void IGraphicsBackend::SetWindowGrab ( bool  Grab)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ SetWindowParams()

virtual void IGraphicsBackend::SetWindowParams ( int  FullscreenMode,
bool  IsBorderless 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ SetWindowScreen()

virtual bool IGraphicsBackend::SetWindowScreen ( int  Index)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ ShowMessageBox()

virtual bool IGraphicsBackend::ShowMessageBox ( unsigned  Type,
const char *  pTitle,
const char *  pMsg 
)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ Shutdown()

virtual int IGraphicsBackend::Shutdown ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ StagingMemoryUsage()

virtual uint64_t IGraphicsBackend::StagingMemoryUsage ( ) const
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ StreamedMemoryUsage()

virtual uint64_t IGraphicsBackend::StreamedMemoryUsage ( ) const
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ TextureMemoryUsage()

virtual uint64_t IGraphicsBackend::TextureMemoryUsage ( ) const
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ UpdateDisplayMode()

virtual bool IGraphicsBackend::UpdateDisplayMode ( int  Index)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ Uses2DTextureArrays()

virtual bool IGraphicsBackend::Uses2DTextureArrays ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ UseTrianglesAsQuad()

virtual bool IGraphicsBackend::UseTrianglesAsQuad ( )
inlinevirtual

Reimplemented in CGraphicsBackend_SDL_GL.

◆ WaitForIdle()

virtual void IGraphicsBackend::WaitForIdle ( )
pure virtual

Implemented in CGraphicsBackend_Threaded.

◆ WindowActive()

virtual int IGraphicsBackend::WindowActive ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ WindowCreateNtf()

virtual void IGraphicsBackend::WindowCreateNtf ( uint32_t  WindowId)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ WindowDestroyNtf()

virtual void IGraphicsBackend::WindowDestroyNtf ( uint32_t  WindowId)
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ WindowOpen()

virtual int IGraphicsBackend::WindowOpen ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.


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