Man page - qwtsymbol(3)
Packages contains this manual
Manual
QwtSymbol
NAMESYNOPSIS
Public Types
Public Member Functions
Protected Member Functions
Detailed Description
Member Enumeration Documentation
enum QwtSymbol::CachePolicy
enum QwtSymbol::Style
Constructor & Destructor Documentation
QwtSymbol::QwtSymbol (Style style = NoSymbol)
QwtSymbol::QwtSymbol (QwtSymbol::Style style, const QBrush & brush, constQPen & pen, const QSize & size)
QwtSymbol::QwtSymbol (const QPainterPath & path, const QBrush & brush,const QPen & pen)
Member Function Documentation
QRect QwtSymbol::boundingRect () const [virtual]
const QBrush & QwtSymbol::brush () const
QwtSymbol::CachePolicy QwtSymbol::cachePolicy () const
void QwtSymbol::drawSymbol (QPainter * painter, const QRectF & rect) const
void QwtSymbol::drawSymbol (QPainter * painter, const QPointF & pos) const[inline]
void QwtSymbol::drawSymbols (QPainter * painter, const QPolygonF & points)const [inline]
void QwtSymbol::drawSymbols (QPainter * painter, const QPointF * points,int numPoints) const
const QwtGraphic & QwtSymbol::graphic () const
void QwtSymbol::invalidateCache ()
bool QwtSymbol::isPinPointEnabled () const
const QPainterPath & QwtSymbol::path () const
const QPen & QwtSymbol::pen () const
QPointF QwtSymbol::pinPoint () const
const QPixmap & QwtSymbol::pixmap () const
void QwtSymbol::renderSymbols (QPainter * painter, const QPointF * points,int numPoints) const [protected], [virtual]
void QwtSymbol::setBrush (const QBrush & brush)
void QwtSymbol::setCachePolicy (QwtSymbol::CachePolicy policy)
void QwtSymbol::setColor (const QColor & color) [virtual]
void QwtSymbol::setGraphic (const QwtGraphic & graphic)
void QwtSymbol::setPath (const QPainterPath & path)
void QwtSymbol::setPen (const QColor & color, qreal width = 0.0,Qt::PenStyle style = Qt::SolidLine)
void QwtSymbol::setPen (const QPen & pen)
void QwtSymbol::setPinPoint (const QPointF & pos, bool enable = true)
void QwtSymbol::setPinPointEnabled (bool on)
void QwtSymbol::setPixmap (const QPixmap & pixmap)
void QwtSymbol::setSize (const QSize & size)
void QwtSymbol::setSize (int width, int height = -1)
void QwtSymbol::setStyle (QwtSymbol::Style style)
void QwtSymbol::setSvgDocument (const QByteArray & svgDocument)
const QSize & QwtSymbol::size () const
QwtSymbol::Style QwtSymbol::style () const
Author
NAME
QwtSymbol - A class for drawing symbols.
SYNOPSIS
#include <qwt_symbol.h>
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.
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:
|
⢠|
The symbol is rendered with the software renderer ( QPaintEngine::Raster ) |
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.
Constructor & Destructor Documentation
QwtSymbol::QwtSymbol (Style style = NoSymbol)
Default Constructor
Parameters:
style Symbol Style
The symbol is constructed with gray interior, black outline with zero width, no size and style âNoSymbolâ.
QwtSymbol::QwtSymbol (QwtSymbol::Style style, const QBrush & brush, constQPen & 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()
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()
Member Function Documentation
QRect QwtSymbol::boundingRect () const [virtual]
Calculate the bounding rectangle for a symbol at position (0,0).
Returns:
Bounding rectangle
const QBrush & QwtSymbol::brush () const
Returns:
Brush
See also:
setBrush()
QwtSymbol::CachePolicy QwtSymbol::cachePolicy () const
Returns:
Cache policy
See also:
CachePolicy , setCachePolicy()
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
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
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
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
const QwtGraphic & QwtSymbol::graphic () const
Returns:
Assigned graphic
See also:
setGraphic()
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()
bool QwtSymbol::isPinPointEnabled () const
Returns:
True, when the pin point translation is enabled
See also:
setPinPoint() , setPinPointEnabled()
const QPainterPath & QwtSymbol::path () const
Returns:
Painter path for displaying the symbol
See also:
setPath()
const QPen & QwtSymbol::pen () const
Returns:
Pen
See also:
setPen() , brush()
QPointF QwtSymbol::pinPoint () const
Returns:
Pin point
See also:
setPinPoint() , setPinPointEnabled()
const QPixmap & QwtSymbol::pixmap () const
Returns:
Assigned pixmap
See also:
setPixmap()
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
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()
void QwtSymbol::setCachePolicy (QwtSymbol::CachePolicy policy)
Change the cache policy
The default policy is AutoCache
Parameters:
policy Cache policy
See also:
CachePolicy , cachePolicy()
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()
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
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 <qwt_symbol.h>
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 implicitely set to QwtSymbol::Path .
See also:
path() , setSize()
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()
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()
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()
void QwtSymbol::setPinPointEnabled (bool on)
En/Disable the pin point alignment
Parameters:
on Enabled, when on is true
See also:
setPinPoint() , isPinPointEnabled()
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
void QwtSymbol::setSize (const QSize & size)
Set the symbolâs size
Parameters:
size Size
See also:
size()
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()
void QwtSymbol::setStyle (QwtSymbol::Style style)
Specify the symbol style
Parameters:
style Style
See also:
style()
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
const QSize & QwtSymbol::size () const
Returns:
Size
See also:
setSize()
QwtSymbol::Style QwtSymbol::style () const
Returns:
Current symbol style
See also:
setStyle()
Author
Generated automatically by Doxygen for Qwt Userâs Guide from the source code.