All Classes Functions Variables Typedefs Enumerations Enumerator Pages
QwtPainter Class Reference

A collection of QPainter workarounds. More...

`#include <qwt_painter.h>`

## Static Public Member Functions

static void | setPolylineSplitting (bool)
| En/Disable line splitting for the raster paint engine. More...
static bool | polylineSplitting ()
static void | setRoundingAlignment (bool)
static bool | roundingAlignment ()
static bool | roundingAlignment (QPainter *)
static void | drawText (QPainter *, double x, double y, const QString &)
| Wrapper for QPainter::drawText()
static void | drawText (QPainter *, const QPointF &, const QString &)
| Wrapper for QPainter::drawText()
static void | drawText (QPainter *, double x, double y, double w, double 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 *, double x, double y, double w, double 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 *, double x1, double y1, double x2, double 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 *, double x, double 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 &, double xRadius, double 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 *painter, const QwtColorMap &, const QwtInterval &, const QwtScaleMap &, Qt::Orientation, const QRectF &)
static bool | isAligning (QPainter *painter)
static bool | isX11GraphicsSystem ()
static void | fillPixmap (const QWidget *, QPixmap &, const QPoint &offset=QPoint())
static void | drawBackgound (QPainter *painter, const QRectF &rect, const QWidget *widget)
static QPixmap | backingStore (QWidget *, const QSize &)

## Detailed Description

A collection of QPainter workarounds.

## 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 backinstore is intended
  size | Size of the pixmap

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()

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 | Traget rectangle

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

void QwtPainter::drawRoundedFrame | ( | QPainter * | painter,
|  | const QRectF & | rect,
|  | double | xRadius,
|  | double | 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

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

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 | Traget rectangle
  flags | Alignments/Text flags, see QPainter::drawText()
  text | Text document

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()

bool QwtPainter::isAligning | ( | 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()

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

bool QwtPainter::polylineSplitting | ( |  | ) |

inlinestatic

Returns whether line splitting for the raster paint engine is enabled.

See Also
  setPolylineSplitting()

bool QwtPainter::roundingAlignment | ( |  | ) |

inlinestatic

Returns whether coordinates should be rounded, before they are painted to a paint engine that floors to integer values. For other paint engines this ( PDF, SVG ), this flag has no effect.

See Also
  setRoundingAlignment(), isAligning()

bool QwtPainter::roundingAlignment | ( | QPainter * | painter | ) |

inlinestatic

Returns
  roundingAlignment() && isAligning(painter);

Parameters

  painter | Painter

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.

See Also
  polylineSplitting()

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 this ( 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()