DDraceNetwork Documentation
Loading...
Searching...
No Matches
IGraphics Class Referenceabstract

#include <graphics.h>

Inheritance diagram for IGraphics:
[legend]
Collaboration diagram for IGraphics:
[legend]

Classes

class  CTextureHandle
class  CLineItem
class  CLineItemBatch
struct  CFreeformItem
struct  CQuadItem
struct  SRenderSpriteInfo
struct  CColorVertex
class  CMessageBoxButton
class  CMessageBox

Public Types

enum  { TEXLOAD_TO_3D_TEXTURE = 1 << 0 , TEXLOAD_TO_2D_ARRAY_TEXTURE = 1 << 1 , TEXLOAD_NO_2D_TEXTURE = 1 << 2 }
enum  EBufferObjectCreateFlags { BUFFER_OBJECT_CREATE_FLAGS_ONE_TIME_USE_BIT = 1 << 0 }
enum  { SPRITE_FLAG_FLIP_Y = 1 , SPRITE_FLAG_FLIP_X = 2 }
enum  {
  CORNER_NONE = 0 , CORNER_TL = 1 , CORNER_TR = 2 , CORNER_BL = 4 ,
  CORNER_BR = 8 , CORNER_T = CORNER_TL | CORNER_TR , CORNER_B = CORNER_BL | CORNER_BR , CORNER_R = CORNER_TR | CORNER_BR ,
  CORNER_L = CORNER_TL | CORNER_BL , CORNER_ALL = CORNER_T | CORNER_B
}
enum class  EMessageBoxType { ERROR , WARNING , INFO }

Public Member Functions

