Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QPaintEngineEx Class Referenceabstract

#include <qpaintengineex_p.h>

+ Inheritance diagram for QPaintEngineEx:
+ Collaboration diagram for QPaintEngineEx:

Public Types

enum  Flags { DoNotEmulate = 0x01 , IsEmulationEngine = 0x02 }
 
- Public Types inherited from QPaintEngine
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
}
 This enum is used to describe the features or capabilities that the paint engine has. More...
 
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
}
 \value DirtyPen The pen is dirty and needs to be updated. More...
 
enum  PolygonDrawMode { OddEvenMode , WindingMode , ConvexMode , PolylineMode }
 \value OddEvenMode The polygon should be drawn using OddEven fill rule. More...
 
enum  Type {
  X11 , Windows , QuickDraw , CoreGraphics ,
  MacPrinter , QWindowSystem , OpenGL , Picture ,
  SVG , Raster , Direct3D , Pdf ,
  OpenVG , OpenGL2 , PaintBuffer , Blitter ,
  Direct2D , User = 50 , MaxUser = 100
}
 \value X11 \value Windows \value MacPrinter \value CoreGraphics \macos's Quartz2D (CoreGraphics) \value QuickDraw \macos's QuickDraw \value QWindowSystem Qt for Embedded Linux \value OpenGL \value Picture QPicture format \value SVG Scalable Vector Graphics XML format \value Raster \value Direct3D Windows only, Direct3D based engine \value Pdf Portable Document Format \value OpenVG \value User First user type ID \value MaxUser Last user type ID \value OpenGL2 \value PaintBuffer \value Blitter \value Direct2D Windows only, Direct2D based engine More...
 

Public Member Functions

 QPaintEngineEx ()
 
virtual QPainterStatecreateState (QPainterState *orig) const
 
virtual void draw (const QVectorPath &path)
 
virtual void fill (const QVectorPath &path, const QBrush &brush)=0
 
virtual void stroke (const QVectorPath &path, const QPen &pen)
 
virtual void clip (const QVectorPath &path, Qt::ClipOperation op)=0
 
virtual void clip (const QRect &rect, Qt::ClipOperation op)
 
virtual void clip (const QRegion &region, Qt::ClipOperation op)
 
virtual void clip (const QPainterPath &path, Qt::ClipOperation op)
 
virtual void clipEnabledChanged ()=0
 
virtual void penChanged ()=0
 
virtual void brushChanged ()=0
 
virtual void brushOriginChanged ()=0
 
virtual void opacityChanged ()=0
 
virtual void compositionModeChanged ()=0
 
virtual void renderHintsChanged ()=0
 
virtual void transformChanged ()=0
 
virtual void fillRect (const QRectF &rect, const QBrush &brush)
 
virtual void fillRect (const QRectF &rect, const QColor &color)
 
virtual void drawRoundedRect (const QRectF &rect, qreal xrad, qreal yrad, Qt::SizeMode mode)
 
virtual void drawRects (const QRect *rects, int rectCount) override
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default implementation converts the first rectCount rectangles in the buffer rects to a QRectF and calls the floating point version of this function.
 
virtual void drawRects (const QRectF *rects, int rectCount) override
 Draws the first rectCount rectangles in the buffer rects.
 
virtual void drawLines (const QLine *lines, int lineCount) override
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default implementation converts the first lineCount lines in lines to a QLineF and calls the floating point version of this function.
 
virtual void drawLines (const QLineF *lines, int lineCount) override
 The default implementation splits the list of lines in lines into lineCount separate calls to drawPath() or drawPolygon() depending on the feature set of the paint engine.
 
virtual void drawEllipse (const QRectF &r) override
 Reimplement this function to draw the largest ellipse that can be contained within rectangle rect.
 
virtual void drawEllipse (const QRect &r) override
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default implementation of this function calls the floating point version of this function.
 
virtual void drawPath (const QPainterPath &path) override
 The default implementation ignores the path and does nothing.
 
virtual void drawPoints (const QPointF *points, int pointCount) override
 Draws the first pointCount points in the buffer points.
 
virtual void drawPoints (const QPoint *points, int pointCount) override
 Draws the first pointCount points in the buffer points.
 
virtual void drawPolygon (const QPointF *points, int pointCount, PolygonDrawMode mode) override
 Reimplement this virtual function to draw the polygon defined by the pointCount first points in points, using mode mode.
 
