QwtSymbol(3) Qwt User's Guide QwtSymbol(3) NAME QwtSymbol - A class for drawing symbols. SYNOPSIS #include Public Types enum Style { NoSymbol = -1, Ellipse, Rect, Diamond, Triangle, DTriangle, UTriangle, LTriangle, RTriangle, Cross, XCross, HLine, VLine, Star1, Star2, Hexagon, Path, Pixmap, Graphic, SvgDocument, UserStyle = 1000 } enum CachePolicy { NoCache, Cache, AutoCache } Public Member Functions QwtSymbol (Style=NoSymbol) QwtSymbol (Style, const QBrush &, const QPen &, const QSize &) Constructor. QwtSymbol (const QPainterPath &, const QBrush &, const QPen &) Constructor. virtual ~QwtSymbol () Destructor. void setCachePolicy (CachePolicy) CachePolicy cachePolicy () const void setSize (const QSize &) void setSize (int width, int height=-1) Specify the symbol's size. const QSize & size () const void setPinPoint (const QPointF &pos, bool enable=true) Set and enable a pin point. QPointF pinPoint () const void setPinPointEnabled (bool) bool isPinPointEnabled () const virtual void setColor (const QColor &) Set the color of the symbol. void setBrush (const QBrush &) Assign a brush. const QBrush & brush () const void setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine) void setPen (const QPen &) const QPen & pen () const void setStyle (Style) Style style () const void setPath (const QPainterPath &) Set a painter path as symbol. const QPainterPath & path () const void setPixmap (const QPixmap &) const QPixmap & pixmap () const void setGraphic (const QwtGraphic &) const QwtGraphic & graphic () const void setSvgDocument (const QByteArray &) void drawSymbol (QPainter *, const QRectF &) const Draw the symbol into a rectangle. void drawSymbol (QPainter *, const QPointF &) const Draw the symbol at a specified position. void drawSymbols (QPainter *, const QPolygonF &) const Draw symbols at the specified points. void drawSymbols (QPainter *, const QPointF *, int numPoints) const virtual QRect boundingRect () const void invalidateCache () Protected Member Functions virtual void renderSymbols (QPainter *, const QPointF *, int numPoints) const Detailed Description A class for drawing symbols. Definition at line 31 of file qwt_symbol.h. Member Enumeration Documentation enum QwtSymbol::CachePolicy Depending on the render engine and the complexity of the symbol shape it might be faster to render the symbol to a pixmap and to paint this pixmap. F.e. the raster paint engine is a pure software renderer where in cache mode a draw operation usually ends in raster operation with the the backing store, that are usually faster, than the algorithms for rendering polygons. But the opposite can be expected for graphic pipelines that can make use of hardware acceleration. The default setting is AutoCache See also setCachePolicy(), cachePolicy() Note The policy has no effect, when the symbol is painted to a vector graphics format ( PDF, SVG ). Warning Since Qt 4.8 raster is the default backend on X11 Enumerator NoCache Don't use a pixmap cache. Cache Always use a pixmap cache. AutoCache Use a cache when one of the following conditions is true: o The symbol is rendered with the software renderer ( QPaintEngine::Raster ) Definition at line 150 of file qwt_symbol.h. enum QwtSymbol::Style Symbol Style See also setStyle(), style() Enumerator NoSymbol No Style. The symbol cannot be drawn. Ellipse Ellipse or circle. Rect Rectangle. Diamond Diamond. Triangle Triangle pointing upwards. DTriangle Triangle pointing downwards. UTriangle Triangle pointing upwards. LTriangle Triangle pointing left. RTriangle Triangle pointing right. Cross Cross (+) XCross Diagonal cross (X) HLine Horizontal line. VLine Vertical line. Star1 X combined with +. Star2 Six-pointed star. Hexagon Hexagon. Path The symbol is represented by a painter path, where the origin ( 0, 0 ) of the path coordinate system is mapped to the position of the symbol. See also setPath(), path() Pixmap The symbol is represented by a pixmap. The pixmap is centered or aligned to its pin point. See also setPinPoint() Graphic The symbol is represented by a graphic. The graphic is centered or aligned to its pin point. See also setPinPoint() SvgDocument The symbol is represented by a SVG graphic. The graphic is centered or aligned to its pin point. See also setPinPoint() UserStyle Styles >= QwtSymbol::UserSymbol are reserved for derived classes of QwtSymbol that overload drawSymbols() with additional application specific symbol types. Definition at line 38 of file qwt_symbol.h. Constructor & Destructor Documentation QwtSymbol::QwtSymbol (Style style = NoSymbol) [explicit] Default Constructor Parameters style Symbol Style The symbol is constructed with gray interior, black outline with zero width, no size and style 'NoSymbol'. Definition at line 843 of file qwt_symbol.cpp. QwtSymbol::QwtSymbol (QwtSymbol::Style style, const QBrush & brush, const QPen & pen, const QSize & size) Constructor. Parameters style Symbol Style brush brush to fill the interior pen outline pen size size See also setStyle(), setBrush(), setPen(), setSize() Definition at line 858 of file qwt_symbol.cpp. QwtSymbol::QwtSymbol (const QPainterPath & path, const QBrush & brush, const QPen & pen) Constructor. The symbol gets initialized by a painter path. The style is set to QwtSymbol::Path, the size is set to empty ( the path is displayed unscaled ). Parameters path painter path brush brush to fill the interior pen outline pen See also setPath(), setBrush(), setPen(), setSize() Definition at line 878 of file qwt_symbol.cpp. Member Function Documentation QRect QwtSymbol::boundingRect () const [virtual] Calculate the bounding rectangle for a symbol at position (0,0). Returns Bounding rectangle Definition at line 1637 of file qwt_symbol.cpp. const QBrush & QwtSymbol::brush () const Returns Brush See also setBrush() Definition at line 1123 of file qwt_symbol.cpp. QwtSymbol::CachePolicy QwtSymbol::cachePolicy () const Returns Cache policy See also CachePolicy, setCachePolicy() Definition at line 913 of file qwt_symbol.cpp. void QwtSymbol::drawSymbol (QPainter * painter, const QPointF & pos) const [inline] Draw the symbol at a specified position. Parameters painter Painter pos Position of the symbol in screen coordinates Definition at line 238 of file qwt_symbol.h. void QwtSymbol::drawSymbol (QPainter * painter, const QRectF & rect) const Draw the symbol into a rectangle. The symbol is painted centered and scaled into the target rectangle. It is always painted uncached and the pin point is ignored. This method is primarily intended for drawing a symbol to the legend. Parameters painter Painter rect Target rectangle for the symbol Definition at line 1434 of file qwt_symbol.cpp. void QwtSymbol::drawSymbols (QPainter * painter, const QPointF * points, int numPoints) const Render an array of symbols Painting several symbols is more effective than drawing symbols one by one, as a couple of layout calculations and setting of pen/brush can be done once for the complete array. Parameters painter Painter points Array of points numPoints Number of points Definition at line 1307 of file qwt_symbol.cpp. void QwtSymbol::drawSymbols (QPainter * painter, const QPolygonF & points) const [inline] Draw symbols at the specified points. Parameters painter Painter points Positions of the symbols in screen coordinates Definition at line 251 of file qwt_symbol.h. const QwtGraphic & QwtSymbol::graphic () const Returns Assigned graphic See also setGraphic() Definition at line 1027 of file qwt_symbol.cpp. void QwtSymbol::invalidateCache () Invalidate the cached symbol pixmap The symbol invalidates its cache, whenever an attribute is changed that has an effect ob how to display a symbol. In case of derived classes with individual styles ( >= QwtSymbol::UserStyle ) it might be necessary to call invalidateCache() for attributes that are relevant for this style. See also CachePolicy, setCachePolicy(), drawSymbols() Definition at line 1770 of file qwt_symbol.cpp. bool QwtSymbol::isPinPointEnabled () const Returns True, when the pin point translation is enabled See also setPinPoint(), setPinPointEnabled() Definition at line 1291 of file qwt_symbol.cpp. const QPainterPath & QwtSymbol::path () const Returns Painter path for displaying the symbol See also setPath() Definition at line 977 of file qwt_symbol.cpp. const QPen & QwtSymbol::pen () const Returns Pen See also setPen(), brush() Definition at line 1171 of file qwt_symbol.cpp. QPointF QwtSymbol::pinPoint () const Returns Pin point See also setPinPoint(), setPinPointEnabled() Definition at line 1267 of file qwt_symbol.cpp. const QPixmap & QwtSymbol::pixmap () const Returns Assigned pixmap See also setPixmap() Definition at line 1002 of file qwt_symbol.cpp. void QwtSymbol::renderSymbols (QPainter * painter, const QPointF * points, int numPoints) const [protected], [virtual] Render the symbol to series of points Parameters painter Qt painter points Positions of the symbols numPoints Number of points Definition at line 1513 of file qwt_symbol.cpp. void QwtSymbol::setBrush (const QBrush & brush) Assign a brush. The brush is used to draw the interior of the symbol. Parameters brush Brush See also brush() Definition at line 1107 of file qwt_symbol.cpp. void QwtSymbol::setCachePolicy (QwtSymbol::CachePolicy policy) Change the cache policy The default policy is AutoCache Parameters policy Cache policy See also CachePolicy, cachePolicy() Definition at line 899 of file qwt_symbol.cpp. void QwtSymbol::setColor (const QColor & color) [virtual] Set the color of the symbol. Change the color of the brush for symbol types with a filled area. For all other symbol types the color will be assigned to the pen. Parameters color Color See also setBrush(), setPen(), brush(), pen() Definition at line 1186 of file qwt_symbol.cpp. void QwtSymbol::setGraphic (const QwtGraphic & graphic) Set a graphic as symbol Parameters graphic Graphic See also graphic(), setPixmap() Note the style() is set to QwtSymbol::Graphic brush() and pen() have no effect Definition at line 1017 of file qwt_symbol.cpp. void QwtSymbol::setPath (const QPainterPath & path) Set a painter path as symbol. The symbol is represented by a painter path, where the origin ( 0, 0 ) of the path coordinate system is mapped to the position of the symbol. When the symbol has valid size the painter path gets scaled to fit into the size. Otherwise the symbol size depends on the bounding rectangle of the path. Example The following code defines a symbol drawing an arrow: #include QwtSymbol *symbol = new QwtSymbol(); QPen pen( Qt::black, 2 ); pen.setJoinStyle( Qt::MiterJoin ); symbol->setPen( pen ); symbol->setBrush( Qt::red ); QPainterPath path; path.moveTo( 0, 8 ); path.lineTo( 0, 5 ); path.lineTo( -3, 5 ); path.lineTo( 0, 0 ); path.lineTo( 3, 5 ); path.lineTo( 0, 5 ); QTransform transform; transform.rotate( -30.0 ); path = transform.map( path ); symbol->setPath( path ); symbol->setPinPoint( QPointF( 0.0, 0.0 ) ); setSize( 10, 14 ); Parameters path Painter path Note The style is implicitly set to QwtSymbol::Path. See also path(), setSize() Definition at line 966 of file qwt_symbol.cpp. void QwtSymbol::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() Definition at line 1141 of file qwt_symbol.cpp. void QwtSymbol::setPen (const QPen & pen) Assign a pen The pen is used to draw the symbol's outline. Parameters pen Pen See also pen(), setBrush() Definition at line 1155 of file qwt_symbol.cpp. void QwtSymbol::setPinPoint (const QPointF & pos, bool enable = true) Set and enable a pin point. The position of a complex symbol is not always aligned to its center ( f.e an arrow, where the peak points to a position ). The pin point defines the position inside of a Pixmap, Graphic, SvgDocument or PainterPath symbol where the represented point has to be aligned to. Parameters pos Position enable En/Disable the pin point alignment See also pinPoint(), setPinPointEnabled() Definition at line 1249 of file qwt_symbol.cpp. void QwtSymbol::setPinPointEnabled (bool on) En/Disable the pin point alignment Parameters on Enabled, when on is true See also setPinPoint(), isPinPointEnabled() Definition at line 1278 of file qwt_symbol.cpp. void QwtSymbol::setPixmap (const QPixmap & pixmap) Set a pixmap as symbol Parameters pixmap Pixmap See also pixmap(), setGraphic() Note the style() is set to QwtSymbol::Pixmap brush() and pen() have no effect Definition at line 992 of file qwt_symbol.cpp. void QwtSymbol::setSize (const QSize & size) Set the symbol's size Parameters size Size See also size() Definition at line 1081 of file qwt_symbol.cpp. void QwtSymbol::setSize (int width, int height = -1) Specify the symbol's size. If the 'h' parameter is left out or less than 0, and the 'w' parameter is greater than or equal to 0, the symbol size will be set to (w,w). Parameters width Width height Height (defaults to -1) See also size() Definition at line 1067 of file qwt_symbol.cpp. void QwtSymbol::setStyle (QwtSymbol::Style style) Specify the symbol style Parameters style Style See also style() Definition at line 1782 of file qwt_symbol.cpp. void QwtSymbol::setSvgDocument (const QByteArray & svgDocument) Set a SVG icon as symbol Parameters svgDocument SVG icon See also setGraphic(), setPixmap() Note the style() is set to QwtSymbol::SvgDocument brush() and pen() have no effect Definition at line 1044 of file qwt_symbol.cpp. const QSize & QwtSymbol::size () const Returns Size See also setSize() Definition at line 1094 of file qwt_symbol.cpp. QwtSymbol::Style QwtSymbol::style () const Returns Current symbol style See also setStyle() Definition at line 1795 of file qwt_symbol.cpp. Author Generated automatically by Doxygen for Qwt User's Guide from the source code. Version 6.2.0 Sun Jul 18 2021 QwtSymbol(3)