QPaintEngine Class Reference

#include <qpaintengine.h>

Class Description

Definition at line 90 of file qpaintengine.h.

Public Types

enum  PaintEngineFeature {
  PrimitiveTransform = 0x00000001, PatternTransform = 0x00000002, PixmapTransform = 0x00000004, PatternBrush = 0x00000008,
  LinearGradientFill = 0x00000010, RadialGradientFill = 0x00000020, ConicalGradientFill = 0x00000040, AlphaBlend = 0x00000080,
  PorterDuff = 0x00000100, PainterPaths = 0x00000200, Antialiasing = 0x00000400, BrushStroke = 0x00000800,
  ConstantOpacity = 0x00001000, MaskedBrush = 0x00002000, PerspectiveTransform = 0x00004000, BlendModes = 0x00008000,
  ObjectBoundingModeGradients = 0x00010000, RasterOpModes = 0x00020000, PaintOutsidePaintEvent = 0x20000000, AllFeatures = 0xffffffff
}
 
enum  DirtyFlag {
  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 }
 
enum  Type {
  X11, Windows, QuickDraw, CoreGraphics,
  MacPrinter, QWindowSystem, PostScript, OpenGL,
  Picture, SVG, Raster, Direct3D,
  Pdf, OpenVG, OpenGL2, PaintBuffer,
  Blitter, User = 50, MaxUser = 100
}
 

Public Member Functions

 QPaintEngine (PaintEngineFeatures features=0)
 
virtual ~QPaintEngine ()
 
bool isActive () const
 
void setActive (bool newState)
 
virtual bool begin (QPaintDevice *pdev)=0
 
virtual bool end ()=0
 