virtual void drawPolygon (const QPoint *points, int pointCount, PolygonDrawMode mode) override
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Reimplement this virtual function to draw the polygon defined by the pointCount first points in points, using mode mode.
 
virtual void drawPixmap (const QRectF &r, const QPixmap &pm, const QRectF &sr) override=0
 Reimplement this function to draw the part of the pm specified by the sr rectangle in the given r.
 
virtual void drawPixmap (const QPointF &pos, const QPixmap &pm)
 
virtual void drawImage (const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor) override=0
 Reimplement this function to draw the part of the image specified by the sr rectangle in the given rectangle using the given conversion flags flags, to convert it to a pixmap.
 
virtual void drawImage (const QPointF &pos, const QImage &image)
 
virtual void drawTiledPixmap (const QRectF &r, const QPixmap &pixmap, const QPointF &s) override
 Reimplement this function to draw the pixmap in the given rect, starting at the given p.
 
virtual void drawPixmapFragments (const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap, QFlags< QPainter::PixmapFragmentHint > hints)
 
virtual void updateState (const QPaintEngineState &state) override
 Reimplement this function to update the state of a paint engine.
 
virtual void drawStaticTextItem (QStaticTextItem *)
 
virtual void setState (QPainterState *s)
 
QPainterStatestate ()
 
const QPainterStatestate () const
 
virtual void sync ()
 
virtual void beginNativePainting ()
 
virtual void endNativePainting ()
 
virtual uint flags () const
 
virtual bool requiresPretransformedGlyphPositions (QFontEngine *fontEngine, const QTransform &m) const
 
virtual bool shouldDrawCachedGlyphs (QFontEngine *fontEngine, const QTransform &m) const
 
- Public Member Functions inherited from QPaintEngine
 QPaintEngine (PaintEngineFeatures features=PaintEngineFeatures())
 Creates a paint engine with the featureset specified by caps.
 
virtual ~QPaintEngine ()
 Destroys the paint engine.
 
bool isActive () const
 Returns true if the paint engine is actively drawing; otherwise returns false.
 
void setActive (bool newState)
 Sets the active state of the paint engine to state.
 
virtual bool begin (QPaintDevice *pdev)=0
 Reimplement this function to initialise your paint engine when painting is to start on the paint device pdev.
 
virtual bool end ()=0
 Reimplement this function to finish painting on the current paint device.
 
virtual void drawTextItem (const QPointF &p, const QTextItem &textItem)
 This function draws the text item textItem at position p.
 
void setPaintDevice (QPaintDevice *device)
 
QPaintDevicepaintDevice () const
 Returns the device that this engine is painting on, if painting is active; otherwise returns \nullptr.
 
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
 Reimplement this function to return the paint engine \l{Type}.
 
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
 Returns true if the paint engine supports the specified feature; otherwise returns false.
 
QPainterpainter () const
 Returns the paint engine's painter.
 
void syncState ()
 
bool isExtended () const
 
virtual QPixmap createPixmap (QSize size)
 
virtual QPixmap createPixmapFromImage (QImage image, Qt::ImageConversionFlags flags=Qt::AutoColor)
 

Protected Member Functions

 QPaintEngineEx (QPaintEngineExPrivate &data)
 
- Protected Member Functions inherited from QPaintEngine
 QPaintEngine (QPaintEnginePrivate &data, PaintEngineFeatures devcaps=PaintEngineFeatures())
 

Additional Inherited Members

- Protected Attributes inherited from QPaintEngine
QPaintEngineStatestate
 
PaintEngineFeatures gccaps
 
uint active: 1
 
uint selfDestruct: 1
 
uint extended: 1
 
QScopedPointer< QPaintEnginePrivated_ptr
 

Detailed Description

Definition at line 39 of file qpaintengineex_p.h.

Member Enumeration Documentation

◆ Flags

Enumerator
DoNotEmulate 
IsEmulationEngine 

Definition at line 113 of file qpaintengineex_p.h.

Constructor & Destructor Documentation

◆ QPaintEngineEx() [1/2]

QPaintEngineEx::QPaintEngineEx ( )

Definition at line 331 of file qpaintengineex.cpp.

References QPaintEngine::extended.

◆ QPaintEngineEx() [2/2]

QPaintEngineEx::QPaintEngineEx ( QPaintEngineExPrivate & data)
protected

Definition at line 337 of file qpaintengineex.cpp.

