| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 | 
							- /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
 
-  * Qwt Widget Library
 
-  * Copyright (C) 1997   Josef Wilgen
 
-  * Copyright (C) 2002   Uwe Rathmann
 
-  *
 
-  * This library is free software; you can redistribute it and/or
 
-  * modify it under the terms of the Qwt License, Version 1.0
 
-  *****************************************************************************/
 
- #ifndef QWT_SYMBOL_H
 
- #define QWT_SYMBOL_H
 
- #include "qwt_global.h"
 
- #include <QPolygonF>
 
- class QPainter;
 
- class QRect;
 
- class QSize;
 
- class QBrush;
 
- class QPen;
 
- class QColor;
 
- class QPointF;
 
- //! A class for drawing symbols
 
- class QWT_EXPORT QwtSymbol
 
- {
 
- public:
 
-     /*!
 
-       Symbol Style
 
-        - NoSymbol\n
 
-          No Style. The symbol cannot be drawn.
 
-        - Ellipse\n
 
-          Ellipse or circle
 
-        - Rect\n
 
-          Rectangle
 
-        - Diamond\n
 
-          Diamond
 
-        - Triangle\n
 
-          Triangle pointing upwards
 
-        - DTriangle\n
 
-          Triangle pointing downwards
 
-        - UTriangle\n
 
-          Triangle pointing upwards
 
-        - LTriangle\n
 
-          Triangle pointing left
 
-        - RTriangle\n
 
-          Triangle pointing right
 
-        - Cross\n
 
-          Cross (+)
 
-        - XCross\n
 
-          Diagonal cross (X)
 
-        - HLine\n
 
-          Horizontal line
 
-        - VLine\n
 
-          Vertical line
 
-        - Star1\n
 
-          X combined with +
 
-        - Star2\n
 
-          Six-pointed star
 
-        - Hexagon\n
 
-          Hexagon
 
-        - UserSymbol\n
 
-          Styles >= UserSymbol are reserved for derived
 
-          classes of QwtSymbol that overload drawSymbols() with
 
-          additional application specific symbol types.
 
-       \sa setStyle(), style()
 
-      */
 
-     enum Style
 
-     {
 
-         NoSymbol = -1,
 
-         Ellipse,
 
-         Rect,
 
-         Diamond,
 
-         Triangle,
 
-         DTriangle,
 
-         UTriangle,
 
-         LTriangle,
 
-         RTriangle,
 
-         Cross,
 
-         XCross,
 
-         HLine,
 
-         VLine,
 
-         Star1,
 
-         Star2,
 
-         Hexagon,
 
-         UserSymbol = 1000
 
-     };
 
- public:
 
-     QwtSymbol( Style = NoSymbol );
 
-     QwtSymbol( Style, const QBrush &, const QPen &, const QSize & );
 
-     QwtSymbol( const QwtSymbol & );
 
-     virtual ~QwtSymbol();
 
-     QwtSymbol &operator=( const QwtSymbol & );
 
-     bool operator==( const QwtSymbol & ) const;
 
-     bool operator!=( const QwtSymbol & ) const;
 
-     void setSize( const QSize & );
 
-     void setSize( int width, int height = -1 );
 
-     const QSize& size() const;
 
-     virtual void setColor( const QColor & );
 
-     void setBrush( const QBrush& b );
 
-     const QBrush& brush() const;
 
-     void setPen( const QPen & );
 
-     const QPen& pen() const;
 
-     void setStyle( Style );
 
-     Style style() const;
 
-     void drawSymbol( QPainter *, const QPointF & ) const;
 
-     void drawSymbols( QPainter *, const QPolygonF & ) const;
 
-     virtual QSize boundingSize() const;
 
- protected:
 
-     virtual void drawSymbols( QPainter *,
 
-         const QPointF *, int numPoints ) const;
 
- private:
 
-     class PrivateData;
 
-     PrivateData *d_data;
 
- };
 
- /*!
 
-   \brief Draw the symbol at a specified position
 
-   \param painter Painter
 
-   \param pos Position of the symbol in screen coordinates
 
- */
 
- inline void QwtSymbol::drawSymbol(
 
-     QPainter *painter, const QPointF &pos ) const
 
- {
 
-     drawSymbols( painter, &pos, 1 );
 
- }
 
- /*!
 
-   \brief Draw symbols at the specified points
 
-   \param painter Painter
 
-   \param points Positions of the symbols in screen coordinates
 
- */
 
- inline void QwtSymbol::drawSymbols(
 
-     QPainter *painter, const QPolygonF &points ) const
 
- {
 
-     drawSymbols( painter, points.data(), points.size() );
 
- }
 
- #endif
 
 
  |