summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qsurface.h
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2012-01-19 12:51:43 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-02 17:20:24 +0100
commit75711510b1ad7d4ac4434ad41a0ed71cfc0344dc (patch)
treefc8fae2ea9c623d76cb670e3b9cda9a0e125f573 /src/gui/kernel/qsurface.h
parent6181676ca61f39f389a8c3ca293c369e7f80b1e8 (diff)
Improve QSurface / QWindow API a bit and use that to avoid errors
Change-Id: Iadba1c3a7b8e6bc7f145455132cefed2a905c11d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/kernel/qsurface.h')
-rw-r--r--src/gui/kernel/qsurface.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/gui/kernel/qsurface.h b/src/gui/kernel/qsurface.h
index fd8eaaf058..a8900fde33 100644
--- a/src/gui/kernel/qsurface.h
+++ b/src/gui/kernel/qsurface.h
@@ -45,6 +45,8 @@
#include <QtCore/qnamespace.h>
#include <QtGui/qsurfaceformat.h>
+#include <QtCore/qsize.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -52,26 +54,37 @@ QT_BEGIN_NAMESPACE
class QPlatformSurface;
+class QSurfacePrivate;
+
class Q_GUI_EXPORT QSurface
{
public:
- enum SurfaceType {
+ enum SurfaceClass {
Window
};
+ enum SurfaceType {
+ RasterSurface,
+ OpenGLSurface
+ };
+
virtual ~QSurface();
- SurfaceType surfaceType() const;
+ SurfaceClass surfaceClass() const;
virtual QSurfaceFormat format() const = 0;
virtual QPlatformSurface *surfaceHandle() const = 0;
-private:
- QSurface(SurfaceType type);
+ virtual SurfaceType surfaceType() const = 0;
+
+ virtual QSize size() const = 0;
+
+protected:
+ QSurface(SurfaceClass type);
- SurfaceType m_type;
+ SurfaceClass m_type;
- friend class QWindow;
+ QSurfacePrivate *m_reserved;
};
QT_END_NAMESPACE