References QPaintEngine::extended.

Member Function Documentation

◆ beginNativePainting()

virtual void QPaintEngineEx::beginNativePainting ( )
inlinevirtual

Reimplemented in QEmulationPaintEngine, and QOpenGL2PaintEngineEx.

Definition at line 109 of file qpaintengineex_p.h.

Referenced by QEmulationPaintEngine::beginNativePainting().

+ Here is the caller graph for this function:

◆ brushChanged()

virtual void QPaintEngineEx::brushChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by QEmulationPaintEngine::brushChanged().

+ Here is the caller graph for this function:

◆ brushOriginChanged()

virtual void QPaintEngineEx::brushOriginChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by QEmulationPaintEngine::brushOriginChanged().

+ Here is the caller graph for this function:

◆ clip() [1/4]

void QPaintEngineEx::clip ( const QPainterPath & path,
Qt::ClipOperation op )
virtual

Definition at line 677 of file qpaintengineex.cpp.

References clip(), and qtVectorPathForPath().

+ Here is the call graph for this function:

◆ clip() [2/4]

void QPaintEngineEx::clip ( const QRect & rect,
Qt::ClipOperation op )
virtual

Reimplemented in QRasterPaintEngine.

Definition at line 600 of file qpaintengineex.cpp.

References clip(), and QVectorPath::RectangleHint.

+ Here is the call graph for this function:

◆ clip() [3/4]

void QPaintEngineEx::clip ( const QRegion & region,
Qt::ClipOperation op )
virtual

Reimplemented in QRasterPaintEngine.

Definition at line 613 of file qpaintengineex.cpp.

References QRegion::begin(), clip(), QPainterPath::LineToElement, QPainterPath::MoveToElement, pos, qpaintengineex_rect4_types_32, and QRegion::rectCount().

+ Here is the call graph for this function:

◆ clip() [4/4]

virtual void QPaintEngineEx::clip ( const QVectorPath & path,
Qt::ClipOperation op )
pure virtual

Implemented in QEmulationPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by clip(), clip(), QRasterPaintEngine::clip(), clip(), QRasterPaintEngine::clip(), and QEmulationPaintEngine::clip().

+ Here is the caller graph for this function:

◆ clipEnabledChanged()

virtual void QPaintEngineEx::clipEnabledChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by QEmulationPaintEngine::clipEnabledChanged().

+ Here is the caller graph for this function:

◆ compositionModeChanged()

virtual void QPaintEngineEx::compositionModeChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by QEmulationPaintEngine::compositionModeChanged().

+ Here is the caller graph for this function:

◆ createState()

QPainterState * QPaintEngineEx::createState ( QPainterState * orig) const
virtual

Reimplemented in QEmulationPaintEngine, QRasterPaintEngine, and QOpenGL2PaintEngineEx.

Definition at line 343 of file qpaintengineex.cpp.

Referenced by QEmulationPaintEngine::createState().

+ Here is the caller graph for this function:

◆ draw()

void QPaintEngineEx::draw ( const QVectorPath & path)
virtual

Reimplemented in QWindowsDirect2DPaintEngine.

Definition at line 588 of file qpaintengineex.cpp.

References QPainterState::brush, fill(), Qt::NoBrush, Qt::NoPen, QPainterState::pen, qbrush_style(), qpen_brush(), qpen_style(), state(), and stroke().

Referenced by drawEllipse(), drawPath(), drawPolygon(), drawPolygon(), drawRects(), drawRects(), and drawRoundedRect().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawEllipse() [1/2]

void QPaintEngineEx::drawEllipse ( const QRect & r)
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default implementation of this function calls the floating point version of this function.

Reimplemented from QPaintEngine.

Reimplemented in QWindowsDirect2DPaintEngine.

Definition at line 827 of file qpaintengineex.cpp.

References drawEllipse().

+ Here is the call graph for this function:

◆ drawEllipse() [2/2]

void QPaintEngineEx::drawEllipse ( const QRectF & rect)
overridevirtual

Reimplement this function to draw the largest ellipse that can be contained within rectangle rect.

The default implementation calls drawPolygon().

Reimplemented from QPaintEngine.

Reimplemented in QWindowsDirect2DPaintEngine, QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 810 of file qpaintengineex.cpp.

References draw(), QVectorPath::EllipseHint, ptr(), qpaintengineex_ellipse_types, and qt_curves_for_arc().

