Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

qwt_painter.h

00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  * 
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_PAINTER_H
00011 #define QWT_PAINTER_H
00012 
00013 #include <qpoint.h>
00014 #include <qrect.h>
00015 #include "qwt_global.h"
00016 #include "qwt_layout_metrics.h"
00017 
00018 class QPainter;
00019 class QColorGroup;
00020 #if QT_VERSION < 0x040000
00021 class QSimpleRichText;
00022 #else
00023 class QTextDocument;
00024 #endif
00025 
00026 #if defined(Q_WS_X11)
00027 // Warning: QCOORD_MIN, QCOORD_MAX are wrong on X11.
00028 #define QWT_COORD_MAX 16384
00029 #define QWT_COORD_MIN (-QWT_COORD_MAX - 1)
00030 #else
00031 #define QWT_COORD_MAX 2147483647
00032 #define QWT_COORD_MIN -QWT_COORD_MAX - 1
00033 #endif
00034 
00053 class QWT_EXPORT QwtPainter
00054 {
00055 public:
00056     static void setMetricsMap(const QPaintDevice *layout,
00057         const QPaintDevice *device);
00058     static void setMetricsMap(const QwtMetricsMap &);
00059     static void resetMetricsMap();
00060     static const QwtMetricsMap &metricsMap();
00061 
00062     static void setDeviceClipping(bool);
00063     static bool deviceClipping();
00064 
00065     static void setClipRect(QPainter *, const QRect &);
00066 
00067     static void drawText(QPainter *, int x, int y, 
00068         const QString &);
00069     static void drawText(QPainter *, const QPoint &, 
00070         const QString &);
00071     static void drawText(QPainter *, int x, int y, int w, int h, 
00072         int flags, const QString &);
00073     static void drawText(QPainter *, const QRect &, 
00074         int flags, const QString &);
00075 
00076 #ifndef QT_NO_RICHTEXT
00077 #if QT_VERSION < 0x040000
00078     static void drawSimpleRichText(QPainter *, const QRect &,
00079         int flags, QSimpleRichText &);
00080 #else
00081     static void drawSimpleRichText(QPainter *, const QRect &,
00082         int flags, QTextDocument &);
00083 #endif
00084 #endif
00085 
00086     static void drawRect(QPainter *, int x, int y, int w, int h);
00087     static void drawRect(QPainter *, const QRect &rect);
00088     static void fillRect(QPainter *, const QRect &, const QBrush &); 
00089 
00090     static void drawEllipse(QPainter *, const QRect &);
00091 
00092     static void drawLine(QPainter *, int x1, int y1, int x2, int y2);
00093     static void drawLine(QPainter *, const QPoint &p1, const QPoint &p2);
00094 #if QT_VERSION < 0x040000
00095     static void drawPolygon(QPainter *, const QPointArray &pa);
00096     static void drawPolyline(QPainter *, const QPointArray &pa);
00097 #else
00098     static void drawPolygon(QPainter *, const QPolygon &pa);
00099     static void drawPolyline(QPainter *, const QPolygon &pa);
00100 #endif
00101     static void drawPoint(QPainter *, int x, int y);
00102 
00103 #if QT_VERSION < 0x040000
00104     static void drawRoundFrame(QPainter *, const QRect &,
00105         int width, const QColorGroup &cg, bool sunken);
00106 #else
00107     static void drawRoundFrame(QPainter *, const QRect &,
00108         int width, const QPalette &, bool sunken);
00109 #endif
00110     static void drawFocusRect(QPainter *, QWidget *);
00111     static void drawFocusRect(QPainter *, QWidget *, const QRect &);
00112 
00113 #if QT_VERSION < 0x040000
00114     static QPointArray clip(const QPointArray &);
00115 #else
00116     static QPolygon clip(const QPolygon &);
00117 #endif
00118 
00119 private:
00120     static void drawColoredArc(QPainter *, const QRect &,
00121         int peak, int arc, int intervall, const QColor &c1, const QColor &c2);
00122 
00123     static const QRect &deviceClipRect();
00124     static bool d_deviceClipping;
00125     static QwtMetricsMap d_metricsMap;
00126 };
00127 
00129 inline void QwtPainter::drawLine(QPainter *painter,
00130     const QPoint &p1, const QPoint &p2)
00131 {
00132     drawLine(painter, p1.x(), p1.y(), p2.x(), p2.y());
00133 }
00134 
00135 #endif

Generated on Wed Aug 31 23:02:29 2005 for Qwt User's Guide by  doxygen 1.4.1