|
My Project
|
The CPaintEngine class provides an abstract definition of how CPainter draws to a given device on a given platform. More...
#include <PaintEngine.h>
Public Member Functions | |
| virtual CPainterState * | createState (CPainterState *orig) const |
| virtual void | setState (CPainterState *s) |
| CPainterState * | GetState () |
| const CPainterState * | GetState () const |
| bool | isActive () const |
| void | setActive (bool newState) |
| virtual bool | begin (CPaintDevice *pdev)=0 |
| virtual bool | end ()=0 |
| virtual void | Flush () |
| virtual void | ApplyStateChanges () |
| virtual void | updateState (const CPaintEngineState &state)=0 |
| virtual void | drawRects (const QRect *rects, int rectCount) |
| virtual void | drawRects (const QRectF *rects, int rectCount) |
| 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 | drawEllipse (const QRectF &r) |
| virtual void | drawEllipse (const QRect &r) |
| virtual void | drawTriangles (const Vector3 *vertices, int nTriangleCount) |
| virtual void | drawPath (const CPainterPath &path) |
| virtual void | drawPoints (const QPointF *points, int pointCount) |
| virtual void | drawPoints (const QPoint *points, int pointCount) |
| virtual void | drawPolygon (const QPointF *points, int pointCount, PolygonDrawMode mode) |
| virtual void | drawPolygon (const QPoint *points, int pointCount, PolygonDrawMode mode) |
| virtual void | drawPixmap (const QRectF &r, const TextureEntity &pm, const QRectF &sr)=0 |
| 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 |
| 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 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) |
Protected Attributes | |
| 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 |
Friends | |
| class | CPainter |
The CPaintEngine class provides an abstract definition of how CPainter draws to a given device on a given platform.
If one wants to use CPainter to draw to a different backend, one must subclass CPaintEngine and reimplement all its virtual functions. The CPaintEngine implementation is then made available by subclassing QPaintDevice and reimplementing the virtual function CPaintDevice::paintEngine().
QPaintEngine is created and owned by the QPaintDevice that created it.
|
inlinevirtual |
return false by default.
Reimplemented in ParaEngine::CPaintEngineGPU.
|
inlinevirtual |
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 in ParaEngine::CPaintEngineGPU.
1.8.12