From 75711510b1ad7d4ac4434ad41a0ed71cfc0344dc Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Thu, 19 Jan 2012 12:51:43 +0100 Subject: Improve QSurface / QWindow API a bit and use that to avoid errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iadba1c3a7b8e6bc7f145455132cefed2a905c11d Reviewed-by: Samuel Rødal --- src/gui/kernel/qsurface.h | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'src/gui/kernel/qsurface.h') 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 #include +#include + 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 -- cgit v1.2.3