DDraceNetwork Documentation
Loading...
Searching...
No Matches
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_DESKTOP_FULLSCREEN = 1 << 4
}
 

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, float HiDPIScale, int MaxWindowWidth, int MaxWindowHeight, int Screen)=0
 
virtual void GetCurrentVideoMode (CVideoMode &CurMode, float HiDPIScale, int MaxWindowWidth, int MaxWindowHeight, int Screen)=0
 
virtual int GetNumScreens () const =0
 
virtual const charGetScreenName (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 bool IsScreenKeyboardShown ()=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 charGetErrorString ()
 
virtual const charGetVendorString ()=0
 
virtual const charGetVersionString ()=0
 
virtual const charGetRendererString ()=0
 
virtual TGLBackendReadPresentedImageDataGetReadPresentedImageDataFuncUnsafe ()=0
 
virtual bool GetWarning (std::vector< std::string > &WarningStrings)=0
 
virtual std::optional< intShowMessageBox (const IGraphics::CMessageBox &MessageBox)=0
 

Member Enumeration Documentation

◆ anonymous enum

Enumerator
INITFLAG_FULLSCREEN 
INITFLAG_VSYNC 
INITFLAG_RESIZABLE 
INITFLAG_BORDERLESS 
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,
float  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,
float  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.

◆ IsScreenKeyboardShown()

virtual bool IGraphicsBackend::IsScreenKeyboardShown ( )
pure virtual

Implemented in CGraphicsBackend_SDL_GL.

◆ 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 std::optional< int > IGraphicsBackend::ShowMessageBox ( const IGraphics::CMessageBox MessageBox)
pure virtual

◆ 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: