qwt_widget_overlay.h
Go to the documentation of this file.
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
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


plotjuggler
Author(s): Davide Faconti
autogenerated on Fri Sep 1 2017 02:41:57