DDraceNetwork Docs
IGraphics Class Referenceabstract

#include <graphics.h>

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

Classes

struct  CColorVertex
 
struct  CFreeformItem
 
struct  CLineItem
 
struct  CQuadItem
 
class  CTextureHandle
 
struct  SRenderSpriteInfo
 

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  {
  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
}
 

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)=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 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
 
virtual void GetScreen (float *pTopLeftX, float *pTopLeftY, float *pBottomRightX, float *pBottomRightY)=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)=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, int 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 const GL_STexCoordGetCurTextureCoordinates ()=0
 
virtual const GL_SColorGetCurColor ()=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 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 SWarningGetCurWarning ()=0
 
virtual bool ShowMessageBox (unsigned Type, const char *pTitle, const char *pMsg)=0
 
virtual bool IsBackendInitialized ()=0
 
- Public Member Functions inherited from IInterface
 IInterface ()
 
virtual void Shutdown ()
 
virtual ~IInterface ()
 

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
TEXLOAD_TO_3D_TEXTURE 
TEXLOAD_TO_2D_ARRAY_TEXTURE 
TEXLOAD_NO_2D_TEXTURE 

◆ 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 

◆ EBufferObjectCreateFlags

Enumerator
BUFFER_OBJECT_CREATE_FLAGS_ONE_TIME_USE_BIT 

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.

◆ 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

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

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

◆ GetCurColor()

virtual const GL_SColor * IGraphics::GetCurColor ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ GetCurrentVideoMode()

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

Implemented in CGraphics_Threaded.

◆ GetCurTextureCoordinates()

virtual const GL_STexCoord * IGraphics::GetCurTextureCoordinates ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ GetCurWarning()

virtual SWarning * IGraphics::GetCurWarning ( )
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 
)
pure virtual

Implemented in CGraphics_Threaded.

◆ GetScreenName()

virtual const char * IGraphics::GetScreenName ( int  Screen) 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()

static 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.

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

◆ LinesBegin()

virtual void IGraphics::LinesBegin ( )
pure virtual

Implemented in CGraphics_Threaded.

◆ LinesDraw()

virtual void IGraphics::LinesDraw ( const CLineItem pArray,
int  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.

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

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

◆ 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)
pure virtual

Implemented in CGraphics_Threaded.

◆ ShowMessageBox()

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

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.

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