QwtPainter(3) Qwt User's Guide QwtPainter(3) NAME QwtPainter - A collection of QPainter workarounds. SYNOPSIS #include Static Public Member Functions static void setPolylineSplitting (bool) En/Disable line splitting for the raster paint engine. static bool polylineSplitting () static void setRoundingAlignment (bool) static bool roundingAlignment () static bool roundingAlignment (const QPainter *) static void drawText (QPainter *, qreal x, qreal y, const QString &) Wrapper for QPainter::drawText() static void drawText (QPainter *, const QPointF &, const QString &) Wrapper for QPainter::drawText() static void drawText (QPainter *, qreal x, qreal y, qreal w, qreal h, int flags, const QString &) Wrapper for QPainter::drawText() static void drawText (QPainter *, const QRectF &, int flags, const QString &) Wrapper for QPainter::drawText() static void drawSimpleRichText (QPainter *, const QRectF &, int flags, const QTextDocument &) static void drawRect (QPainter *, qreal x, qreal y, qreal w, qreal h) Wrapper for QPainter::drawRect() static void drawRect (QPainter *, const QRectF &rect) Wrapper for QPainter::drawRect() static void fillRect (QPainter *, const QRectF &, const QBrush &) Wrapper for QPainter::fillRect() static void drawEllipse (QPainter *, const QRectF &) Wrapper for QPainter::drawEllipse() static void drawPie (QPainter *, const QRectF &r, int a, int alen) Wrapper for QPainter::drawPie() static void drawLine (QPainter *, qreal x1, qreal y1, qreal x2, qreal y2) Wrapper for QPainter::drawLine() static void drawLine (QPainter *, const QPointF &p1, const QPointF &p2) Wrapper for QPainter::drawLine() static void drawLine (QPainter *, const QLineF &) Wrapper for QPainter::drawLine() static void drawPolygon (QPainter *, const QPolygonF &) Wrapper for QPainter::drawPolygon() static void drawPolyline (QPainter *, const QPolygonF &) Wrapper for QPainter::drawPolyline() static void drawPolyline (QPainter *, const QPointF *, int pointCount) Wrapper for QPainter::drawPolyline() static void drawPolygon (QPainter *, const QPolygon &) Wrapper for QPainter::drawPolygon() static void drawPolyline (QPainter *, const QPolygon &) Wrapper for QPainter::drawPolyline() static void drawPolyline (QPainter *, const QPoint *, int pointCount) Wrapper for QPainter::drawPolyline() static void drawPoint (QPainter *, const QPoint &) Wrapper for QPainter::drawPoint() static void drawPoints (QPainter *, const QPolygon &) Wrapper for QPainter::drawPoints() static void drawPoints (QPainter *, const QPoint *, int pointCount) Wrapper for QPainter::drawPoints() static void drawPoint (QPainter *, qreal x, qreal y) Wrapper for QPainter::drawPoint() static void drawPoint (QPainter *, const QPointF &) Wrapper for QPainter::drawPoint() static void drawPoints (QPainter *, const QPolygonF &) Wrapper for QPainter::drawPoints() static void drawPoints (QPainter *, const QPointF *, int pointCount) Wrapper for QPainter::drawPoints() static void drawPath (QPainter *, const QPainterPath &) Wrapper for QPainter::drawPath() static void drawImage (QPainter *, const QRectF &, const QImage &) Wrapper for QPainter::drawImage() static void drawPixmap (QPainter *, const QRectF &, const QPixmap &) Wrapper for QPainter::drawPixmap() static void drawRoundFrame (QPainter *, const QRectF &, const QPalette &, int lineWidth, int frameStyle) static void drawRoundedFrame (QPainter *, const QRectF &, qreal xRadius, qreal yRadius, const QPalette &, int lineWidth, int frameStyle) static void drawFrame (QPainter *, const QRectF &rect, const QPalette &palette, QPalette::ColorRole foregroundRole, int lineWidth, int midLineWidth, int frameStyle) static void drawFocusRect (QPainter *, const QWidget *) Draw a focus rectangle on a widget using its style. static void drawFocusRect (QPainter *, const QWidget *, const QRect &) Draw a focus rectangle on a widget using its style. static void drawColorBar (QPainter *, const QwtColorMap &, const QwtInterval &, const QwtScaleMap &, Qt::Orientation, const QRectF &) static bool isAligning (const QPainter *) static bool isX11GraphicsSystem () static void fillPixmap (const QWidget *, QPixmap &, const QPoint &offset=QPoint()) static void drawBackgound (QPainter *, const QRectF &, const QWidget *) static QPixmap backingStore (QWidget *, const QSize &) static qreal devicePixelRatio (const QPaintDevice *) static qreal effectivePenWidth (const QPen &) static int horizontalAdvance (const QFontMetrics &, const QString &) static qreal horizontalAdvance (const QFontMetricsF &, const QString &) static int horizontalAdvance (const QFontMetrics &, QChar) static qreal horizontalAdvance (const QFontMetricsF &, QChar) static QFont scaledFont (const QFont &, const QPaintDevice *=nullptr) Detailed Description A collection of QPainter workarounds. Definition at line 36 of file qwt_painter.h. Member Function Documentation QPixmap QwtPainter::backingStore (QWidget * widget, const QSize & size) [static] Returns A pixmap that can be used as backing store Parameters widget Widget, for which the backingstore is intended size Size of the pixmap Definition at line 1525 of file qwt_painter.cpp. qreal QwtPainter::devicePixelRatio (const QPaintDevice * paintDevice) [static] Returns Pixel ratio for a paint device Parameters paintDevice Paint device Definition at line 1491 of file qwt_painter.cpp. void QwtPainter::drawBackgound (QPainter * painter, const QRectF & rect, const QWidget * widget) [static] Fill rect with the background of a widget Parameters painter Painter rect Rectangle to be filled widget Widget See also QStyle::PE_Widget, QWidget::backgroundRole() Definition at line 1351 of file qwt_painter.cpp. void QwtPainter::drawColorBar (QPainter * painter, const QwtColorMap & colorMap, const QwtInterval & interval, const QwtScaleMap & scaleMap, Qt::Orientation orientation, const QRectF & rect) [static] Draw a color bar into a rectangle Parameters painter Painter colorMap Color map interval Value range scaleMap Scale map orientation Orientation rect Target rectangle Definition at line 1205 of file qwt_painter.cpp. void QwtPainter::drawFrame (QPainter * painter, const QRectF & rect, const QPalette & palette, QPalette::ColorRole foregroundRole, int frameWidth, int midLineWidth, int frameStyle) [static] Draw a rectangular frame Parameters painter Painter rect Frame rectangle palette Palette foregroundRole Foreground role used for QFrame::Plain frameWidth Frame width midLineWidth Used for QFrame::Box frameStyle bitwise OR'ed value of QFrame::Shape and QFrame::Shadow Definition at line 911 of file qwt_painter.cpp. void QwtPainter::drawRoundedFrame (QPainter * painter, const QRectF & rect, qreal xRadius, qreal yRadius, const QPalette & palette, int lineWidth, int frameStyle) [static] Draw a rectangular frame with rounded borders Parameters painter Painter rect Frame rectangle xRadius x-radius of the ellipses defining the corners yRadius y-radius of the ellipses defining the corners palette QPalette::WindowText is used for plain borders QPalette::Dark and QPalette::Light for raised or sunken borders lineWidth Line width frameStyle bitwise OR'ed value of QFrame::Shape and QFrame::Shadow Definition at line 1065 of file qwt_painter.cpp. void QwtPainter::drawRoundFrame (QPainter * painter, const QRectF & rect, const QPalette & palette, int lineWidth, int frameStyle) [static] Draw a round frame Parameters painter Painter rect Frame rectangle palette QPalette::WindowText is used for plain borders QPalette::Dark and QPalette::Light for raised or sunken borders lineWidth Line width frameStyle bitwise OR'ed value of QFrame::Shape and QFrame::Shadow Definition at line 845 of file qwt_painter.cpp. void QwtPainter::drawSimpleRichText (QPainter * painter, const QRectF & rect, int flags, const QTextDocument & text) [static] Draw a text document into a rectangle Parameters painter Painter rect Target rectangle flags Alignments/Text flags, see QPainter::drawText() text Text document Definition at line 489 of file qwt_painter.cpp. qreal QwtPainter::effectivePenWidth (const QPen & pen) [inline], [static] Returns pen.widthF() expanded to at least 1.0 Parameters pen Pen Definition at line 201 of file qwt_painter.h. void QwtPainter::fillPixmap (const QWidget * widget, QPixmap & pixmap, const QPoint & offset = QPoint()) [static] Fill a pixmap with the content of a widget In Qt >= 5.0 QPixmap::fill() is a nop, in Qt 4.x it is buggy for backgrounds with gradients. Thus fillPixmap() offers an alternative implementation. Parameters widget Widget pixmap Pixmap to be filled offset Offset See also QPixmap::fill() Definition at line 1311 of file qwt_painter.cpp. int QwtPainter::horizontalAdvance (const QFontMetrics & fontMetrics, const QString & text) [static] Distance appropriate for drawing a subsequent character after text. Parameters fontMetrics Font metrics text Text Returns horizontal advance in pixels Definition at line 1379 of file qwt_painter.cpp. int QwtPainter::horizontalAdvance (const QFontMetrics & fontMetrics, QChar ch) [static] Distance appropriate for drawing a subsequent character after ch. Parameters fontMetrics Font metrics ch Character Returns horizontal advance in pixels Definition at line 1414 of file qwt_painter.cpp. qreal QwtPainter::horizontalAdvance (const QFontMetricsF & fontMetrics, const QString & text) [static] Distance appropriate for drawing a subsequent character after text. Parameters fontMetrics Font metrics text Text Returns horizontal advance in pixels Definition at line 1397 of file qwt_painter.cpp. qreal QwtPainter::horizontalAdvance (const QFontMetricsF & fontMetrics, QChar ch) [static] Distance appropriate for drawing a subsequent character after ch. Parameters fontMetrics Font metrics ch Character Returns horizontal advance in pixels Definition at line 1431 of file qwt_painter.cpp. bool QwtPainter::isAligning (const QPainter * painter) [static] Check if the painter is using a paint engine, that aligns coordinates to integers. Today these are all paint engines beside QPaintEngine::Pdf and QPaintEngine::SVG. If we have an integer based paint engine it is also checked if the painter has a transformation matrix, that rotates or scales. Parameters painter Painter Returns true, when the painter is aligning See also setRoundingAlignment() Definition at line 267 of file qwt_painter.cpp. bool QwtPainter::isX11GraphicsSystem () [static] Check is the application is running with the X11 graphics system that has some special capabilities that can be used for incremental painting to a widget. Returns True, when the graphics system is X11 Definition at line 233 of file qwt_painter.cpp. bool QwtPainter::polylineSplitting () [inline], [static] Returns True, when line splitting for the raster paint engine is enabled. See also setPolylineSplitting() Definition at line 170 of file qwt_painter.h. bool QwtPainter::roundingAlignment () [inline], [static] Check whether coordinates should be rounded, before they are painted to a paint engine that rounds to integer values. For other paint engines ( PDF, SVG ), this flag has no effect. Returns True, when rounding is enabled See also setRoundingAlignment(), isAligning() Definition at line 183 of file qwt_painter.h. bool QwtPainter::roundingAlignment (const QPainter * painter) [inline], [static] Returns roundingAlignment() && isAligning(painter); Parameters painter Painter Definition at line 192 of file qwt_painter.h. QFont QwtPainter::scaledFont (const QFont & font, const QPaintDevice * paintDevice = nullptr) [static] Adjust the DPI value of font according to the DPI value of the paint device Parameters font Unscaled font paintDevice Paint device providing a DPI value. If paintDevice == null the DPI value of the primary screen will be used Returns Font being adjusted to the DPI value of the paint device Definition at line 1450 of file qwt_painter.cpp. void QwtPainter::setPolylineSplitting (bool enable) [static] En/Disable line splitting for the raster paint engine. In some Qt versions the raster paint engine paints polylines of many points much faster when they are split in smaller chunks: f.e all supported Qt versions >= Qt 5.0 when drawing an antialiased polyline with a pen width >=2. Also the raster paint engine has a nasty bug in many versions ( Qt 4.8 - ... ) for short lines ( https://codereview.qt-project.org/#/c/99456 ), that is worked around in this mode. The default setting is true. See also polylineSplitting() Definition at line 335 of file qwt_painter.cpp. void QwtPainter::setRoundingAlignment (bool enable) [static] Enable whether coordinates should be rounded, before they are painted to a paint engine that floors to integer values. For other paint engines ( PDF, SVG ) this flag has no effect. QwtPainter stores this flag only, the rounding itself is done in the painting code ( f.e the plot items ). The default setting is true. See also roundingAlignment(), isAligning() Definition at line 315 of file qwt_painter.cpp. Author Generated automatically by Doxygen for Qwt User's Guide from the source code. Version 6.2.0 Sun Jul 18 2021 QwtPainter(3)