Referenced by drawEllipse(), QWindowsDirect2DPaintEngine::drawEllipse(), QWindowsDirect2DPaintEngine::drawEllipse(), and QRasterPaintEngine::drawEllipse().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawImage() [1/2]

void QPaintEngineEx::drawImage ( const QPointF & pos,
const QImage & image )
virtual

Reimplemented in QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 937 of file qpaintengineex.cpp.

References drawImage(), and pos.

+ Here is the call graph for this function:

◆ drawImage() [2/2]

virtual void QPaintEngineEx::drawImage ( const QRectF & r,
const QImage & pm,
const QRectF & sr,
Qt::ImageConversionFlags flags = Qt::AutoColor )
overridepure virtual

Reimplement this function to draw the part of the image specified by the sr rectangle in the given rectangle using the given conversion flags flags, to convert it to a pixmap.

Reimplemented from QPaintEngine.

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by drawImage(), and QEmulationPaintEngine::drawImage().

+ Here is the caller graph for this function:

◆ drawLines() [1/2]

void QPaintEngineEx::drawLines ( const QLine * lines,
int lineCount )
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default implementation converts the first lineCount lines in lines to a QLineF and calls the floating point version of this function.

Reimplemented from QPaintEngine.

Reimplemented in QRasterPaintEngine.

Definition at line 776 of file qpaintengineex.cpp.

References i, QVectorPath::LinesHint, qMin(), qpaintengineex_line_types_16, state(), and stroke().

Referenced by QRasterPaintEngine::drawLines(), and QRasterPaintEngine::drawLines().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawLines() [2/2]

void QPaintEngineEx::drawLines ( const QLineF * lines,
int lineCount )
overridevirtual

The default implementation splits the list of lines in lines into lineCount separate calls to drawPath() or drawPolygon() depending on the feature set of the paint engine.

Reimplemented from QPaintEngine.

Reimplemented in QRasterPaintEngine.

Definition at line 795 of file qpaintengineex.cpp.

References QVectorPath::LinesHint, qMin(), qpaintengineex_line_types_16, state(), and stroke().

+ Here is the call graph for this function:

◆ drawPath()

void QPaintEngineEx::drawPath ( const QPainterPath & path)
overridevirtual

The default implementation ignores the path and does nothing.

Reimplemented from QPaintEngine.

Definition at line 832 of file qpaintengineex.cpp.

References draw(), and qtVectorPathForPath().

+ Here is the call graph for this function:

◆ drawPixmap() [1/2]

void QPaintEngineEx::drawPixmap ( const QPointF & pos,
const QPixmap & pm )
virtual

Reimplemented in QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 932 of file qpaintengineex.cpp.

References QPixmap::deviceIndependentSize(), drawPixmap(), pos, and QPixmap::rect().

+ Here is the call graph for this function:

◆ drawPixmap() [2/2]

virtual void QPaintEngineEx::drawPixmap ( const QRectF & r,
const QPixmap & pm,
const QRectF & sr )
overridepure virtual

Reimplement this function to draw the part of the pm specified by the sr rectangle in the given r.

Implements QPaintEngine.

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by drawPixmap(), QEmulationPaintEngine::drawPixmap(), and drawPixmapFragments().

+ Here is the caller graph for this function:

◆ drawPixmapFragments()

void QPaintEngineEx::drawPixmapFragments ( const QPainter::PixmapFragment * fragments,
int fragmentCount,
const QPixmap & pixmap,
QFlags< QPainter::PixmapFragmentHint > hints )
virtual

Definition at line 959 of file qpaintengineex.cpp.

References drawPixmap(), QPainter::PixmapFragment::height, i, QPainterState::matrix, QPainter::PixmapFragment::opacity, QPainterState::opacity, opacityChanged(), pixmap, QTransform::rotate(), QPainter::PixmapFragment::scaleX, QPainter::PixmapFragment::scaleY, state(), transformChanged(), QTransform::translate(), and QPainter::PixmapFragment::width.

Referenced by QOpenGL2PaintEngineEx::drawPixmapFragments().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawPoints() [1/2]

void QPaintEngineEx::drawPoints ( const QPoint * points,
int pointCount )
overridevirtual

Draws the first pointCount points in the buffer points.

The default implementation converts the first pointCount QPoints in points to QPointFs and calls the floating point version of drawPoints.

Reimplemented from QPaintEngine.