int ScreenWidth () const
int ScreenHeight () const
float ScreenAspect () const
float ScreenHiDPIScale () const
int WindowWidth () const
int WindowHeight () const
virtual void WarnPngliteIncompatibleImages (bool Warn)=0
virtual void SetWindowParams (int FullscreenMode, bool IsBorderless)=0
virtual bool SetWindowScreen (int Index, bool MoveToCenter)=0
virtual bool SwitchWindowScreen (int Index, bool MoveToCenter)=0
virtual bool SetVSync (bool State)=0
virtual bool SetMultiSampling (uint32_t ReqMultiSamplingCount, uint32_t &MultiSamplingCountBackend)=0
virtual int GetWindowScreen ()=0
virtual void Move (int x, int y)=0
virtual bool Resize (int w, int h, int RefreshRate)=0
virtual void ResizeToScreen ()=0
virtual void GotResized (int w, int h, int RefreshRate)=0
virtual void UpdateViewport (int X, int Y, int W, int H, bool ByResize)=0
virtual bool IsScreenKeyboardShown ()=0
virtual void AddWindowResizeListener (WINDOW_RESIZE_FUNC pFunc)=0
virtual void AddWindowPropChangeListener (WINDOW_PROPS_CHANGED_FUNC pFunc)=0
virtual void WindowDestroyNtf (uint32_t WindowId)=0
virtual void WindowCreateNtf (uint32_t WindowId)=0
virtual void Clear (float r, float g, float b, bool ForceClearNow=false)=0
virtual void ClipEnable (int x, int y, int w, int h)=0
virtual void ClipDisable ()=0
virtual void MapScreen (float TopLeftX, float TopLeftY, float BottomRightX, float BottomRightY)=0
void CalcScreenParams (float Aspect, float Zoom, float *pWidth, float *pHeight) const
void MapScreenToWorld (float CenterX, float CenterY, float ParallaxX, float ParallaxY, float ParallaxZoom, float OffsetX, float OffsetY, float Aspect, float Zoom, float *pPoints) const
void MapScreenToInterface (float CenterX, float CenterY, float Zoom=1.0f)
virtual void GetScreen (float *pTopLeftX, float *pTopLeftY, float *pBottomRightX, float *pBottomRightY) const =0
virtual void BlendNone ()=0
virtual void BlendNormal ()=0
virtual void BlendAdditive ()=0
virtual void WrapNormal ()=0
virtual void WrapClamp ()=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 bool LoadPng (CImageInfo &Image, const char *pFilename, int StorageType)=0
virtual bool LoadPng (CImageInfo &Image, const uint8_t *pData, size_t DataSize, const char *pContextName)=0
virtual bool CheckImageDivisibility (const char *pContextName, CImageInfo &Image, int DivX, int DivY, bool AllowResize)=0
virtual bool IsImageFormatRgba (const char *pContextName, const CImageInfo &Image)=0
virtual void UnloadTexture (CTextureHandle *pIndex)=0
virtual CTextureHandle LoadTextureRaw (const CImageInfo &Image, int Flags, const char *pTexName=nullptr)=0
virtual CTextureHandle LoadTextureRawMove (CImageInfo &Image, int Flags, const char *pTexName=nullptr)=0
virtual CTextureHandle LoadTexture (const char *pFilename, int StorageType, int Flags=0)=0
virtual void TextureSet (CTextureHandle Texture)=0
void TextureClear ()
virtual bool LoadTextTextures (size_t Width, size_t Height, CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture, uint8_t *pTextData, uint8_t *pTextOutlineData)=0
virtual bool UnloadTextTextures (CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture)=0
virtual bool UpdateTextTexture (CTextureHandle TextureId, int x, int y, size_t Width, size_t Height, uint8_t *pData, bool IsMovedPointer)=0
virtual CTextureHandle LoadSpriteTexture (const CImageInfo &FromImageInfo, const struct CDataSprite *pSprite)=0
virtual bool IsImageSubFullyTransparent (const CImageInfo &FromImageInfo, int x, int y, int w, int h)=0
virtual bool IsSpriteTextureFullyTransparent (const CImageInfo &FromImageInfo, const struct CDataSprite *pSprite)=0
virtual void FlushVertices (bool KeepVertices=false)=0
virtual void FlushVerticesTex3D ()=0
virtual void RenderTileLayer (int BufferContainerIndex, const ColorRGBA &Color, char **pOffsets, unsigned int *pIndicedVertexDrawNum, size_t NumIndicesOffset)=0
virtual void RenderBorderTiles (int BufferContainerIndex, const ColorRGBA &Color, char *pIndexBufferOffset, const vec2 &Offset, const vec2 &Scale, uint32_t DrawNum)=0
virtual void RenderQuadLayer (int BufferContainerIndex, SQuadRenderInfo *pQuadInfo, size_t QuadNum, int QuadOffset, bool Grouped=false)=0
virtual void RenderText (int BufferContainerIndex, int TextQuadNum, int TextureSize, int TextureTextIndex, int TextureTextOutlineIndex, const ColorRGBA &TextColor, const ColorRGBA &TextOutlineColor)=0
virtual int CreateBufferObject (size_t UploadDataSize, void *pUploadData, int CreateFlags, bool IsMovedPointer=false)=0
virtual void RecreateBufferObject (int BufferIndex, size_t UploadDataSize, void *pUploadData, int CreateFlags, bool IsMovedPointer=false)=0
virtual void DeleteBufferObject (int BufferIndex)=0
virtual int CreateBufferContainer (struct SBufferContainerInfo *pContainerInfo)=0
virtual void DeleteBufferContainer (int &ContainerIndex, bool DestroyAllBO=true)=0
virtual void IndicesNumRequiredNotify (unsigned int RequiredIndicesCount)=0
virtual bool GetDriverVersion (EGraphicsDriverAgeType DriverAgeType, int &Major, int &Minor, int &Patch, const char *&pName, EBackendType BackendType)=0
virtual bool IsConfigModernAPI ()=0
virtual bool IsTileBufferingEnabled ()=0
virtual bool IsQuadBufferingEnabled ()=0
virtual bool IsTextBufferingEnabled ()=0
virtual bool IsQuadContainerBufferingEnabled ()=0
virtual bool Uses2DTextureArrays ()=0
virtual bool HasTextureArraysSupport ()=0
virtual const char * GetVendorString ()=0
virtual const char * GetVersionString ()=0
virtual const char * GetRendererString ()=0
virtual void LinesBegin ()=0
virtual void LinesEnd ()=0
virtual void LinesDraw (const CLineItem *pArray, size_t Num)=0
virtual void LinesBatchBegin (CLineItemBatch *pBatch)=0
virtual void LinesBatchEnd (CLineItemBatch *pBatch)=0
virtual void LinesBatchDraw (CLineItemBatch *pBatch, const CLineItem *pArray, size_t Num)=0
virtual void QuadsBegin ()=0
virtual void QuadsEnd ()=0
virtual void QuadsTex3DBegin ()=0
virtual void QuadsTex3DEnd ()=0
virtual void TrianglesBegin ()=0
virtual void TrianglesEnd ()=0
virtual void QuadsEndKeepVertices ()=0
virtual void QuadsDrawCurrentVertices (bool KeepVertices=true)=0
virtual void QuadsSetRotation (float Angle)=0
virtual void QuadsSetSubset (float TopLeftU, float TopLeftV, float BottomRightU, float BottomRightV)=0
virtual void QuadsSetSubsetFree (float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, int Index=-1)=0
virtual void QuadsDraw (CQuadItem *pArray, int Num)=0
virtual void QuadsDrawTL (const CQuadItem *pArray, int Num)=0
virtual void QuadsTex3DDrawTL (const CQuadItem *pArray, int Num)=0
virtual int CreateQuadContainer (bool AutomaticUpload=true)=0
virtual void QuadContainerChangeAutomaticUpload (int ContainerIndex, bool AutomaticUpload)=0
virtual void QuadContainerUpload (int ContainerIndex)=0
virtual int QuadContainerAddQuads (int ContainerIndex, CQuadItem *pArray, int Num)=0
virtual int QuadContainerAddQuads (int ContainerIndex, CFreeformItem *pArray, int Num)=0
virtual void QuadContainerReset (int ContainerIndex)=0
virtual void DeleteQuadContainer (int &ContainerIndex)=0
virtual void RenderQuadContainer (int ContainerIndex, int QuadDrawNum)=0
virtual void RenderQuadContainer (int ContainerIndex, int QuadOffset, int QuadDrawNum, bool ChangeWrapMode=true)=0
virtual void RenderQuadContainerEx (int ContainerIndex, int QuadOffset, int QuadDrawNum, float X, float Y, float ScaleX=1.f, float ScaleY=1.f)=0
virtual void RenderQuadContainerAsSprite (int ContainerIndex, int QuadOffset, float X, float Y, float ScaleX=1.f, float ScaleY=1.f)=0
virtual void RenderQuadContainerAsSpriteMultiple (int ContainerIndex, int QuadOffset, int DrawCount, SRenderSpriteInfo *pRenderInfo)=0
virtual void QuadsDrawFreeform (const CFreeformItem *pArray, int Num)=0
virtual void QuadsText (float x, float y, float Size, const char *pText)=0
virtual void SelectSprite (int Id, int Flags=0)=0
virtual void SelectSprite7 (int Id, int Flags=0)=0
virtual void GetSpriteScale (const CDataSprite *pSprite, float &ScaleX, float &ScaleY) const =0
virtual void GetSpriteScale (int Id, float &ScaleX, float &ScaleY) const =0
virtual void GetSpriteScaleImpl (int Width, int Height, float &ScaleX, float &ScaleY) const =0
virtual void DrawSprite (float x, float y, float Size)=0
virtual void DrawSprite (float x, float y, float ScaledWidth, float ScaledHeight)=0
virtual int QuadContainerAddSprite (int QuadContainerIndex, float x, float y, float Size)=0
virtual int QuadContainerAddSprite (int QuadContainerIndex, float Size)=0
virtual int QuadContainerAddSprite (int QuadContainerIndex, float Width, float Height)=0
virtual int QuadContainerAddSprite (int QuadContainerIndex, float X, float Y, float Width, float Height)=0
virtual void DrawRectExt (float x, float y, float w, float h, float r, int Corners)=0
virtual void DrawRectExt4 (float x, float y, float w, float h, ColorRGBA ColorTopLeft, ColorRGBA ColorTopRight, ColorRGBA ColorBottomLeft, ColorRGBA ColorBottomRight, float r, int Corners)=0
virtual int CreateRectQuadContainer (float x, float y, float w, float h, float r, int Corners)=0
virtual void DrawRect (float x, float y, float w, float h, ColorRGBA Color, int Corners, float Rounding)=0
virtual void DrawRect4 (float x, float y, float w, float h, ColorRGBA ColorTopLeft, ColorRGBA ColorTopRight, ColorRGBA ColorBottomLeft, ColorRGBA ColorBottomRight, int Corners, float Rounding)=0
virtual void DrawCircle (float CenterX, float CenterY, float Radius, int Segments)=0
virtual void SetColorVertex (const CColorVertex *pArray, size_t Num)=0
virtual void SetColor (float r, float g, float b, float a)=0
virtual void SetColor (ColorRGBA Color)=0
virtual void SetColor4 (ColorRGBA TopLeft, ColorRGBA TopRight, ColorRGBA BottomLeft, ColorRGBA BottomRight)=0
virtual void ChangeColorOfCurrentQuadVertices (float r, float g, float b, float a)=0
virtual void ChangeColorOfQuadVertices (size_t QuadOffset, unsigned char r, unsigned char g, unsigned char b, unsigned char a)=0
virtual void ReadPixel (ivec2 Position, ColorRGBA *pColor)=0
virtual void TakeScreenshot (const char *pFilename)=0
virtual void TakeCustomScreenshot (const char *pFilename)=0
virtual int GetVideoModes (CVideoMode *pModes, int MaxModes, int Screen)=0
virtual void GetCurrentVideoMode (CVideoMode &CurMode, int Screen)=0
virtual void Swap ()=0
virtual int GetNumScreens () const =0
virtual const char * GetScreenName (int Screen) const =0
virtual void InsertSignal (class CSemaphore *pSemaphore)=0
virtual bool IsIdle () const =0
virtual void WaitForIdle ()=0
virtual void SetWindowGrab (bool Grab)=0
virtual void NotifyWindow ()=0
virtual TGLBackendReadPresentedImageDataGetReadPresentedImageDataFuncUnsafe ()=0
virtual std::optional< SWarningCurrentWarning ()=0
virtual std::optional< int > ShowMessageBox (const CMessageBox &MessageBox)=0
virtual bool IsBackendInitialized ()=0
Public Member Functions inherited from IInterface
 IInterface ()
