Scroll to navigation

QwtPlotShapeItem(3) Qwt User's Guide QwtPlotShapeItem(3)

NAME

QwtPlotShapeItem - A plot item, which displays any graphical shape, that can be defined by a QPainterPath.

SYNOPSIS

#include <qwt_plot_shapeitem.h>

Inherits QwtPlotItem.

Public Types


enum PaintAttribute { ClipPolygons = 0x01 }
enum LegendMode { LegendShape, LegendColor }
Mode how to display the item on the legend. typedef QFlags< PaintAttribute > PaintAttributes
Paint attributes.

Public Member Functions


QwtPlotShapeItem (const QString &title=QString())
Constructor. QwtPlotShapeItem (const QwtText &title)
Constructor. virtual ~QwtPlotShapeItem ()
Destructor. void setPaintAttribute (PaintAttribute, bool on=true)
bool testPaintAttribute (PaintAttribute) const
void setLegendMode (LegendMode)
LegendMode legendMode () const
void setRect (const QRectF &)
Set a path built from a rectangle. void setPolygon (const QPolygonF &)
Set a path built from a polygon. void setShape (const QPainterPath &)
Set the shape to be displayed. QPainterPath shape () const
void setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void setPen (const QPen &)
Assign a pen. QPen pen () const
void setBrush (const QBrush &)
QBrush brush () const
void setRenderTolerance (double)
Set the tolerance for the weeding optimization. double renderTolerance () const
virtual QRectF boundingRect () const
Bounding rectangle of the shape. virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const
virtual QwtGraphic legendIcon (int index, const QSizeF &) const
virtual int rtti () const

Additional Inherited Members

Detailed Description

A plot item, which displays any graphical shape, that can be defined by a QPainterPath.

A QPainterPath is a shape composed from intersecting and uniting regions, rectangles, ellipses or irregular areas defined by lines, and curves. QwtPlotShapeItem displays a shape with a pen and brush.

QwtPlotShapeItem offers a couple of optimizations like clipping or weeding. These algorithms need to convert the painter path into polygons that might be less performant for paths built from curves and ellipses.

See also:

QwtPlotZone

Member Enumeration Documentation

enum QwtPlotShapeItem::LegendMode

Mode how to display the item on the legend.

Enumerator

Display a scaled down version of the shape.
Display a filled rectangle.

enum QwtPlotShapeItem::PaintAttribute

Attributes to modify the drawing algorithm. The default disables all attributes

See also:

setPaintAttribute(), testPaintAttribute()

Enumerator

Clip polygons before painting them. In situations, where points are far outside the visible area (f.e when zooming deep) this might be a substantial improvement for the painting performance

But polygon clipping will convert the painter path into polygons what might introduce a negative impact on the performance of paths composed from curves or ellipses.

Constructor & Destructor Documentation

QwtPlotShapeItem::QwtPlotShapeItem (const QString & title = QString()) [explicit]

Constructor. Sets the following item attributes:

  • QwtPlotItem::AutoScale: true
  • QwtPlotItem::Legend: false

Parameters:

title Title

QwtPlotShapeItem::QwtPlotShapeItem (const QwtText & title) [explicit]

Constructor. Sets the following item attributes:

  • QwtPlotItem::AutoScale: true
  • QwtPlotItem::Legend: false

Parameters:

title Title

Member Function Documentation

QBrush QwtPlotShapeItem::brush () const

Returns:

Brush used to fill the shape

See also:

setBrush(), pen()

void QwtPlotShapeItem::draw (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect) const [virtual]

Draw the shape item

Parameters:

painter Painter
xMap X-Scale Map
yMap Y-Scale Map
canvasRect Contents rect of the plot canvas

Implements QwtPlotItem.

QwtGraphic QwtPlotShapeItem::legendIcon (int index, const QSizeF & size) const [virtual]

Returns:

A rectangle filled with the color of the brush ( or the pen )

Parameters:

index Index of the legend entry ( usually there is only one )
size Icon size

See also:

setLegendIconSize(), legendData()

Reimplemented from QwtPlotItem.

QwtPlotShapeItem::LegendMode QwtPlotShapeItem::legendMode () const

Returns:

Mode how to represent the item on the legend

See also:

legendMode()

QPen QwtPlotShapeItem::pen () const

Returns:

Pen used to draw the outline of the shape

See also:

setPen(), brush()

double QwtPlotShapeItem::renderTolerance () const

Returns:

Tolerance for the weeding optimization

See also:

setRenderTolerance()

int QwtPlotShapeItem::rtti () const [virtual]

Returns:

QwtPlotItem::Rtti_PlotShape

Reimplemented from QwtPlotItem.

void QwtPlotShapeItem::setBrush (const QBrush & brush)

Assign a brush.

The brush is used to fill the path

Parameters:

brush Brush

See also:

brush(), pen()

void QwtPlotShapeItem::setLegendMode (LegendMode mode)

Set the mode how to represent the item on the legend

Parameters:

mode Mode

See also:

legendMode()

void QwtPlotShapeItem::setPaintAttribute (PaintAttribute attribute, bool on = true)

Specify an attribute how to draw the shape

Parameters:

attribute Paint attribute
on On/Off

See also:

testPaintAttribute()

void QwtPlotShapeItem::setPen (const QColor & color, qreal width = 0.0, Qt::PenStyle style = Qt::SolidLine)

Build and assign a pen

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters:

color Pen color
width Pen width
style Pen style

See also:

pen(), brush()

void QwtPlotShapeItem::setPen (const QPen & pen)

Assign a pen. The pen is used to draw the outline of the shape

Parameters:

pen Pen

See also:

pen(), brush()

void QwtPlotShapeItem::setPolygon (const QPolygonF & polygon)

Set a path built from a polygon.

Parameters:

polygon Polygon

See also:

setShape(), setRect(), shape()

void QwtPlotShapeItem::setRect (const QRectF & rect)

Set a path built from a rectangle.

Parameters:

rect Rectangle

See also:

setShape(), setPolygon(), shape()

void QwtPlotShapeItem::setRenderTolerance (double tolerance)

Set the tolerance for the weeding optimization. After translating the shape into target device coordinate ( usually widget geometries ) the painter path can be simplified by a point weeding algorithm ( Douglas-Peucker ).

For shapes built from curves and ellipses weeding might have the opposite effect because they have to be expanded to polygons.

Parameters:

tolerance Accepted error when reducing the number of points A value <= 0.0 disables weeding.

See also:

renderTolerance(), QwtWeedingCurveFitter

void QwtPlotShapeItem::setShape (const QPainterPath & shape)

Set the shape to be displayed.

Parameters:

shape Shape

See also:

setShape(), shape()

QPainterPath QwtPlotShapeItem::shape () const

Returns:

Shape to be displayed

See also:

setShape()

bool QwtPlotShapeItem::testPaintAttribute (PaintAttribute attribute) const

Returns:

True, when attribute is enabled

See also:

setPaintAttribute()

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.

Wed Jan 2 2019 Version 6.1.4