source: pacpusframework/branches/2.0-beta1/include/extlib/qwt-5.2.1/qwt_plot_canvas.h@ 89

Last change on this file since 89 was 89, checked in by morasjul, 11 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 3.0 KB
Line 
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// vim: expandtab
11
12#ifndef QWT_PLOT_CANVAS_H
13#define QWT_PLOT_CANVAS_H
14
15#include <qframe.h>
16#include <qpen.h>
17#include "qwt_global.h"
18
19class QwtPlot;
20class QPixmap;
21
22/*!
23 \brief Canvas of a QwtPlot.
24 \sa QwtPlot
25*/
26class QWT_EXPORT QwtPlotCanvas : public QFrame
27{
28 Q_OBJECT
29
30public:
31
32 /*!
33 \brief Paint attributes
34
35 - PaintCached\n
36 Paint double buffered and reuse the content of the pixmap buffer
37 for some spontaneous repaints that happen when a plot gets unhidden,
38 deiconified or changes the focus.
39 Disabling the cache will improve the performance for
40 incremental paints (using QwtPlotCurve::draw).
41
42 - PaintPacked\n
43 Suppress system background repaints and paint it together with
44 the canvas contents.
45 Painting packed might avoid flickering for expensive repaints,
46 when there is a notable gap between painting the background
47 and the plot contents.
48
49 The default setting enables PaintCached and PaintPacked
50
51 \sa setPaintAttribute(), testPaintAttribute(), paintCache()
52 */
53 enum PaintAttribute
54 {
55 PaintCached = 1,
56 PaintPacked = 2
57 };
58
59 /*!
60 \brief Focus indicator
61
62 - NoFocusIndicator\n
63 Don't paint a focus indicator
64
65 - CanvasFocusIndicator\n
66 The focus is related to the complete canvas.
67 Paint the focus indicator using paintFocus()
68
69 - ItemFocusIndicator\n
70 The focus is related to an item (curve, point, ...) on
71 the canvas. It is up to the application to display a
72 focus indication using f.e. highlighting.
73
74 \sa setFocusIndicator(), focusIndicator(), paintFocus()
75 */
76
77 enum FocusIndicator
78 {
79 NoFocusIndicator,
80 CanvasFocusIndicator,
81 ItemFocusIndicator
82 };
83
84 explicit QwtPlotCanvas(QwtPlot *);
85 virtual ~QwtPlotCanvas();
86
87 QwtPlot *plot();
88 const QwtPlot *plot() const;
89
90 void setFocusIndicator(FocusIndicator);
91 FocusIndicator focusIndicator() const;
92
93 void setPaintAttribute(PaintAttribute, bool on = true);
94 bool testPaintAttribute(PaintAttribute) const;
95
96 QPixmap *paintCache();
97 const QPixmap *paintCache() const;
98 void invalidatePaintCache();
99
100 void replot();
101
102protected:
103 virtual void hideEvent(QHideEvent *);
104
105 virtual void paintEvent(QPaintEvent *);
106
107 virtual void drawContents(QPainter *);
108 virtual void drawFocusIndicator(QPainter *);
109
110 void drawCanvas(QPainter *painter = NULL);
111
112private:
113 void setSystemBackground(bool);
114
115 class PrivateData;
116 PrivateData *d_data;
117};
118
119#endif
Note: See TracBrowser for help on using the repository browser.