virtual void Shutdown ()
virtual ~IInterface ()=default

Static Public Member Functions

static const char * InterfaceName ()

Protected Member Functions

CTextureHandle CreateTextureHandle (int Index)
Protected Member Functions inherited from IInterface
IKernelKernel ()

Protected Attributes

int m_ScreenWidth
int m_ScreenHeight
int m_ScreenRefreshRate
float m_ScreenHiDPIScale

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
CORNER_NONE 
CORNER_TL 
CORNER_TR 
CORNER_BL 
CORNER_BR 
CORNER_T 
CORNER_B 
CORNER_R 
CORNER_L 
CORNER_ALL 

◆ anonymous enum

anonymous enum
Enumerator
SPRITE_FLAG_FLIP_Y 
SPRITE_FLAG_FLIP_X 

◆ anonymous enum

anonymous enum
Enumerator
TEXLOAD_TO_3D_TEXTURE 
TEXLOAD_TO_2D_ARRAY_TEXTURE 
TEXLOAD_NO_2D_TEXTURE 

◆ EBufferObjectCreateFlags

Enumerator
BUFFER_OBJECT_CREATE_FLAGS_ONE_TIME_USE_BIT 

◆ EMessageBoxType

enum class IGraphics::EMessageBoxType
strong

Type of a message box popup.

