source: pacpusframework/branches/2.0-beta1/include/extlib/qwt-5.2.1/qwt_paint_buffer.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: 1.6 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#ifndef QWT_PAINT_BUFFER_H
11#define QWT_PAINT_BUFFER_H 1
12
13#include <qglobal.h>
14#if QT_VERSION < 0x040000
15
16#include <qpixmap.h>
17#include "qwt_global.h"
18
19class QPainter;
20
21/*!
22 \brief Paint buffer for Qwt widgets
23
24 QwtPaintBuffer offers a simple way to en/disable double buffering.
25 Double buffering is enabled as default and in general there will be
26 no reason to change this.
27*/
28
29class QWT_EXPORT QwtPaintBuffer
30{
31public:
32 explicit QwtPaintBuffer();
33 explicit QwtPaintBuffer(QPaintDevice *, const QRect &, QPainter *p = NULL);
34
35 virtual ~QwtPaintBuffer();
36
37 void open(QPaintDevice *, const QRect &, QPainter *p = NULL);
38 void close();
39
40 QPainter *painter();
41 const QPaintDevice *device();
42
43 static void setEnabled(bool enable);
44 static bool isEnabled();
45
46 //! Return Buffer used for double buffering
47 const QPixmap &buffer() const { return d_pixBuffer; }
48
49protected:
50 void flush();
51
52private:
53 QPixmap d_pixBuffer;
54 QRect d_rect;
55
56 QPaintDevice *d_device; // use QGuardedPtr
57 QPainter *d_painter; // use QGuardedPtr
58 QPainter *d_devicePainter; // use QGuardedPtr
59
60 static bool d_enabled;
61};
62
63#endif // QT_VERSION < 0x040000
64
65#endif
Note: See TracBrowser for help on using the repository browser.