Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QX11PaintEngine Class Reference

#include <qpaintengine_x11_p.h>

Inheritance diagram for QX11PaintEngine:
Collaboration diagram for QX11PaintEngine:

Public Member Functions

 QX11PaintEngine ()
 ~QX11PaintEngine ()
bool begin (QPaintDevice *pdev) override
 Reimplement this function to initialise your paint engine when painting is to start on the paint device pdev.
bool end () override
 Reimplement this function to finish painting on the current paint device.
void updateState (const QPaintEngineState &state) override
 Reimplement this function to update the state of a paint engine.
void updatePen (const QPen &pen)
void updateBrush (const QBrush &brush, const QPointF &pt)
void updateRenderHints (QPainter::RenderHints hints)
void updateFont (const QFont &font)
void updateMatrix (const QTransform &matrix)
void updateClipRegion_dev (const QRegion &region, Qt::ClipOperation op)
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.
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.
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.
void drawRects (const QRectF *rects, int rectCount) override
 Draws the first rectCount rectangles in the buffer rects.
void drawPoints (const QPoint *points, int pointCount) override
 Draws the first pointCount points in the buffer points.
void drawPoints (const QPointF *points, int pointCount) override
 Draws the first pointCount points in the buffer points.
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.
void drawEllipse (const QRectF &r) override
 Reimplement this function to draw the largest ellipse that can be contained within rectangle rect.
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.
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.
void drawPixmap (const QRectF &r, const QPixmap &pm, const QRectF &sr) override
 Reimplement this function to draw the part of the pm specified by the sr rectangle in the given r.
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.
void drawPath (const QPainterPath &path) override
 The default implementation ignores the path and does nothing.
void drawTextItem (const QPointF &p, const QTextItem &textItem) override
 This function draws the text item textItem at position p.
void drawImage (const QRectF &r, const QImage &img, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor) override
 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 Drawable handle () const
Type type () const override
 Reimplement this function to return the paint engine \l{Type}.
QPainter::RenderHints supportedRenderHints () 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.
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
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

 QX11PaintEngine (QX11PaintEnginePrivate &dptr)
Protected Member Functions inherited from QPaintEngine
 QPaintEngine (QPaintEnginePrivate &data, PaintEngineFeatures devcaps=PaintEngineFeatures())

Friends

class QPixmap
class QFontEngineBox
GC qt_x11_get_pen_gc (QPainter *p)
 Returns the X11 specific pen GC for the painter p.
GC qt_x11_get_brush_gc (QPainter *p)
 Returns the X11 specific brush GC for the painter p.

Additional Inherited Members

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...
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 22 of file qpaintengine_x11_p.h.

Constructor & Destructor Documentation

◆ QX11PaintEngine() [1/2]

QX11PaintEngine::QX11PaintEngine ( )

Definition at line 603 of file qpaintengine_x11.cpp.

◆ ~QX11PaintEngine()

QX11PaintEngine::~QX11PaintEngine ( )

Definition at line 617 of file qpaintengine_x11.cpp.

◆ QX11PaintEngine() [2/2]

QX11PaintEngine::QX11PaintEngine ( QX11PaintEnginePrivate & dptr)
protected

Definition at line 610 of file qpaintengine_x11.cpp.

References QX11PaintEngine().

Referenced by QX11PaintEngine().

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

Member Function Documentation

◆ begin()

bool QX11PaintEngine::begin ( QPaintDevice * pdev)
overridevirtual

Reimplement this function to initialise your paint engine when painting is to start on the paint device pdev.

Return true if the initialization was successful; otherwise return false.

See also
end(), isActive()

Implements QPaintEngine.

Definition at line 625 of file qpaintengine_x11.cpp.

◆ drawEllipse() [1/2]

void QX11PaintEngine::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.

Definition at line 1590 of file qpaintengine_x11.cpp.

◆ drawEllipse() [2/2]

void QX11PaintEngine::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.

Definition at line 1581 of file qpaintengine_x11.cpp.

◆ drawImage()

void QX11PaintEngine::drawImage ( const QRectF & r,
const QImage & pm,
const QRectF & sr,
Qt::ImageConversionFlags flags = Qt::AutoColor )
overridevirtual

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.

Definition at line 2021 of file qpaintengine_x11.cpp.

◆ drawLines() [1/2]

void QX11PaintEngine::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.

Definition at line 801 of file qpaintengine_x11.cpp.

◆ drawLines() [2/2]

void QX11PaintEngine::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.

Definition at line 841 of file qpaintengine_x11.cpp.

◆ drawPath()

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

The default implementation ignores the path and does nothing.

Reimplemented from QPaintEngine.

Definition at line 1906 of file qpaintengine_x11.cpp.

◆ drawPixmap()

void QX11PaintEngine::drawPixmap ( const QRectF & r,
const QPixmap & pm,
const QRectF & sr )
overridevirtual

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

Implements QPaintEngine.

Definition at line 2043 of file qpaintengine_x11.cpp.

◆ drawPoints() [1/2]

void QX11PaintEngine::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.

Definition at line 1079 of file qpaintengine_x11.cpp.

◆ drawPoints() [2/2]

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

Draws the first pointCount points in the buffer points.

Reimplemented from QPaintEngine.

Definition at line 1137 of file qpaintengine_x11.cpp.

◆ drawPolygon() [1/2]

void QX11PaintEngine::drawPolygon ( const QPoint * points,
int pointCount,
PolygonDrawMode mode )
inlineoverridevirtual

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.

Definition at line 54 of file qpaintengine_x11_p.h.

◆ drawPolygon() [2/2]

void QX11PaintEngine::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.

Definition at line 1847 of file qpaintengine_x11.cpp.

◆ drawRects() [1/2]

void QX11PaintEngine::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.

Definition at line 952 of file qpaintengine_x11.cpp.

◆ drawRects() [2/2]

void QX11PaintEngine::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.

Definition at line 895 of file qpaintengine_x11.cpp.

◆ drawTextItem()

void QX11PaintEngine::drawTextItem ( const QPointF & p,
const QTextItem & textItem )
overridevirtual

This function draws the text item textItem at position p.

The default implementation of this function converts the text to a QPainterPath and paints the resulting path.

Reimplemented from QPaintEngine.

Definition at line 2392 of file qpaintengine_x11.cpp.

◆ drawTiledPixmap()

void QX11PaintEngine::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.

Definition at line 2245 of file qpaintengine_x11.cpp.

References QX11PlatformPixmap::qt_x11Info, qt_x11SetDefaultScreen(), and QXcbX11Info::screen().

Here is the call graph for this function:

◆ end()

bool QX11PaintEngine::end ( )
overridevirtual

Reimplement this function to finish painting on the current paint device.

Return true if painting was finished successfully; otherwise return false.

See also
begin(), isActive()

Implements QPaintEngine.

Definition at line 696 of file qpaintengine_x11.cpp.

◆ handle()

Drawable QX11PaintEngine::handle ( ) const
virtual

Definition at line 2234 of file qpaintengine_x11.cpp.

◆ supportedRenderHints()

QPainter::RenderHints QX11PaintEngine::supportedRenderHints ( ) const

Definition at line 1196 of file qpaintengine_x11.cpp.

◆ type()

Type QX11PaintEngine::type ( ) const
inlineoverridevirtual

Reimplement this function to return the paint engine \l{Type}.

Implements QPaintEngine.

Definition at line 65 of file qpaintengine_x11_p.h.

◆ updateBrush()

void QX11PaintEngine::updateBrush ( const QBrush & brush,
const QPointF & pt )

Definition at line 1450 of file qpaintengine_x11.cpp.

◆ updateClipRegion_dev()

void QX11PaintEngine::updateClipRegion_dev ( const QRegion & region,
Qt::ClipOperation op )

Definition at line 2190 of file qpaintengine_x11.cpp.

◆ updateFont()

void QX11PaintEngine::updateFont ( const QFont & font)

Definition at line 2230 of file qpaintengine_x11.cpp.

◆ updateMatrix()

void QX11PaintEngine::updateMatrix ( const QTransform & matrix)

Definition at line 2173 of file qpaintengine_x11.cpp.

References qt_scaleForTransform().

Here is the call graph for this function:

◆ updatePen()

void QX11PaintEngine::updatePen ( const QPen & pen)

Definition at line 1311 of file qpaintengine_x11.cpp.

◆ updateRenderHints()

void QX11PaintEngine::updateRenderHints ( QPainter::RenderHints hints)

Definition at line 1297 of file qpaintengine_x11.cpp.

◆ updateState()

void QX11PaintEngine::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 1205 of file qpaintengine_x11.cpp.

References qt_regionToPath().

Here is the call graph for this function:

◆ QFontEngineBox

friend class QFontEngineBox
friend

Definition at line 78 of file qpaintengine_x11_p.h.

◆ QPixmap

friend class QPixmap
friend

Definition at line 77 of file qpaintengine_x11_p.h.

◆ qt_x11_get_brush_gc

GC qt_x11_get_brush_gc ( QPainter * p)
friend

Returns the X11 specific brush GC for the painter p.

Note that QPainter::begin() must be called before this function returns a valid GC.

Definition at line 274 of file qpaintengine_x11.cpp.

◆ qt_x11_get_pen_gc

GC qt_x11_get_pen_gc ( QPainter * p)
friend

Returns the X11 specific pen GC for the painter p.

Note that QPainter::begin() must be called before this function returns a valid GC.

Definition at line 259 of file qpaintengine_x11.cpp.


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