See also
CMessageBox
Enumerator
ERROR 
WARNING 
INFO 

Member Function Documentation

◆ AddWindowPropChangeListener()

virtual void IGraphics::AddWindowPropChangeListener ( WINDOW_PROPS_CHANGED_FUNC pFunc)
pure virtual

Listens to various window property changes, such as minimize, maximize, move, fullscreen mode

Implemented in CGraphics_Threaded.

◆ AddWindowResizeListener()

virtual void IGraphics::AddWindowResizeListener ( WINDOW_RESIZE_FUNC pFunc)
pure virtual

Listens to a resize event of the canvas, which is usually caused by a window resize. Will only be triggered if the actual size changed.

Implemented in CGraphics_Threaded.

◆ BlendAdditive()

virtual void IGraphics::BlendAdditive ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ BlendNone()

virtual void IGraphics::BlendNone ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ BlendNormal()

virtual void IGraphics::BlendNormal ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ BufferMemoryUsage()

virtual uint64_t IGraphics::BufferMemoryUsage ( ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ CalcScreenParams()

void IGraphics::CalcScreenParams ( float Aspect,
float Zoom,
float * pWidth,
float * pHeight ) const

◆ ChangeColorOfCurrentQuadVertices()

virtual void IGraphics::ChangeColorOfCurrentQuadVertices ( float r,
float g,
float b,
float a )
pure virtual

Implemented in CGraphics_Threaded.

◆ ChangeColorOfQuadVertices()

virtual void IGraphics::ChangeColorOfQuadVertices ( size_t QuadOffset,
unsigned char r,
unsigned char g,
unsigned char b,
unsigned char a )
pure virtual

Implemented in CGraphics_Threaded.

◆ CheckImageDivisibility()

virtual bool IGraphics::CheckImageDivisibility ( const char * pContextName,
CImageInfo & Image,
int DivX,
int DivY,
bool AllowResize )
pure virtual

Implemented in CGraphics_Threaded.

◆ Clear()

virtual void IGraphics::Clear ( float r,
float g,
float b,
bool ForceClearNow = false )
pure virtual

Implemented in CGraphics_Threaded.

◆ ClipDisable()

virtual void IGraphics::ClipDisable ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ ClipEnable()

virtual void IGraphics::ClipEnable ( int x,
int y,
int w,
int h )
pure virtual

Implemented in CGraphics_Threaded.

◆ CreateBufferContainer()

virtual int IGraphics::CreateBufferContainer ( struct SBufferContainerInfo * pContainerInfo)
pure virtual

Implemented in CGraphics_Threaded.

◆ CreateBufferObject()

virtual int IGraphics::CreateBufferObject ( size_t UploadDataSize,
void * pUploadData,
int CreateFlags,
bool IsMovedPointer = false )
pure virtual

Implemented in CGraphics_Threaded.

◆ CreateQuadContainer()

virtual int IGraphics::CreateQuadContainer ( bool AutomaticUpload = true)
pure virtual

Implemented in CGraphics_Threaded.

◆ CreateRectQuadContainer()

virtual int IGraphics::CreateRectQuadContainer ( float x,
float y,
float w,
float h,
float r,
int Corners )
pure virtual

Implemented in CGraphics_Threaded.

◆ CreateTextureHandle()

CTextureHandle IGraphics::CreateTextureHandle ( int Index)
inlineprotected

◆ CurrentWarning()

virtual std::optional< SWarning > IGraphics::CurrentWarning ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ DeleteBufferContainer()

virtual void IGraphics::DeleteBufferContainer ( int & ContainerIndex,
bool DestroyAllBO = true )
pure virtual

Implemented in CGraphics_Threaded.

◆ DeleteBufferObject()

virtual void IGraphics::DeleteBufferObject ( int BufferIndex)
pure virtual

Implemented in CGraphics_Threaded.

◆ DeleteQuadContainer()

virtual void IGraphics::DeleteQuadContainer ( int & ContainerIndex)
pure virtual

Implemented in CGraphics_Threaded.

◆ DrawCircle()

virtual void IGraphics::DrawCircle ( float CenterX,
float CenterY,
float Radius,
int Segments )
pure virtual

Implemented in CGraphics_Threaded.

◆ DrawRect()

virtual void IGraphics::DrawRect ( float x,
float y,
float w,
float h,
ColorRGBA Color,
int Corners,
float Rounding )
pure virtual

Implemented in CGraphics_Threaded.

◆ DrawRect4()

virtual void IGraphics::DrawRect4 ( float x,
float y,
float w,
float h,
ColorRGBA ColorTopLeft,
ColorRGBA ColorTopRight,
ColorRGBA ColorBottomLeft,
ColorRGBA ColorBottomRight,
int Corners,
float Rounding )
pure virtual

Implemented in CGraphics_Threaded.

◆ DrawRectExt()

virtual void IGraphics::DrawRectExt ( float x,
float y,
float w,
float h,
float r,
int Corners )
pure virtual

Implemented in CGraphics_Threaded.

◆ DrawRectExt4()

virtual void IGraphics::DrawRectExt4 ( float x,
float y,
float w,
float h,
ColorRGBA ColorTopLeft,
ColorRGBA ColorTopRight,
ColorRGBA ColorBottomLeft,
ColorRGBA ColorBottomRight,
float r,
int Corners )
pure virtual

Implemented in CGraphics_Threaded.

◆ DrawSprite() [1/2]

virtual void IGraphics::DrawSprite ( float x,
float y,
float ScaledWidth,
float ScaledHeight )
pure virtual

Implemented in CGraphics_Threaded.

◆ DrawSprite() [2/2]

virtual void IGraphics::DrawSprite ( float x,
float y,
float Size )
pure virtual

Implemented in CGraphics_Threaded.

◆ FlushVertices()

virtual void IGraphics::FlushVertices ( bool KeepVertices = false)
pure virtual

Implemented in CGraphics_Threaded.

◆ FlushVerticesTex3D()

virtual void IGraphics::FlushVerticesTex3D ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ GetCurrentVideoMode()

virtual void IGraphics::GetCurrentVideoMode ( CVideoMode & CurMode,
int Screen )
pure virtual

Implemented in CGraphics_Threaded.

◆ GetDriverVersion()

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

Implemented in CGraphics_Threaded.

◆ GetGpus()

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

Implemented in CGraphics_Threaded.

◆ GetNumScreens()

virtual int IGraphics::GetNumScreens ( ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ GetReadPresentedImageDataFuncUnsafe()

virtual TGLBackendReadPresentedImageData & IGraphics::GetReadPresentedImageDataFuncUnsafe ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ GetRendererString()

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

Implemented in CGraphics_Threaded.

◆ GetScreen()

virtual void IGraphics::GetScreen ( float * pTopLeftX,
float * pTopLeftY,
float * pBottomRightX,
float * pBottomRightY ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ GetScreenName()

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

Implemented in CGraphics_Threaded.

◆ GetSpriteScale() [1/2]

virtual void IGraphics::GetSpriteScale ( const CDataSprite * pSprite,
float & ScaleX,
float & ScaleY ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ GetSpriteScale() [2/2]

virtual void IGraphics::GetSpriteScale ( int Id,
float & ScaleX,
float & ScaleY ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ GetSpriteScaleImpl()

virtual void IGraphics::GetSpriteScaleImpl ( int Width,
int Height,
float & ScaleX,
float & ScaleY ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ GetVendorString()

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

Implemented in CGraphics_Threaded.

◆ GetVersionString()

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

Implemented in CGraphics_Threaded.

◆ GetVideoModes()

virtual int IGraphics::GetVideoModes ( CVideoMode * pModes,
int MaxModes,
int Screen )
pure virtual

Implemented in CGraphics_Threaded.

◆ GetWindowScreen()

virtual int IGraphics::GetWindowScreen ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ GotResized()

virtual void IGraphics::GotResized ( int w,
int h,
int RefreshRate )
pure virtual

Implemented in CGraphics_Threaded.

◆ HasTextureArraysSupport()

virtual bool IGraphics::HasTextureArraysSupport ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ IndicesNumRequiredNotify()

virtual void IGraphics::IndicesNumRequiredNotify ( unsigned int RequiredIndicesCount)
pure virtual

Implemented in CGraphics_Threaded.

◆ InsertSignal()

virtual void IGraphics::InsertSignal ( class CSemaphore * pSemaphore)
pure virtual

Implemented in CGraphics_Threaded.

◆ InterfaceName()

const char * IGraphics::InterfaceName ( )
inlinestatic

◆ IsBackendInitialized()

virtual bool IGraphics::IsBackendInitialized ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsConfigModernAPI()

virtual bool IGraphics::IsConfigModernAPI ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsIdle()

virtual bool IGraphics::IsIdle ( ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ IsImageFormatRgba()

virtual bool IGraphics::IsImageFormatRgba ( const char * pContextName,
const CImageInfo & Image )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsImageSubFullyTransparent()

virtual bool IGraphics::IsImageSubFullyTransparent ( const CImageInfo & FromImageInfo,
int x,
int y,
int w,
int h )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsQuadBufferingEnabled()

virtual bool IGraphics::IsQuadBufferingEnabled ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsQuadContainerBufferingEnabled()

virtual bool IGraphics::IsQuadContainerBufferingEnabled ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsScreenKeyboardShown()

virtual bool IGraphics::IsScreenKeyboardShown ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsSpriteTextureFullyTransparent()

virtual bool IGraphics::IsSpriteTextureFullyTransparent ( const CImageInfo & FromImageInfo,
const struct CDataSprite * pSprite )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsTextBufferingEnabled()

virtual bool IGraphics::IsTextBufferingEnabled ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ IsTileBufferingEnabled()

virtual bool IGraphics::IsTileBufferingEnabled ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ LinesBatchBegin()

virtual void IGraphics::LinesBatchBegin ( CLineItemBatch * pBatch)
pure virtual

Implemented in CGraphics_Threaded.

◆ LinesBatchDraw()

virtual void IGraphics::LinesBatchDraw ( CLineItemBatch * pBatch,
const CLineItem * pArray,
size_t Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ LinesBatchEnd()

virtual void IGraphics::LinesBatchEnd ( CLineItemBatch * pBatch)
pure virtual

Implemented in CGraphics_Threaded.

◆ LinesBegin()

virtual void IGraphics::LinesBegin ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ LinesDraw()

virtual void IGraphics::LinesDraw ( const CLineItem * pArray,
size_t Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ LinesEnd()

virtual void IGraphics::LinesEnd ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ LoadPng() [1/2]

virtual bool IGraphics::LoadPng ( CImageInfo & Image,
const char * pFilename,
int StorageType )
pure virtual

Implemented in CGraphics_Threaded.

◆ LoadPng() [2/2]

virtual bool IGraphics::LoadPng ( CImageInfo & Image,
const uint8_t * pData,
size_t DataSize,
const char * pContextName )
pure virtual

Implemented in CGraphics_Threaded.

◆ LoadSpriteTexture()

virtual CTextureHandle IGraphics::LoadSpriteTexture ( const CImageInfo & FromImageInfo,
const struct CDataSprite * pSprite )
pure virtual

Implemented in CGraphics_Threaded.

◆ LoadTextTextures()

virtual bool IGraphics::LoadTextTextures ( size_t Width,
size_t Height,
CTextureHandle & TextTexture,
CTextureHandle & TextOutlineTexture,
uint8_t * pTextData,
uint8_t * pTextOutlineData )
pure virtual

Implemented in CGraphics_Threaded.

◆ LoadTexture()

virtual CTextureHandle IGraphics::LoadTexture ( const char * pFilename,
int StorageType,
int Flags = 0 )
pure virtual

Implemented in CGraphics_Threaded.

◆ LoadTextureRaw()

virtual CTextureHandle IGraphics::LoadTextureRaw ( const CImageInfo & Image,
int Flags,
const char * pTexName = nullptr )
pure virtual

Implemented in CGraphics_Threaded.

◆ LoadTextureRawMove()

virtual CTextureHandle IGraphics::LoadTextureRawMove ( CImageInfo & Image,
int Flags,
const char * pTexName = nullptr )
pure virtual

Implemented in CGraphics_Threaded.

◆ MapScreen()

virtual void IGraphics::MapScreen ( float TopLeftX,
float TopLeftY,
float BottomRightX,
float BottomRightY )
pure virtual

Implemented in CGraphics_Threaded.

◆ MapScreenToInterface()

void IGraphics::MapScreenToInterface ( float CenterX,
float CenterY,
float Zoom = 1.0f )

◆ MapScreenToWorld()

void IGraphics::MapScreenToWorld ( float CenterX,
float CenterY,
float ParallaxX,
float ParallaxY,
float ParallaxZoom,
float OffsetX,
float OffsetY,
float Aspect,
float Zoom,
float * pPoints ) const

◆ Move()

virtual void IGraphics::Move ( int x,
int y )
pure virtual

Implemented in CGraphics_Threaded.

◆ NotifyWindow()

virtual void IGraphics::NotifyWindow ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerAddQuads() [1/2]

virtual int IGraphics::QuadContainerAddQuads ( int ContainerIndex,
CFreeformItem * pArray,
int Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerAddQuads() [2/2]

virtual int IGraphics::QuadContainerAddQuads ( int ContainerIndex,
CQuadItem * pArray,
int Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerAddSprite() [1/4]

virtual int IGraphics::QuadContainerAddSprite ( int QuadContainerIndex,
float Size )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerAddSprite() [2/4]

virtual int IGraphics::QuadContainerAddSprite ( int QuadContainerIndex,
float Width,
float Height )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerAddSprite() [3/4]

virtual int IGraphics::QuadContainerAddSprite ( int QuadContainerIndex,
float x,
float y,
float Size )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerAddSprite() [4/4]

virtual int IGraphics::QuadContainerAddSprite ( int QuadContainerIndex,
float X,
float Y,
float Width,
float Height )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerChangeAutomaticUpload()

virtual void IGraphics::QuadContainerChangeAutomaticUpload ( int ContainerIndex,
bool AutomaticUpload )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerReset()

virtual void IGraphics::QuadContainerReset ( int ContainerIndex)
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadContainerUpload()

virtual void IGraphics::QuadContainerUpload ( int ContainerIndex)
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsBegin()

virtual void IGraphics::QuadsBegin ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsDraw()

virtual void IGraphics::QuadsDraw ( CQuadItem * pArray,
int Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsDrawCurrentVertices()

virtual void IGraphics::QuadsDrawCurrentVertices ( bool KeepVertices = true)
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsDrawFreeform()

virtual void IGraphics::QuadsDrawFreeform ( const CFreeformItem * pArray,
int Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsDrawTL()

virtual void IGraphics::QuadsDrawTL ( const CQuadItem * pArray,
int Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsEnd()

virtual void IGraphics::QuadsEnd ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsEndKeepVertices()

virtual void IGraphics::QuadsEndKeepVertices ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsSetRotation()

virtual void IGraphics::QuadsSetRotation ( float Angle)
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsSetSubset()

virtual void IGraphics::QuadsSetSubset ( float TopLeftU,
float TopLeftV,
float BottomRightU,
float BottomRightV )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsSetSubsetFree()

virtual void IGraphics::QuadsSetSubsetFree ( float x0,
float y0,
float x1,
float y1,
float x2,
float y2,
float x3,
float y3,
int Index = -1 )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsTex3DBegin()

virtual void IGraphics::QuadsTex3DBegin ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsTex3DDrawTL()

virtual void IGraphics::QuadsTex3DDrawTL ( const CQuadItem * pArray,
int Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsTex3DEnd()

virtual void IGraphics::QuadsTex3DEnd ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ QuadsText()

virtual void IGraphics::QuadsText ( float x,
float y,
float Size,
const char * pText )
pure virtual

Implemented in CGraphics_Threaded.

◆ ReadPixel()

virtual void IGraphics::ReadPixel ( ivec2 Position,
ColorRGBA * pColor )
pure virtual

Reads the color at the specified position from the backbuffer once, after the next swap operation.

Parameters
PositionThe pixel position to read.
pColorPointer that will receive the read pixel color. The pointer must be valid until the next swap operation.

Implemented in CGraphics_Threaded.

◆ RecreateBufferObject()

virtual void IGraphics::RecreateBufferObject ( int BufferIndex,
size_t UploadDataSize,
void * pUploadData,
int CreateFlags,
bool IsMovedPointer = false )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderBorderTiles()

virtual void IGraphics::RenderBorderTiles ( int BufferContainerIndex,
const ColorRGBA & Color,
char * pIndexBufferOffset,
const vec2 & Offset,
const vec2 & Scale,
uint32_t DrawNum )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderQuadContainer() [1/2]

virtual void IGraphics::RenderQuadContainer ( int ContainerIndex,
int QuadDrawNum )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderQuadContainer() [2/2]

virtual void IGraphics::RenderQuadContainer ( int ContainerIndex,
int QuadOffset,
int QuadDrawNum,
bool ChangeWrapMode = true )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderQuadContainerAsSprite()

virtual void IGraphics::RenderQuadContainerAsSprite ( int ContainerIndex,
int QuadOffset,
float X,
float Y,
float ScaleX = 1.f,
float ScaleY = 1.f )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderQuadContainerAsSpriteMultiple()

virtual void IGraphics::RenderQuadContainerAsSpriteMultiple ( int ContainerIndex,
int QuadOffset,
int DrawCount,
SRenderSpriteInfo * pRenderInfo )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderQuadContainerEx()

virtual void IGraphics::RenderQuadContainerEx ( int ContainerIndex,
int QuadOffset,
int QuadDrawNum,
float X,
float Y,
float ScaleX = 1.f,
float ScaleY = 1.f )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderQuadLayer()

virtual void IGraphics::RenderQuadLayer ( int BufferContainerIndex,
SQuadRenderInfo * pQuadInfo,
size_t QuadNum,
int QuadOffset,
bool Grouped = false )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderText()

virtual void IGraphics::RenderText ( int BufferContainerIndex,
int TextQuadNum,
int TextureSize,
int TextureTextIndex,
int TextureTextOutlineIndex,
const ColorRGBA & TextColor,
const ColorRGBA & TextOutlineColor )
pure virtual

Implemented in CGraphics_Threaded.

◆ RenderTileLayer()

virtual void IGraphics::RenderTileLayer ( int BufferContainerIndex,
const ColorRGBA & Color,
char ** pOffsets,
unsigned int * pIndicedVertexDrawNum,
size_t NumIndicesOffset )
pure virtual

Implemented in CGraphics_Threaded.

◆ Resize()

virtual bool IGraphics::Resize ( int w,
int h,
int RefreshRate )
pure virtual

Implemented in CGraphics_Threaded.

◆ ResizeToScreen()

virtual void IGraphics::ResizeToScreen ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ ScreenAspect()

float IGraphics::ScreenAspect ( ) const
inline

◆ ScreenHeight()

int IGraphics::ScreenHeight ( ) const
inline

◆ ScreenHiDPIScale()

float IGraphics::ScreenHiDPIScale ( ) const
inline

◆ ScreenWidth()

int IGraphics::ScreenWidth ( ) const
inline

◆ SelectSprite()

virtual void IGraphics::SelectSprite ( int Id,
int Flags = 0 )
pure virtual

Implemented in CGraphics_Threaded.

◆ SelectSprite7()

virtual void IGraphics::SelectSprite7 ( int Id,
int Flags = 0 )
pure virtual

Implemented in CGraphics_Threaded.

◆ SetColor() [1/2]

virtual void IGraphics::SetColor ( ColorRGBA Color)
pure virtual

Implemented in CGraphics_Threaded.

◆ SetColor() [2/2]

virtual void IGraphics::SetColor ( float r,
float g,
float b,
float a )
pure virtual

Implemented in CGraphics_Threaded.

◆ SetColor4()

virtual void IGraphics::SetColor4 ( ColorRGBA TopLeft,
ColorRGBA TopRight,
ColorRGBA BottomLeft,
ColorRGBA BottomRight )
pure virtual

Implemented in CGraphics_Threaded.

◆ SetColorVertex()

virtual void IGraphics::SetColorVertex ( const CColorVertex * pArray,
size_t Num )
pure virtual

Implemented in CGraphics_Threaded.

◆ SetMultiSampling()

virtual bool IGraphics::SetMultiSampling ( uint32_t ReqMultiSamplingCount,
uint32_t & MultiSamplingCountBackend )
pure virtual

Implemented in CGraphics_Threaded.

◆ SetVSync()

virtual bool IGraphics::SetVSync ( bool State)
pure virtual

Implemented in CGraphics_Threaded.

◆ SetWindowGrab()

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

Implemented in CGraphics_Threaded.

◆ SetWindowParams()

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

Implemented in CGraphics_Threaded.

◆ SetWindowScreen()

virtual bool IGraphics::SetWindowScreen ( int Index,
bool MoveToCenter )
pure virtual

Implemented in CGraphics_Threaded.

◆ ShowMessageBox()

virtual std::optional< int > IGraphics::ShowMessageBox ( const CMessageBox & MessageBox)
pure virtual

Shows a modal message box with configuration title, message and buttons.

Parameters
MessageBoxDescription of the message box.
Returns
Optional containing the index of the pressed button if the popup was shown successfully.
Empty optional if the message box was not shown successfully.
Remarks
Note that calling this function will destroy the current window, so it only makes sense for fatal errors at the moment.

Implemented in CGraphics_Threaded.

◆ StagingMemoryUsage()

virtual uint64_t IGraphics::StagingMemoryUsage ( ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ StreamedMemoryUsage()

virtual uint64_t IGraphics::StreamedMemoryUsage ( ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ Swap()

virtual void IGraphics::Swap ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ SwitchWindowScreen()

virtual bool IGraphics::SwitchWindowScreen ( int Index,
bool MoveToCenter )
pure virtual

Implemented in CGraphics_Threaded.

◆ TakeCustomScreenshot()

virtual void IGraphics::TakeCustomScreenshot ( const char * pFilename)
pure virtual

Implemented in CGraphics_Threaded.

◆ TakeScreenshot()

virtual void IGraphics::TakeScreenshot ( const char * pFilename)
pure virtual

Implemented in CGraphics_Threaded.

◆ TextureClear()

void IGraphics::TextureClear ( )
inline

◆ TextureMemoryUsage()

virtual uint64_t IGraphics::TextureMemoryUsage ( ) const
pure virtual

Implemented in CGraphics_Threaded.

◆ TextureSet()

virtual void IGraphics::TextureSet ( CTextureHandle Texture)
pure virtual

Implemented in CGraphics_Threaded.

◆ TrianglesBegin()

virtual void IGraphics::TrianglesBegin ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ TrianglesEnd()

virtual void IGraphics::TrianglesEnd ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ UnloadTextTextures()

virtual bool IGraphics::UnloadTextTextures ( CTextureHandle & TextTexture,
CTextureHandle & TextOutlineTexture )
pure virtual

Implemented in CGraphics_Threaded.

◆ UnloadTexture()

virtual void IGraphics::UnloadTexture ( CTextureHandle * pIndex)
pure virtual

Implemented in CGraphics_Threaded.

◆ UpdateTextTexture()

virtual bool IGraphics::UpdateTextTexture ( CTextureHandle TextureId,
int x,
int y,
size_t Width,
size_t Height,
uint8_t * pData,
bool IsMovedPointer )
pure virtual

Implemented in CGraphics_Threaded.

◆ UpdateViewport()

virtual void IGraphics::UpdateViewport ( int X,
int Y,
int W,
int H,
bool ByResize )
pure virtual

Implemented in CGraphics_Threaded.

◆ Uses2DTextureArrays()

virtual bool IGraphics::Uses2DTextureArrays ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ WaitForIdle()

virtual void IGraphics::WaitForIdle ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ WarnPngliteIncompatibleImages()

virtual void IGraphics::WarnPngliteIncompatibleImages ( bool Warn)
pure virtual

Implemented in CGraphics_Threaded.

◆ WindowCreateNtf()

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

Implemented in CGraphics_Threaded.

◆ WindowDestroyNtf()

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

Implemented in CGraphics_Threaded.

◆ WindowHeight()

int IGraphics::WindowHeight ( ) const
inline

◆ WindowWidth()

int IGraphics::WindowWidth ( ) const
inline

◆ WrapClamp()

virtual void IGraphics::WrapClamp ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ WrapNormal()

virtual void IGraphics::WrapNormal ( )
pure virtual

Implemented in CGraphics_Threaded.

Member Data Documentation

◆ m_ScreenHeight

int IGraphics::m_ScreenHeight
protected

◆ m_ScreenHiDPIScale

float IGraphics::m_ScreenHiDPIScale
protected

◆ m_ScreenRefreshRate

int IGraphics::m_ScreenRefreshRate
protected

◆ m_ScreenWidth

int IGraphics::m_ScreenWidth
protected

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