My Project
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
ParaEngine::CPaintEngineGPU Class Reference

opengl/directX renderer More...

#include <PaintEngineGPU.h>

Inheritance diagram for ParaEngine::CPaintEngineGPU:
ParaEngine::CPaintEngine

Public Member Functions

void Cleanup ()
 
void InitDeviceObjects ()
 
void RestoreDeviceObjects ()
 
void InvalidateDeviceObjects ()
 
void DeleteDeviceObjects ()
 
void Init ()
 
virtual bool begin (CPaintDevice *pdev)
 
virtual bool end ()
 
virtual void Flush ()
 flush sprite
 
virtual CPainterState * createState (CPainterState *orig) const
 
virtual void updateState (const CPaintEngineState &state)
 
virtual void setState (CPainterState *s)
 
virtual void ApplyStateChanges ()
 apply transform and blending mode, etc before drawing. More...
 
CPaintEngineGPUState * GetState ()
 
const CPaintEngineGPUState * GetState () const
 
virtual void drawPixmap (const QRectF &r, const TextureEntity &pm, const QRectF &sr)
 
CSpriteRenderer * GetSprite ()
 get the global sprite object used to draw texture and images
 
virtual bool IsScissorRectSupported () const
 
virtual bool IsStencilSupported () const
 
virtual void clip (const QRect &rect, ClipOperation op=ReplaceClip)
 
virtual void SetUse3DTransform (bool bUse3DSpaceTransform)
 by default, transforms are in 2d screen space. More...
 
virtual bool IsUse3DTransform ()
 return false by default. More...
 
virtual void drawLines (const QLine *lines, int lineCount)
 
virtual void drawLines (const QLineF *lines, int lineCount)
 
virtual void drawLines (const Vector3 *vertices, int lineCount)
 
virtual void drawPolygon (const QPointF *points, int pointCount, PolygonDrawMode mode)
 
virtual void drawPolygon (const QPoint *points, int pointCount, PolygonDrawMode mode)
 
virtual void drawTriangles (const Vector3 *vertices, int nTriangleCount)
 
virtual HRESULT DrawRect (const RECT *rect, Color color, float depth)
 
virtual HRESULT DrawQuad (TextureEntity *pTexture, const RECT *pSrcRect, const Vector3 *vCenter, const Vector3 *pPosition, Color c)
 
virtual HRESULT drawText (SpriteFontEntity *pFont, const char *strText, int nCount, RECT *rect, DWORD dwTextFormat, DWORD textColor)
 
virtual HRESULT drawText (SpriteFontEntity *pFont, const char16_t *strText, int nCount, RECT *rect, DWORD dwTextFormat, DWORD textColor)
 
- Public Member Functions inherited from ParaEngine::CPaintEngine
CPainterState * GetState ()
 
const CPainterState * GetState () const
 
bool isActive () const
 
void setActive (bool newState)
 
virtual void drawRects (const QRect *rects, int rectCount)
 
virtual void drawRects (const QRectF *rects, int rectCount)
 
virtual void drawEllipse (const QRectF &r)
 
virtual void drawEllipse (const QRect &r)
 
virtual void drawPath (const CPainterPath &path)
 
virtual void drawPoints (const QPointF *points, int pointCount)
 
virtual void drawPoints (const QPoint *points, int pointCount)
 
virtual void drawTextItem (const QPointF &p, const CTextItem &textItem)
 
virtual void drawImage (const QRectF &r, const ImageEntity &pm, const QRectF &sr)
 
void setPaintDevice (CPaintDevice *device)
 
CPaintDevice * paintDevice () const
 
void setSystemClip (const QRegion &baseClip)
 
QRegion systemClip () const
 
void setSystemRect (const QRect &rect)
 
QRect systemRect () const
 
virtual QPoint coordinateOffset () const
 
bool testDirty (DirtyFlags df)
 
void setDirty (DirtyFlags df)
 
void clearDirty (DirtyFlags df)
 
CPainter * painter () const
 

Static Public Member Functions

static CPaintEngineGPU * GetInstance ()
 
static void DestroyInstance ()
 

Protected Attributes

CSpriteRenderer * m_pSprite
 
bool m_bInitialized
 
bool m_bUse3DTransform
 
bool m_compositionModeDirty
 
bool m_matrixDirty
 
bool m_worldViewProjectMatDirty
 
bool m_worldViewMatDirty
 
Matrix4 m_matWorldViewProject
 
Matrix4 m_matWorldView
 
Vector3 m_vWorldScaling
 
- Protected Attributes inherited from ParaEngine::CPaintEngine
CPaintDevice * pdev
 
CPaintEngineState * state
 
bool active: 1
 
bool selfDestruct: 1
 
bool hasSystemTransform: 1
 
bool hasSystemViewport: 1
 
QRegion m_systemClip
 
QRect m_systemRect
 
QRegion systemViewport
 
QTransform systemTransform
 
CPaintDevice * currentClipDevice
 

Static Protected Attributes

static bool s_IsScissorRectSupported = false
 
static bool s_IsStencilSupported = false
 

Friends

class CPainter
 

Additional Inherited Members

- Public Types inherited from ParaEngine::CPaintEngine
enum  DirtyFlags {
  DirtyPen = 0x0001, DirtyBrush = 0x0002, DirtyBrushOrigin = 0x0004, DirtyFont = 0x0008,
  DirtyBackground = 0x0010, DirtyBackgroundMode = 0x0020, DirtyTransform = 0x0040, DirtyClipRegion = 0x0080,
  DirtyClipPath = 0x0100, DirtyHints = 0x0200, DirtyCompositionMode = 0x0400, DirtyClipEnabled = 0x0800,
  DirtyOpacity = 0x1000, AllDirty = 0xffff
}
 
enum  PolygonDrawMode { OddEvenMode, WindingMode, ConvexMode, PolylineMode }
 

Detailed Description

opengl/directX renderer

Member Function Documentation

§ ApplyStateChanges()

void ParaEngine::CPaintEngineGPU::ApplyStateChanges ( )
virtual

apply transform and blending mode, etc before drawing.

Reimplemented from ParaEngine::CPaintEngine.

§ IsUse3DTransform()

bool ParaEngine::CPaintEngineGPU::IsUse3DTransform ( )
virtual

return false by default.

Reimplemented from ParaEngine::CPaintEngine.

§ SetUse3DTransform()

void ParaEngine::CPaintEngineGPU::SetUse3DTransform ( bool  bUse3DSpaceTransform)
virtual

by default, transforms are in 2d screen space.

However, we can also specify using 3d transform, such as when rendering GUI onto 3D scenes

Reimplemented from ParaEngine::CPaintEngine.


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