00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_PAINTER_H
00011 #define QWT_PAINTER_H
00012
00013 #include "qwt_global.h"
00014
00015 #include <qpoint.h>
00016 #include <qrect.h>
00017 #include <qpen.h>
00018
00019 class QPainter;
00020 class QBrush;
00021 class QColor;
00022 class QWidget;
00023 class QwtScaleMap;
00024 class QwtColorMap;
00025 class QwtDoubleInterval;
00026
00027 class QPalette;
00028 class QTextDocument;
00029
00034 class QWT_EXPORT QwtPainter
00035 {
00036 public:
00037 static void setPolylineSplitting(bool);
00038 static bool polylineSplitting();
00039
00040 static void setClipRect(QPainter *, const QRectF &);
00041
00042 static void drawText(QPainter *, double x, double y,
00043 const QString &);
00044 static void drawText(QPainter *, const QPointF &,
00045 const QString &);
00046 static void drawText(QPainter *, double x, double y, double w, double h,
00047 int flags, const QString &);
00048 static void drawText(QPainter *, const QRectF &,
00049 int flags, const QString &);
00050
00051 #ifndef QT_NO_RICHTEXT
00052 static void drawSimpleRichText(QPainter *, const QRectF &,
00053 int flags, QTextDocument &);
00054 #endif
00055
00056 static void drawRect(QPainter *, double x, double y, double w, double h);
00057 static void drawRect(QPainter *, const QRectF &rect);
00058 static void fillRect(QPainter *, const QRectF &, const QBrush &);
00059
00060 static void drawEllipse(QPainter *, const QRectF &);
00061 static void drawPie(QPainter *, const QRectF & r, int a, int alen);
00062
00063 static void drawLine(QPainter *, double x1, double y1, double x2, double y2);
00064 static void drawLine(QPainter *, const QPointF &p1, const QPointF &p2);
00065 static void drawLine(QPainter *, const QLineF &);
00066
00067 static void drawPolygon(QPainter *, const QPolygonF &pa);
00068 static void drawPolyline(QPainter *, const QPolygonF &pa);
00069 static void drawPolyline(QPainter *, const QPointF *, int pointCount);
00070
00071 static void drawPoint(QPainter *, double x, double y);
00072 static void drawPoint(QPainter *, const QPointF &);
00073
00074 static void drawRoundFrame(QPainter *, const QRect &,
00075 int width, const QPalette &, bool sunken);
00076 static void drawFocusRect(QPainter *, QWidget *);
00077 static void drawFocusRect(QPainter *, QWidget *, const QRect &);
00078
00079 static void drawColorBar(QPainter *painter,
00080 const QwtColorMap &, const QwtDoubleInterval &,
00081 const QwtScaleMap &, Qt::Orientation, const QRectF &);
00082
00083 private:
00084 static void drawColoredArc(QPainter *, const QRect &,
00085 int peak, int arc, int intervall, const QColor &c1, const QColor &c2);
00086
00087 static bool d_polylineSplitting;
00088 };
00089
00091 inline void QwtPainter::drawPoint(QPainter *painter, double x, double y)
00092 {
00093 QwtPainter::drawPoint(painter, QPointF(x, y));
00094 }
00095
00097 inline void QwtPainter::drawLine(QPainter *painter,
00098 double x1, double y1, double x2, double y2)
00099 {
00100 QwtPainter::drawLine(painter, QPointF(x1, y1), QPointF(x2, y2));
00101 }
00102
00104 inline void QwtPainter::drawLine(QPainter *painter, const QLineF &line)
00105 {
00106 QwtPainter::drawLine(painter, line.p1(), line.p2());
00107 }
00108
00113 inline bool QwtPainter::polylineSplitting()
00114 {
00115 return d_polylineSplitting;
00116 }
00117
00118 #endif