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 CPainterStatecreateState (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...
 
CPaintEngineGPUStateGetState ()
 
const CPaintEngineGPUStateGetState () const
 
virtual void drawPixmap (const QRectF &r, const TextureEntity &pm, const QRectF &sr)
 
CSpriteRendererGetSprite ()
 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
CPainterStateGetState ()
 
const CPainterStateGetState () 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)
 
CPaintDevicepaintDevice () 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)
 
CPainterpainter () const
 

Static Public Member Functions

static CPaintEngineGPUGetInstance ()
 
static void DestroyInstance ()
 

Protected Attributes

CSpriteRendererm_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
CPaintDevicepdev
 
CPaintEngineStatestate
 
bool active: 1
 
bool selfDestruct: 1
 
bool hasSystemTransform: 1
 
bool hasSystemViewport: 1
 
QRegion m_systemClip
 
QRect m_systemRect
 
QRegion systemViewport
 
QTransform systemTransform
 
CPaintDevicecurrentClipDevice
 

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: