Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_NULL_PAINT_DEVICE_H
00011 #define QWT_NULL_PAINT_DEVICE_H 1
00012
00013 #include "qwt_global.h"
00014 #include <qpaintdevice.h>
00015 #include <qpaintengine.h>
00016
00031 class QWT_EXPORT QwtNullPaintDevice: public QPaintDevice
00032 {
00033 public:
00039 enum Mode
00040 {
00045 NormalMode,
00046
00057 PolygonPathMode,
00058
00068 PathMode
00069 };
00070
00071 QwtNullPaintDevice();
00072 virtual ~QwtNullPaintDevice();
00073
00074 void setMode( Mode );
00075 Mode mode() const;
00076
00077 virtual QPaintEngine *paintEngine() const;
00078
00079 virtual int metric( PaintDeviceMetric metric ) const;
00080
00081 virtual void drawRects(const QRect *, int );
00082 virtual void drawRects(const QRectF *, int );
00083
00084 virtual void drawLines(const QLine *, int );
00085 virtual void drawLines(const QLineF *, int );
00086
00087 virtual void drawEllipse(const QRectF &);
00088 virtual void drawEllipse(const QRect &);
00089
00090 virtual void drawPath(const QPainterPath &);
00091
00092 virtual void drawPoints(const QPointF *, int );
00093 virtual void drawPoints(const QPoint *, int );
00094
00095 virtual void drawPolygon(
00096 const QPointF *, int , QPaintEngine::PolygonDrawMode );
00097
00098 virtual void drawPolygon(
00099 const QPoint *, int , QPaintEngine::PolygonDrawMode );
00100
00101 virtual void drawPixmap(const QRectF &,
00102 const QPixmap &, const QRectF &);
00103
00104 virtual void drawTextItem(const QPointF &, const QTextItem &);
00105
00106 virtual void drawTiledPixmap(const QRectF &,
00107 const QPixmap &, const QPointF &s);
00108
00109 virtual void drawImage(const QRectF &,
00110 const QImage &, const QRectF &, Qt::ImageConversionFlags );
00111
00112 virtual void updateState( const QPaintEngineState &state );
00113
00114 protected:
00116 virtual QSize sizeMetrics() const = 0;
00117
00118 private:
00119 class PaintEngine;
00120 PaintEngine *d_engine;
00121
00122 class PrivateData;
00123 PrivateData *d_data;
00124 };
00125
00126 #endif