Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_WIDGET_OVERLAY_H
00011 #define QWT_WIDGET_OVERLAY_H
00012
00013 #include "qwt_global.h"
00014 #include <qwidget.h>
00015 #include <qregion.h>
00016
00017 class QPainter;
00018
00040 class QWT_EXPORT QwtWidgetOverlay: public QWidget
00041 {
00042 public:
00060 enum MaskMode
00061 {
00063 NoMask,
00064
00072 MaskHint,
00073
00084 AlphaMask
00085 };
00086
00102 enum RenderMode
00103 {
00105 AutoRenderMode,
00106
00108 CopyAlphaMask,
00109
00111 DrawOverlay
00112 };
00113
00114 explicit QwtWidgetOverlay( QWidget* );
00115 virtual ~QwtWidgetOverlay();
00116
00117 void setMaskMode( MaskMode );
00118 MaskMode maskMode() const;
00119
00120 void setRenderMode( RenderMode );
00121 RenderMode renderMode() const;
00122
00123
00124 virtual bool eventFilter( QObject *, QEvent *);
00125
00126 public Q_SLOTS:
00127 void updateOverlay();
00128
00129 protected:
00130 virtual void paintEvent( QPaintEvent* event );
00131 virtual void resizeEvent( QResizeEvent* event );
00132
00133 virtual QRegion maskHint() const;
00134
00139 virtual void drawOverlay( QPainter *painter ) const = 0;
00140
00141 private:
00142 void updateMask();
00143 void draw( QPainter * ) const;
00144
00145 private:
00146 class PrivateData;
00147 PrivateData *d_data;
00148 };
00149
00150 #endif