QWT 7.0.1
Loading...
Searching...
No Matches
qwt_widget_overlay.h
1/******************************************************************************
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 * Modified by ChenZongYan in 2024 <czy.t@163.com>
10 * Summary of major modifications (see ChangeLog.md for full history):
11 * 1. CMake build system & C++11 throughout.
12 * 2. Core panner/ zoomer refactored:
13 * - QwtPanner → QwtCachePanner (pixmap-cache version)
14 * - New real-time QwtPlotPanner derived from QwtPicker.
15 * 3. Zoomer supports multi-axis.
16 * 4. Parasite-plot framework:
17 * - QwtFigure, QwtPlotParasiteLayout, QwtPlotTransparentCanvas,
18 * - QwtPlotScaleEventDispatcher, built-in pan/zoom on axis.
19 * 5. New picker: QwtPlotSeriesDataPicker (works with date axis).
20 * 6. Raster & color-map extensions:
21 * - QwtGridRasterData (2-D table + interpolation)
22 * - QwtLinearColorMap::stopColors(), stopPos() API rename.
23 * 7. Bar-chart: expose pen/brush control.
24 * 8. Amalgamated build: single QwtPlot.h / QwtPlot.cpp pair in src-amalgamate.
25 *****************************************************************************/
26
27#ifndef QWT_WIDGET_OVERLAY_H
28#define QWT_WIDGET_OVERLAY_H
29
30#include "qwt_global.h"
31#include <qwidget.h>
32
33class QPainter;
34class QRegion;
35
57class QWT_EXPORT QwtWidgetOverlay : public QWidget
58{
59 Q_OBJECT
60public:
79 {
82
91
102 AlphaMask
103 };
104
121 {
124
127
129 DrawOverlay
130 };
131
132 explicit QwtWidgetOverlay(QWidget*);
133 virtual ~QwtWidgetOverlay();
134
135 void setMaskMode(MaskMode);
136 MaskMode maskMode() const;
137
138 void setRenderMode(RenderMode);
139 RenderMode renderMode() const;
140
141 virtual bool eventFilter(QObject*, QEvent*) QWT_OVERRIDE;
142
143public Q_SLOTS:
144 void updateOverlay();
145
146protected:
147 virtual void paintEvent(QPaintEvent*) QWT_OVERRIDE;
148 virtual void resizeEvent(QResizeEvent*) QWT_OVERRIDE;
149
150 virtual QRegion maskHint() const;
151
156 virtual void drawOverlay(QPainter* painter) const = 0;
157
158private:
159 void updateMask();
160 void draw(QPainter*) const;
161
162private:
163 class PrivateData;
164 PrivateData* m_data;
165};
166
167#endif
An overlay for a widget.
Definition qwt_widget_overlay.h:58
MaskMode
Mask mode.
Definition qwt_widget_overlay.h:79
@ NoMask
Don't use a mask.
Definition qwt_widget_overlay.h:81
@ MaskHint
Use maskHint() as mask.
Definition qwt_widget_overlay.h:90
RenderMode
Render mode.
Definition qwt_widget_overlay.h:121
@ AutoRenderMode
Copy the buffer, when using the raster paint engine.
Definition qwt_widget_overlay.h:123
@ CopyAlphaMask
Always copy the buffer.
Definition qwt_widget_overlay.h:126
virtual void drawOverlay(QPainter *painter) const =0
Draw the widget overlay.