Qwt User's Guide  5.2.3
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:
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:
99  QwtPlotRasterItem &operator=( const QwtPlotRasterItem & );
100 
101  void init();
102 
103  class PrivateData;
104  PrivateData *d_data;
105 };
106 
107 #endif