| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 | 
							- /* -*- 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_DIAL_NEEDLE_H
 
- #define QWT_DIAL_NEEDLE_H 1
 
- #include "qwt_global.h"
 
- #include <qpalette.h>
 
- class QPainter;
 
- class QPoint;
 
- /*!
 
-   \brief Base class for needles that can be used in a QwtDial.
 
-   QwtDialNeedle is a pointer that indicates a value by pointing
 
-   to a specific direction.
 
-   Qwt is missing a set of good looking needles.
 
-   Contributions are very welcome.
 
-   \sa QwtDial, QwtCompass
 
- */
 
- class QWT_EXPORT QwtDialNeedle
 
- {
 
- public:
 
-     QwtDialNeedle();
 
-     virtual ~QwtDialNeedle();
 
-     /*!
 
-       Draw the needle
 
-       \param painter Painter
 
-       \param center Center of the dial, start position for the needle
 
-       \param length Length of the needle
 
-       \param direction Direction of the needle, in degrees counter clockwise
 
-       \param colorGroup Color group, used for painting
 
-     */
 
-     virtual void draw( QPainter *painter, const QPoint ¢er,
 
-         int length, double direction,
 
-         QPalette::ColorGroup colorGroup = QPalette::Active ) const = 0;
 
-     virtual void setPalette( const QPalette & );
 
-     const QPalette &palette() const;
 
- protected:
 
-     static void drawKnob( QPainter *, const QPoint &pos,
 
-         int width, const QBrush &, bool sunken );
 
- private:
 
-     QPalette d_palette;
 
- };
 
- /*!
 
-   \brief A needle for dial widgets
 
-   The following colors are used:
 
-   - QPalette::Mid\n
 
-     Pointer
 
-   - QPalette::Base\n
 
-     Knob
 
-   \sa QwtDial, QwtCompass
 
- */
 
- class QWT_EXPORT QwtDialSimpleNeedle: public QwtDialNeedle
 
- {
 
- public:
 
-     //! Style of the needle
 
-     enum Style
 
-     {
 
-         Arrow,
 
-         Ray
 
-     };
 
-     QwtDialSimpleNeedle( Style, bool hasKnob = true,
 
-         const QColor &mid = Qt::gray, const QColor &base = Qt::darkGray );
 
-     virtual void draw( QPainter *, const QPoint &, int length,
 
-         double direction, QPalette::ColorGroup = QPalette::Active ) const;
 
-     static void drawArrowNeedle( QPainter *, const QPalette &, QPalette::ColorGroup,
 
-         const QPoint &, int length, int width, double direction, bool hasKnob );
 
-     static void drawRayNeedle( QPainter *, const QPalette &, QPalette::ColorGroup,
 
-         const QPoint &, int length, int width, double direction, bool hasKnob );
 
-     void setWidth( int width );
 
-     int width() const;
 
- private:
 
-     Style d_style;
 
-     bool d_hasKnob;
 
-     int d_width;
 
- };
 
- /*!
 
-   \brief A magnet needle for compass widgets
 
-   A magnet needle points to two opposite directions indicating
 
-   north and south.
 
-   The following colors are used:
 
-   - QPalette::Light\n
 
-     Used for pointing south
 
-   - QPalette::Dark\n
 
-     Used for pointing north
 
-   - QPalette::Base\n
 
-     Knob (ThinStyle only)
 
-   \sa QwtDial, QwtCompass
 
- */
 
- class QWT_EXPORT QwtCompassMagnetNeedle: public QwtDialNeedle
 
- {
 
- public:
 
-     //! Style of the needle
 
-     enum Style
 
-     {
 
-         TriangleStyle,
 
-         ThinStyle
 
-     };
 
-     QwtCompassMagnetNeedle( Style = TriangleStyle,
 
-         const QColor &light = Qt::white, const QColor &dark = Qt::red );
 
-     virtual void draw( QPainter *, const QPoint &, int length,
 
-         double direction, QPalette::ColorGroup = QPalette::Active ) const;
 
-     static void drawTriangleNeedle( QPainter *,
 
-         const QPalette &, QPalette::ColorGroup,
 
-         const QPoint &, int length, double direction );
 
-     static void drawThinNeedle( QPainter *,
 
-         const QPalette &, QPalette::ColorGroup,
 
-         const QPoint &, int length, double direction );
 
- protected:
 
-     static void drawPointer( QPainter *painter, const QBrush &brush,
 
-         int colorOffset, const QPoint ¢er,
 
-         int length, int width, double direction );
 
- private:
 
-     Style d_style;
 
- };
 
- /*!
 
-   \brief An indicator for the wind direction
 
-   QwtCompassWindArrow shows the direction where the wind comes from.
 
-   - QPalette::Light\n
 
-     Used for Style1, or the light half of Style2
 
-   - QPalette::Dark\n
 
-     Used for the dark half of Style2
 
-   \sa QwtDial, QwtCompass
 
- */
 
- class QWT_EXPORT QwtCompassWindArrow: public QwtDialNeedle
 
- {
 
- public:
 
-     //! Style of the arrow
 
-     enum Style
 
-     {
 
-         Style1,
 
-         Style2
 
-     };
 
-     QwtCompassWindArrow( Style, const QColor &light = Qt::white,
 
-         const QColor &dark = Qt::gray );
 
-     virtual void draw( QPainter *, const QPoint &, int length,
 
-         double direction, QPalette::ColorGroup = QPalette::Active ) const;
 
-     static void drawStyle1Needle( QPainter *,
 
-         const QPalette &, QPalette::ColorGroup,
 
-         const QPoint &, int length, double direction );
 
-     static void drawStyle2Needle( QPainter *,
 
-         const QPalette &, QPalette::ColorGroup,
 
-         const QPoint &, int length, double direction );
 
- private:
 
-     Style d_style;
 
- };
 
- #endif 
 
 
  |