Qwt User's Guide 5.2.3

- Main Page
- Related Pages
- Classes

qwt_plot_rasteritem.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2 * Qwt Widget Library
3 * Copyright (C) 1997 Josef Wilgen
4 * Copyright (C) 2002 Uwe Rathmann
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the Qwt License, Version 1.0
8 *****************************************************************************/
9
10 #ifndef QWT_PLOT_RASTERITEM_H
11 #define QWT_PLOT_RASTERITEM_H
12
13 #include <qglobal.h>
14 #include <qstring.h>
15 #include <qimage.h>
16
17 #include "qwt_plot_item.h"
18
36 class QWT_EXPORT QwtPlotRasterItem: public QwtPlotItem
37 {
38 public:
56 enum CachePolicy
57 {
58 NoCache,
59 PaintCache,
60 ScreenCache
61 };
62
63 explicit QwtPlotRasterItem(const QString& title = QString::null);
64 explicit QwtPlotRasterItem(const QwtText& title);
65 virtual ~QwtPlotRasterItem();
66
67 void setAlpha(int alpha);
68 int alpha() const;
69
70 void setCachePolicy(CachePolicy);
71 CachePolicy cachePolicy() const;
72
73 void invalidateCache();
74
75 virtual void draw(QPainter *p,
76 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
77 const QRect &rect) const;
78
79 virtual QSize rasterHint(const QwtDoubleRect &) const;
80
81 protected:
82
93 virtual QImage renderImage(const QwtScaleMap &xMap,
94 const QwtScaleMap &yMap, const QwtDoubleRect &area
95 ) const = 0;
96
97 private:
98 QwtPlotRasterItem( const QwtPlotRasterItem & );
99 QwtPlotRasterItem &operator=( const QwtPlotRasterItem & );
100
101 void init();
102
103 class PrivateData;
104 PrivateData *d_data;
105 };
106
107 #endif