Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends

QPaintEngine Class Reference

Search for all occurrences

Detailed Description

Definition at line 90 of file qpaintengine.h.

#include <qpaintengine.h>

List of all members.

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,
  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)
QPaintDevice paintDevice () 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
QPainter painter () const
void  syncState ()
bool  isExtended () const

Protected Member Functions

  QPaintEngine (QPaintEnginePrivate &data, PaintEngineFeatures devcaps=0)

Protected Attributes

QPaintEngineState state
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  QFontEngineFT
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.

                            {
        PrimitiveTransform          = 0x00000001, // Can transform primitives brushes
        PatternTransform            = 0x00000002, // Can transform pattern brushes
        PixmapTransform             = 0x00000004, // Can transform pixmaps
        PatternBrush                = 0x00000008, // Can fill with pixmaps and standard patterns
        LinearGradientFill          = 0x00000010, // Can fill gradient areas
        RadialGradientFill          = 0x00000020, // Can render radial gradients
        ConicalGradientFill         = 0x00000040, // Can render conical gradients
        AlphaBlend                  = 0x00000080, // Can do source over alpha blend
        PorterDuff                  = 0x00000100, // Can do general porter duff compositions
        PainterPaths                = 0x00000200, // Can fill, outline and clip paths
        Antialiasing                = 0x00000400, // Can antialias lines
        BrushStroke                 = 0x00000800, // Can render brush based pens
        ConstantOpacity             = 0x00001000, // Can render at constant opacity
        MaskedBrush                 = 0x00002000, // Can fill with textures that has an alpha channel or mask
        PerspectiveTransform        = 0x00004000, // Can do perspective transformations
        BlendModes                  = 0x00008000, // Can do extended Porter&Duff composition
        ObjectBoundingModeGradients = 0x00010000, // Can do object bounding mode gradients
        RasterOpModes               = 0x00020000, // Can do logical raster operations
        PaintOutsidePaintEvent      = 0x20000000, // Engine is capable of painting outside paint events
        /*                          0x10000000, // Used for emulating
                                    QGradient::StretchToDevice,
                                    defined in qpainter.cpp

                                    0x40000000, // Used internally for emulating opaque backgrounds
        */

        AllFeatures               = 0xffffffff  // For convenience
    };
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.

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

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.

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

Definition at line 155 of file qpaintengine.h.

{ 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 328 of file qpaintengine.h.

{
    if (*w < 0) {
        *w = -*w;
        *x -= *w - 1;
    }
    if (*h < 0) {
        *h = -*h;
        *y -= *h - 1;
    }
}
bool testDirty ( DirtyFlags  df ) [inline]

Definition at line 340 of file qpaintengine.h.

                                                 {
    Q_ASSERT(state);
    return ((state->dirtyFlags & df) != 0);
}
void setDirty ( DirtyFlags  df ) [inline]

Definition at line 345 of file qpaintengine.h.

                                                {
    Q_ASSERT(state);
    state->dirtyFlags |= df;
}
void clearDirty ( DirtyFlags  df ) [inline]

Definition at line 350 of file qpaintengine.h.

{
    Q_ASSERT(state);
    state->dirtyFlags &= ~static_cast<uint>(df);
}
bool hasFeature ( PaintEngineFeatures  feature ) const [inline]

Definition at line 228 of file qpaintengine.h.

{ return (gccaps & feature) != 0; }
QPainter* painter ( ) const
void syncState ( )
bool isExtended ( ) const [inline]

Definition at line 233 of file qpaintengine.h.

{ return extended; }

Friends And Related Function Documentation

friend class QPainterReplayer [friend]

Definition at line 252 of file qpaintengine.h.

friend class QFontEngineBox [friend]

Definition at line 253 of file qpaintengine.h.

friend class QFontEngineMac [friend]

Definition at line 254 of file qpaintengine.h.

friend class QFontEngineWin [friend]

Definition at line 255 of file qpaintengine.h.

friend class QFontEngineFT [friend]

Definition at line 257 of file qpaintengine.h.

friend class QFontEngineQPF1 [friend]

Definition at line 260 of file qpaintengine.h.

friend class QFontEngineQPF [friend]

Definition at line 263 of file qpaintengine.h.

friend class QPSPrintEngine [friend]

Definition at line 265 of file qpaintengine.h.

friend class QMacPrintEngine [friend]

Definition at line 266 of file qpaintengine.h.

friend class QMacPrintEnginePrivate [friend]

Definition at line 267 of file qpaintengine.h.

friend class QPainter [friend]

Definition at line 273 of file qpaintengine.h.

friend class QPainterPrivate [friend]

Definition at line 274 of file qpaintengine.h.

friend class QWidget [friend]

Definition at line 275 of file qpaintengine.h.

friend class QWidgetPrivate [friend]

Definition at line 276 of file qpaintengine.h.

friend class QWin32PaintEngine [friend]

Definition at line 277 of file qpaintengine.h.

friend class QWin32PaintEnginePrivate [friend]

Definition at line 278 of file qpaintengine.h.

friend class QMacCGContext [friend]

Definition at line 279 of file qpaintengine.h.

friend class QPreviewPaintEngine [friend]

Definition at line 280 of file qpaintengine.h.

friend class QX11GLPixmapData [friend]

Definition at line 281 of file qpaintengine.h.


Member Data Documentation

QPaintEngineState* state [protected]

Definition at line 238 of file qpaintengine.h.

PaintEngineFeatures gccaps [protected]

Definition at line 239 of file qpaintengine.h.

uint active [protected]

Definition at line 241 of file qpaintengine.h.

uint selfDestruct [protected]

Definition at line 242 of file qpaintengine.h.

uint extended [protected]

Definition at line 243 of file qpaintengine.h.

QScopedPointer<QPaintEnginePrivate> d_ptr [protected]

Definition at line 245 of file qpaintengine.h.


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

QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine
QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine QPaintEngine