Qwt Polar User's Guide 0.1.0
qwt_polar_marker.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * QwtPolar Widget Library
00003  * Copyright (C) 2008   Uwe Rathmann
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the Qwt License, Version 1.0
00007  *****************************************************************************/
00008 
00009 #ifndef QWT_POLAR_MARKER_H
00010 #define QWT_POLAR_MARKER_H
00011 
00012 #include <qstring.h>
00013 #include "qwt_polar_global.h"
00014 #include "qwt_polar_point.h"
00015 #include "qwt_polar_item.h"
00016 
00017 class QRect;
00018 class QwtText;
00019 class QwtSymbol;
00020 
00038 class QWT_POLAR_EXPORT QwtPolarMarker: public QwtPolarItem
00039 {
00040 public:
00041     explicit QwtPolarMarker();
00042     virtual ~QwtPolarMarker();
00043 
00044     virtual int rtti() const;
00045 
00046     void setPosition(const QwtPolarPoint &);
00047     QwtPolarPoint position() const;
00048 
00049     void setSymbol(const QwtSymbol &s);
00050     const QwtSymbol &symbol() const;
00051 
00052     void setLabel(const QwtText&);
00053     QwtText label() const;
00054 
00055 #if QT_VERSION < 0x040000
00056     void setLabelAlignment(int align);
00057     int labelAlignment() const;
00058 #else
00059     void setLabelAlignment(Qt::Alignment);
00060     Qt::Alignment labelAlignment() const;
00061 #endif
00062 
00063     virtual void draw(QPainter *painter,
00064         const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
00065         const QwtDoublePoint &pole, double radius,
00066         const QwtDoubleRect &canvasRect) const;
00067 
00068     virtual QwtDoubleInterval boundingInterval(int scaleId) const;
00069 
00070 private:
00071     class PrivateData;
00072     PrivateData *d_data;
00073 };
00074 
00075 #endif