Reimplemented in QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 870 of file qpaintengineex.cpp.

References QPen::brush(), QPen::capStyle(), Qt::FlatCap, i, QBrush::isOpaque(), QVectorPath::LinesHint, QPainterState::pen, qMin(), qpaintengineex_line_types_16, QPen::setCapStyle(), Qt::SquareCap, state(), and stroke().

+ Here is the call graph for this function:

◆ drawPoints() [2/2]

void QPaintEngineEx::drawPoints ( const QPointF * points,
int pointCount )
overridevirtual

Draws the first pointCount points in the buffer points.

Reimplemented from QPaintEngine.

Reimplemented in QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 839 of file qpaintengineex.cpp.

References QPen::brush(), QPen::capStyle(), Qt::FlatCap, i, QBrush::isOpaque(), QVectorPath::LinesHint, QPainterState::pen, qMin(), qpaintengineex_line_types_16, QPen::setCapStyle(), Qt::SquareCap, state(), and stroke().

Referenced by QRasterPaintEngine::drawPoints(), and QRasterPaintEngine::drawPoints().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawPolygon() [1/2]

void QPaintEngineEx::drawPolygon ( const QPoint * points,
int pointCount,
PolygonDrawMode mode )
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Reimplement this virtual function to draw the polygon defined by the pointCount first points in points, using mode mode.

Note
At least one of the drawPolygon() functions must be reimplemented.

Reimplemented from QPaintEngine.

Reimplemented in QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 914 of file qpaintengineex.cpp.

References draw(), i, QVectorPath::polygonFlags(), QPaintEngine::PolylineMode, Q_ASSERT, state(), and stroke().

+ Here is the call graph for this function:

◆ drawPolygon() [2/2]

void QPaintEngineEx::drawPolygon ( const QPointF * points,
int pointCount,
PolygonDrawMode mode )
overridevirtual

Reimplement this virtual function to draw the polygon defined by the pointCount first points in points, using mode mode.

Note
At least one of the drawPolygon() functions must be reimplemented.

Reimplemented from QPaintEngine.

Reimplemented in QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 903 of file qpaintengineex.cpp.

References draw(), QVectorPath::polygonFlags(), QPaintEngine::PolylineMode, Q_ASSERT, state(), and stroke().

+ Here is the call graph for this function:

◆ drawRects() [1/2]

void QPaintEngineEx::drawRects ( const QRect * rects,
int rectCount )
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default implementation converts the first rectCount rectangles in the buffer rects to a QRectF and calls the floating point version of this function.

Reimplemented from QPaintEngine.

Reimplemented in QBlitterPaintEngine, QRasterPaintEngine, and QWindowsDirect2DPaintEngine.

Definition at line 700 of file qpaintengineex.cpp.

References draw(), i, QVectorPath::RectangleHint, and QRect::x().

Referenced by QWindowsDirect2DPaintEngine::drawRects(), QRasterPaintEngine::drawRects(), and QWindowsDirect2DPaintEngine::drawRects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawRects() [2/2]

void QPaintEngineEx::drawRects ( const QRectF * rects,
int rectCount )
overridevirtual

Draws the first rectCount rectangles in the buffer rects.

The default implementation of this function calls drawPath() or drawPolygon() depending on the feature set of the paint engine.

Reimplemented from QPaintEngine.

Reimplemented in QBlitterPaintEngine, QRasterPaintEngine, and QWindowsDirect2DPaintEngine.

Definition at line 717 of file qpaintengineex.cpp.

References draw(), i, QVectorPath::RectangleHint, and QRectF::x().

+ Here is the call graph for this function:

◆ drawRoundedRect()

void QPaintEngineEx::drawRoundedRect ( const QRectF & rect,
qreal xrad,
qreal yrad,
Qt::SizeMode mode )
virtual

Definition at line 734 of file qpaintengineex.cpp.

References draw(), KAPPA, qMin(), qpaintengineex_roundedrect_types, rect, Qt::RelativeSize, and QVectorPath::RoundedRectHint.

+ Here is the call graph for this function:

◆ drawStaticTextItem()

void QPaintEngineEx::drawStaticTextItem ( QStaticTextItem * staticTextItem)
virtual

Reimplemented in QBlitterPaintEngine, QEmulationPaintEngine, QWindowsDirect2DPaintEngine, QRasterPaintEngine, and QOpenGL2PaintEngineEx.

