Qwt Polar User's Guide  1.1.0-rc1
 All Classes Functions Typedefs Enumerations Enumerator Pages
qwt_polar_canvas.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * QwtPolar Widget Library
3  * Copyright (C) 2008 Uwe Rathmann
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the Qwt License, Version 1.0
7  *****************************************************************************/
8 
9 #ifndef QWT_POLAR_CANVAS_H
10 #define QWT_POLAR_CANVAS_H 1
11 
12 #include "qwt_polar_global.h"
13 #include <qwt_point_polar.h>
14 #include <qframe.h>
15 
16 class QPainter;
17 class QwtPolarPlot;
18 
27 class QWT_POLAR_EXPORT QwtPolarCanvas: public QFrame
28 {
29  Q_OBJECT
30 
31 public:
41  {
47  BackingStore = 0x01
48  };
49 
51  typedef QFlags<PaintAttribute> PaintAttributes;
52 
53  explicit QwtPolarCanvas( QwtPolarPlot * );
54  virtual ~QwtPolarCanvas();
55 
56  QwtPolarPlot *plot();
57  const QwtPolarPlot *plot() const;
58 
59  void setPaintAttribute( PaintAttribute, bool on = true );
60  bool testPaintAttribute( PaintAttribute ) const;
61 
62  const QPixmap *backingStore() const;
63  void invalidateBackingStore();
64 
65  QwtPointPolar invTransform( const QPoint & ) const;
66  QPoint transform( const QwtPointPolar & ) const;
67 
68 protected:
69  virtual void paintEvent( QPaintEvent * );
70  virtual void resizeEvent( QResizeEvent * );
71 
72 private:
73  class PrivateData;
74  PrivateData *d_data;
75 };
76 
77 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPolarCanvas::PaintAttributes )
78 
79 #endif