Qwt User's Guide 5.2.3

- Main Page
- Related Pages
- Classes

qwt_paint_buffer.h
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
19 class QPainter;
20
29 class QWT_EXPORT QwtPaintBuffer
30 {
31 public:
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
47 const QPixmap &buffer() const { return d_pixBuffer; }
48
49 protected:
50 void flush();
51
52 private:
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