Definition at line 1046 of file qpaintengineex.cpp.

References QFontEngine::addGlyphsToPath(), QPainter::Antialiasing, fill(), QFontEngine::fontDef, QFont::NoAntialias, qtVectorPathForPath(), renderHintsChanged(), state(), QFontDef::styleStrategy, QPainter::TextAntialiasing, and Qt::WindingFill.

Referenced by QPainterPrivate::drawGlyphs(), QEmulationPaintEngine::drawStaticTextItem(), QWindowsDirect2DPaintEngine::drawStaticTextItem(), QRasterPaintEngine::drawStaticTextItem(), QOpenGL2PaintEngineEx::drawStaticTextItem(), and QRasterPaintEngine::drawTextItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawTiledPixmap()

void QPaintEngineEx::drawTiledPixmap ( const QRectF & rect,
const QPixmap & pixmap,
const QPointF & p )
overridevirtual

Reimplement this function to draw the pixmap in the given rect, starting at the given p.

The pixmap will be drawn repeatedly until the rect is filled.

Reimplemented from QPaintEngine.

Reimplemented in QEmulationPaintEngine, QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 942 of file qpaintengineex.cpp.

References fill(), QTransform::fromTranslate(), pixmap, qFuzzyCompare(), QVectorPath::RectangleHint, QTransform::scale(), state(), and xform.

Referenced by QEmulationPaintEngine::drawTiledPixmap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ endNativePainting()

virtual void QPaintEngineEx::endNativePainting ( )
inlinevirtual

Reimplemented in QEmulationPaintEngine, and QOpenGL2PaintEngineEx.

Definition at line 110 of file qpaintengineex_p.h.

Referenced by QEmulationPaintEngine::endNativePainting().

+ Here is the caller graph for this function:

◆ fill()

virtual void QPaintEngineEx::fill ( const QVectorPath & path,
const QBrush & brush )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by draw(), drawStaticTextItem(), drawTiledPixmap(), QEmulationPaintEngine::fill(), fillRect(), and stroke().

+ Here is the caller graph for this function:

◆ fillRect() [1/2]

void QPaintEngineEx::fillRect ( const QRectF & rect,
const QBrush & brush )
virtual

Reimplemented in QBlitterPaintEngine, QRasterPaintEngine, and QWindowsDirect2DPaintEngine.

Definition at line 687 of file qpaintengineex.cpp.

References fill(), and QVectorPath::RectangleHint.

Referenced by QWindowsDirect2DPaintEngine::fillRect(), and fillRect().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fillRect() [2/2]

void QPaintEngineEx::fillRect ( const QRectF & rect,
const QColor & color )
virtual

Reimplemented in QBlitterPaintEngine, and QRasterPaintEngine.

Definition at line 695 of file qpaintengineex.cpp.

References fillRect().

+ Here is the call graph for this function:

◆ flags()

virtual uint QPaintEngineEx::flags ( ) const
inlinevirtual

Reimplemented in QEmulationPaintEngine.

Definition at line 118 of file qpaintengineex_p.h.

Referenced by QPainterPrivate::checkEmulation().

+ Here is the caller graph for this function:

◆ opacityChanged()

virtual void QPaintEngineEx::opacityChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by drawPixmapFragments(), and QEmulationPaintEngine::opacityChanged().

+ Here is the caller graph for this function:

◆ penChanged()

virtual void QPaintEngineEx::penChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by QPainterPrivate::initFrom(), and QEmulationPaintEngine::penChanged().

+ Here is the caller graph for this function:

◆ renderHintsChanged()

virtual void QPaintEngineEx::renderHintsChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by drawStaticTextItem(), QPainterPrivate::drawTextItem(), and QEmulationPaintEngine::renderHintsChanged().

+ Here is the caller graph for this function:

◆ requiresPretransformedGlyphPositions()

bool QPaintEngineEx::requiresPretransformedGlyphPositions ( QFontEngine * fontEngine,
const QTransform & m ) const
virtual

Reimplemented in QOpenGL2PaintEngineEx, and QRasterPaintEngine.

Definition at line 1078 of file qpaintengineex.cpp.

Referenced by QRasterPaintEngine::requiresPretransformedGlyphPositions().

+ Here is the caller graph for this function:

◆ setState()

void QPaintEngineEx::setState ( QPainterState * s)
virtual

Reimplemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Definition at line 990 of file qpaintengineex.cpp.

References QPaintEngine::state.

Referenced by QPainterPrivate::checkEmulation(), QEmulationPaintEngine::setState(), QRasterPaintEngine::setState(), QOpenGL2PaintEngineEx::setState(), and QWindowsDirect2DPaintEngine::setState().

+ Here is the caller graph for this function:

◆ shouldDrawCachedGlyphs()

bool QPaintEngineEx::shouldDrawCachedGlyphs ( QFontEngine * fontEngine,
const QTransform & m ) const
virtual

Reimplemented in QOpenGL2PaintEngineEx, and QRasterPaintEngine.

Definition at line 1083 of file qpaintengineex.cpp.

References QFontEngine::fontDef, QFontEngine::Format_ARGB, QFontEngine::glyphFormat, QFontDef::pixelSize, qAbs(), qEnvironmentVariableIntValue(), and QT_MAX_CACHED_GLYPH_SIZE.

Referenced by QOpenGL2PaintEngineEx::shouldDrawCachedGlyphs(), and QRasterPaintEngine::shouldDrawCachedGlyphs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ state() [1/2]

◆ state() [2/2]

const QPainterState * QPaintEngineEx::state ( ) const
inline

Definition at line 105 of file qpaintengineex_p.h.

References QPaintEngine::state.

◆ stroke()

void QPaintEngineEx::stroke ( const QVectorPath & path,
const QPen & pen )
virtual

Reimplemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Definition at line 352 of file qpaintengineex.cpp.

References QRectF::adjusted(), QPen::brush(), c2, QPen::capStyle(), QPen::color(), QVectorPath::CurvedShapeMask, QPainterPath::CurveToElement, d, QPen::dashOffset(), QPen::dashPattern(), fill(), i, QPen::isCosmetic(), QRectF::isNull(), QPen::joinStyle(), QPainterPath::LineToElement, QTransform::map(), QPainterState::matrix, QPen::miterLimit(), QPainterPath::MoveToElement, QVectorPath::NonConvexShapeMask, Qt::NoPen, qbrush_style(), qDebug, qFuzzyIsNull(), qMax(), qMin(), qpaintengineex_cubicTo(), qpaintengineex_lineTo(), qpaintengineex_moveTo(), qpen_fast_equals(), QDashStroker::repetitionLimit(), Qt::RoundCap, Qt::RoundJoin, QPen::setColor(), QPen::setJoinStyle(), QPen::setStyle(), Qt::SolidLine, Qt::SolidPattern, state(), QPen::style(), transformChanged(), QRectF::translate(), QTransform::TxProject, QPen::widthF(), QVectorPath::WindingFill, QPointF::x(), xform, and QPointF::y().

Referenced by draw(), QWindowsDirect2DPaintEngine::draw(), drawLines(), drawLines(), drawPoints(), drawPoints(), QRasterPaintEngine::drawPolygon(), drawPolygon(), QRasterPaintEngine::drawPolygon(), drawPolygon(), QRasterPaintEngine::drawRects(), QEmulationPaintEngine::stroke(), QRasterPaintEngine::stroke(), QOpenGL2PaintEngineEx::stroke(), and QWindowsDirect2DPaintEngine::stroke().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sync()

virtual void QPaintEngineEx::sync ( )
inlinevirtual

Definition at line 107 of file qpaintengineex_p.h.

◆ transformChanged()

virtual void QPaintEngineEx::transformChanged ( )
pure virtual

Implemented in QEmulationPaintEngine, QBlitterPaintEngine, QRasterPaintEngine, QOpenGL2PaintEngineEx, and QWindowsDirect2DPaintEngine.

Referenced by QPainterPrivate::draw_helper(), drawPixmapFragments(), stroke(), QEmulationPaintEngine::transformChanged(), and QPainterPrivate::updateMatrix().

+ Here is the caller graph for this function:

◆ updateState()

void QPaintEngineEx::updateState ( const QPaintEngineState & state)
overridevirtual

Reimplement this function to update the state of a paint engine.

When implemented, this function is responsible for checking the paint engine's current state and update the properties that are changed. Use the QPaintEngineState::state() function to find out which properties that must be updated, then use the corresponding \l {GetFunction}{get function} to retrieve the current values for the given properties.

See also
QPaintEngineState

Implements QPaintEngine.

Definition at line 996 of file qpaintengineex.cpp.


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