Qwt User's Guide
QwtPlotShapeItem Class Reference

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

#include <qwt_plot_shapeitem.h>

Inheritance diagram for QwtPlotShapeItem:

Public Types

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

Public Member Functions

 QwtPlotShapeItem (const QString &title=QString::null)
 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 *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &rect) const
virtual QwtGraphic legendIcon (int index, const QSizeF &) const
virtual int rtti () const

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

Mode how to display the item on the legend.

Enumerator:
LegendShape 

Display a scaled down version of the shape.

LegendColor 

Display a filled rectangle.

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

See also:
setPaintAttribute(), testPaintAttribute()
Enumerator:
ClipPolygons 

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::null) [explicit]

Constructor.

Sets the following item attributes:

Parameters:
titleTitle
QwtPlotShapeItem::QwtPlotShapeItem ( const QwtText title) [explicit]

Constructor.

Sets the following item attributes:

Parameters:
titleTitle

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:
painterPainter
xMapX-Scale Map
yMapY-Scale Map
canvasRectContents 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:
indexIndex of the legend entry ( usually there is only one )
sizeIcon size
See also:
setLegendIconSize(), legendData()

Reimplemented from QwtPlotItem.

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()
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:
brushBrush
See also:
brush(), pen()

Set the mode how to represent the item on the legend

Parameters:
modeMode
See also:
legendMode()
void QwtPlotShapeItem::setPaintAttribute ( PaintAttribute  attribute,
bool  on = true 
)

Specify an attribute how to draw the shape

Parameters:
attributePaint attribute
onOn/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:
colorPen color
widthPen width
stylePen 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:
penPen
See also:
pen(), brush()
void QwtPlotShapeItem::setPolygon ( const QPolygonF &  polygon)

Set a path built from a polygon.

Parameters:
polygonPolygon
See also:
setShape(), setRect(), shape()
void QwtPlotShapeItem::setRect ( const QRectF &  rect)

Set a path built from a rectangle.

Parameters:
rectRectangle
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:
toleranceAccepted 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:
shapeShape
See also:
setShape(), shape()
QPainterPath QwtPlotShapeItem::shape ( ) const
Returns:
Shape to be displayed
See also:
setShape()
Returns:
True, when attribute is enabled
See also:
setPaintAttribute()

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator