QwtPainter(3)

NAME
QwtPainter - A collection of QPainter workarounds.

SYNOPSIS

#include <qwt_painter.h>

  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.