virtual void updateState (const QPaintEngineState &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 drawEllipse (const QRectF &r)
 
virtual void drawEllipse (const QRect &r)
 
virtual void drawPath (const QPainterPath &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 QPixmap &pm, const QRectF &sr)=0
 
virtual void drawTextItem (const QPointF &p, const QTextItem &textItem)
 
virtual void drawTiledPixmap (const QRectF &r, const QPixmap &pixmap, const QPointF &s)
 
virtual void drawImage (const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
void setPaintDevice (QPaintDevice *device)
 
QPaintDevicepaintDevice () const
 
void setSystemClip (const QRegion &baseClip)
 
QRegion systemClip () const
 
void setSystemRect (const QRect &rect)
 
QRect systemRect () const
 
virtual QPoint coordinateOffset () const
 
virtual Type type () const =0
 
void fix_neg_rect (int *x, int *y, int *w, int *h)
 
bool testDirty (DirtyFlags df)
 
void setDirty (DirtyFlags df)
 
void clearDirty (DirtyFlags df)
 
bool hasFeature (PaintEngineFeatures feature) const
 
QPainterpainter () const
 
void syncState ()
 
bool isExtended () const
 

Protected Member Functions

 QPaintEngine (QPaintEnginePrivate &data, PaintEngineFeatures devcaps=0)
 

Protected Attributes

QPaintEngineStatestate
 
PaintEngineFeatures gccaps
 
uint active: 1
 
uint selfDestruct: 1
 
uint extended: 1
 
QScopedPointer< QPaintEnginePrivate > d_ptr
 

Friends

class QPainterReplayer
 
class QFontEngineBox
 
class QFontEngineMac
 
class QFontEngineWin
 
class QFontEngineQPF1
 
class QFontEngineQPF
 
class QPSPrintEngine
 
class QMacPrintEngine
 
class QMacPrintEnginePrivate
 
class QPainter
 
class QPainterPrivate
 
class QWidget
 
class QWidgetPrivate
 
class QWin32PaintEngine
 
class QWin32PaintEnginePrivate
 
class QMacCGContext
 
class QPreviewPaintEngine
 
class QX11GLPixmapData
 

Member Enumeration Documentation

Enumerator
PrimitiveTransform 
PatternTransform 
PixmapTransform 
PatternBrush 
LinearGradientFill 
RadialGradientFill 
ConicalGradientFill 
AlphaBlend 
PorterDuff 
PainterPaths 
Antialiasing 
BrushStroke 
ConstantOpacity 
MaskedBrush 
PerspectiveTransform 
BlendModes 
ObjectBoundingModeGradients 
RasterOpModes 
PaintOutsidePaintEvent 
AllFeatures 

Definition at line 94 of file qpaintengine.h.

94  {
95  PrimitiveTransform = 0x00000001, // Can transform primitives brushes
96  PatternTransform = 0x00000002, // Can transform pattern brushes
97  PixmapTransform = 0x00000004, // Can transform pixmaps
98  PatternBrush = 0x00000008, // Can fill with pixmaps and standard patterns
99  LinearGradientFill = 0x00000010, // Can fill gradient areas
100  RadialGradientFill = 0x00000020, // Can render radial gradients
101  ConicalGradientFill = 0x00000040, // Can render conical gradients
102  AlphaBlend = 0x00000080, // Can do source over alpha blend
103  PorterDuff = 0x00000100, // Can do general porter duff compositions
104  PainterPaths = 0x00000200, // Can fill, outline and clip paths
105  Antialiasing = 0x00000400, // Can antialias lines
106  BrushStroke = 0x00000800, // Can render brush based pens
107  ConstantOpacity = 0x00001000, // Can render at constant opacity
108  MaskedBrush = 0x00002000, // Can fill with textures that has an alpha channel or mask
109  PerspectiveTransform = 0x00004000, // Can do perspective transformations
110  BlendModes = 0x00008000, // Can do extended Porter&Duff composition
111  ObjectBoundingModeGradients = 0x00010000, // Can do object bounding mode gradients
112  RasterOpModes = 0x00020000, // Can do logical raster operations
113  PaintOutsidePaintEvent = 0x20000000, // Engine is capable of painting outside paint events
114  /* 0x10000000, // Used for emulating
115  QGradient::StretchToDevice,
116  defined in qpainter.cpp
117 
118  0x40000000, // Used internally for emulating opaque backgrounds
119  */
120 
121  AllFeatures = 0xffffffff // For convenience
122  };
enum DirtyFlag
Enumerator
DirtyPen 
DirtyBrush 
DirtyBrushOrigin 
DirtyFont 
DirtyBackground 
DirtyBackgroundMode 
DirtyTransform 
DirtyClipRegion 
DirtyClipPath 
DirtyHints 
DirtyCompositionMode 
DirtyClipEnabled 
DirtyOpacity 
AllDirty 

Definition at line 125 of file qpaintengine.h.

Enumerator
OddEvenMode 
WindingMode 
ConvexMode 
PolylineMode 

Definition at line 144 of file qpaintengine.h.

enum Type
Enumerator
X11 
Windows 
QuickDraw 
CoreGraphics 
MacPrinter 
QWindowSystem 
PostScript 
OpenGL 
Picture 
SVG 
Raster 
Direct3D 
Pdf 
OpenVG 
OpenGL2 
PaintBuffer 
Blitter 
User 
MaxUser 

Definition at line 201 of file qpaintengine.h.

Constructor & Destructor Documentation

QPaintEngine ( PaintEngineFeatures  features = 0)
explicit
virtual ~QPaintEngine ( )
virtual
QPaintEngine ( QPaintEnginePrivate &  data,
PaintEngineFeatures  devcaps = 0 
)
protected

Member Function Documentation

bool isActive ( ) const
inline

Definition at line 154 of file qpaintengine.h.

154 { return active; }
void setActive ( bool  newState)
inline

Definition at line 155 of file qpaintengine.h.

155 { active = newState; }
virtual bool begin ( QPaintDevice pdev)
pure virtual
virtual bool end ( )
pure virtual
virtual void updateState ( const QPaintEngineState state)
pure virtual
virtual void drawRects ( const QRect rects,
int  rectCount 
)
virtual
virtual void drawRects ( const QRectF rects,
int  rectCount 
)
virtual
virtual void drawLines ( const QLine lines,
int  lineCount 
)
virtual
virtual void drawLines ( const QLineF lines,
int  lineCount 
)
virtual
virtual void drawEllipse ( const QRectF r)
virtual
virtual void drawEllipse ( const QRect r)
virtual
virtual void drawPath ( const QPainterPath path)
virtual
virtual void drawPoints ( const QPointF points,
int  pointCount 
)
virtual
virtual void drawPoints ( const QPoint points,
int  pointCount 
)
virtual
virtual void drawPolygon ( const QPointF points,
int  pointCount,
PolygonDrawMode  mode 
)
virtual
virtual void drawPolygon ( const QPoint points,
int  pointCount,
PolygonDrawMode  mode 
)
virtual
virtual void drawPixmap ( const QRectF r,
const QPixmap pm,
const QRectF sr 
)
pure virtual
virtual void drawTextItem ( const QPointF p,
const QTextItem textItem 
)
virtual
virtual void drawTiledPixmap ( const QRectF r,
const QPixmap pixmap,
const QPointF s 
)
virtual
virtual void drawImage ( const QRectF r,
const QImage pm,
const QRectF sr,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)
virtual
void setPaintDevice ( QPaintDevice device)
QPaintDevice* paintDevice ( ) const
void setSystemClip ( const QRegion baseClip)
QRegion systemClip ( ) const
void setSystemRect ( const QRect rect)
QRect systemRect ( ) const
virtual QPoint coordinateOffset ( ) const
virtual
virtual Type type ( ) const
pure virtual
void fix_neg_rect ( int x,
int y,
int w,
int h 
)
inline

Definition at line 332 of file qpaintengine.h.

333 {
334  if (*w < 0) {
335  *w = -*w;
336  *x -= *w - 1;
337  }
338  if (*h < 0) {
339  *h = -*h;
340  *y -= *h - 1;
341  }
342 }
GLenum GLint GLint y
Definition: GLee.h:876
GLenum GLint x
Definition: GLee.h:876
int int int int int int h
Definition: GLee.h:10534
GLubyte GLubyte GLubyte GLubyte w
Definition: GLee.h:1775
bool testDirty ( DirtyFlags  df)
inline

Definition at line 344 of file qpaintengine.h.

344  {
345  Q_ASSERT(state);
346  return ((state->dirtyFlags & df) != 0);
347 }
QPaintEngineState * state
Definition: qpaintengine.h:239
QPaintEngine::DirtyFlags dirtyFlags
Definition: qpaintengine.h:325
void setDirty ( DirtyFlags  df)
inline

Definition at line 349 of file qpaintengine.h.

349  {
350  Q_ASSERT(state);
351  state->dirtyFlags |= df;
352 }
QPaintEngineState * state
Definition: qpaintengine.h:239
QPaintEngine::DirtyFlags dirtyFlags
Definition: qpaintengine.h:325
void clearDirty ( DirtyFlags  df)
inline

Definition at line 354 of file qpaintengine.h.

355 {
356  Q_ASSERT(state);
357  state->dirtyFlags &= ~static_cast<uint>(df);
358 }
QPaintEngineState * state
Definition: qpaintengine.h:239
QPaintEngine::DirtyFlags dirtyFlags
Definition: qpaintengine.h:325
bool hasFeature ( PaintEngineFeatures  feature) const
inline

Definition at line 229 of file qpaintengine.h.

229 { return (gccaps & feature) != 0; }
PaintEngineFeatures gccaps
Definition: qpaintengine.h:240
QPainter* painter ( ) const
void syncState ( )
bool isExtended ( ) const
inline

Definition at line 234 of file qpaintengine.h.

234 { return extended; }

Friends And Related Function Documentation

friend class QPainterReplayer
friend

Definition at line 253 of file qpaintengine.h.

friend class QFontEngineBox
friend

Definition at line 254 of file qpaintengine.h.

friend class QFontEngineMac
friend

Definition at line 255 of file qpaintengine.h.

friend class QFontEngineWin
friend

Definition at line 256 of file qpaintengine.h.

friend class QFontEngineQPF1
friend

Definition at line 261 of file qpaintengine.h.

friend class QFontEngineQPF
friend

Definition at line 264 of file qpaintengine.h.

friend class QPSPrintEngine
friend

Definition at line 266 of file qpaintengine.h.

friend class QMacPrintEngine
friend

Definition at line 267 of file qpaintengine.h.

friend class QMacPrintEnginePrivate
friend

Definition at line 268 of file qpaintengine.h.

friend class QPainter
friend

Definition at line 277 of file qpaintengine.h.

friend class QPainterPrivate
friend

Definition at line 278 of file qpaintengine.h.

friend class QWidget
friend

Definition at line 279 of file qpaintengine.h.

friend class QWidgetPrivate
friend

Definition at line 280 of file qpaintengine.h.

friend class QWin32PaintEngine
friend

Definition at line 281 of file qpaintengine.h.

friend class QWin32PaintEnginePrivate
friend

Definition at line 282 of file qpaintengine.h.

friend class QMacCGContext
friend

Definition at line 283 of file qpaintengine.h.

friend class QPreviewPaintEngine
friend

Definition at line 284 of file qpaintengine.h.

friend class QX11GLPixmapData
friend

Definition at line 285 of file qpaintengine.h.

Member Data Documentation

QPaintEngineState* state
protected

Definition at line 239 of file qpaintengine.h.

PaintEngineFeatures gccaps
protected

Definition at line 240 of file qpaintengine.h.

uint active
protected

Definition at line 242 of file qpaintengine.h.

uint selfDestruct
protected

Definition at line 243 of file qpaintengine.h.

uint extended
protected

Definition at line 244 of file qpaintengine.h.

QScopedPointer<QPaintEnginePrivate> d_ptr
protected

Definition at line 246 of file qpaintengine.h.


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