summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxwindow.h
diff options
context:
space:
mode:
authorFabian Bumberger <fbumberger@rim.com>2013-08-22 17:02:05 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-11 04:24:57 +0100
commitfd619946be51784dc709363324897be6af144c52 (patch)
tree4add7162e8fae66840e73267935ea4a131997dfa /src/plugins/platforms/qnx/qqnxwindow.h
parentd4ade9d4ef785a96f0bd1a89acfdba8ec09324f6 (diff)
Refactor QQnxWindow
This patch does following things: * Remove the root window: First window which is created will serve as a root window * Allow creation of more than one application window (with every app window having an own window group) on one screen * Fixes a bug when reparanting an EGL window Change-Id: I1afd64a813bc084c0893b958aa191d4a25c32b9d Reviewed-by: Matt Hoosier <matt.hoosier@garmin.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxwindow.h')
-rw-r--r--src/plugins/platforms/qnx/qqnxwindow.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/plugins/platforms/qnx/qqnxwindow.h b/src/plugins/platforms/qnx/qqnxwindow.h
index 52d22235a2..3c8070b0be 100644
--- a/src/plugins/platforms/qnx/qqnxwindow.h
+++ b/src/plugins/platforms/qnx/qqnxwindow.h
@@ -66,12 +66,7 @@ class QQnxWindow : public QPlatformWindow
{
friend class QQnxScreen;
public:
- enum WindowType {
- EGL,
- Raster
- };
-
- QQnxWindow(QWindow *window, screen_context_t context);
+ QQnxWindow(QWindow *window, screen_context_t context, bool needRootWindow);
virtual ~QQnxWindow();
void setGeometry(const QRect &rect);
@@ -83,7 +78,7 @@ public:
WId winId() const { return (WId)m_window; }
screen_window_t nativeHandle() const { return m_window; }
- void adjustBufferSize();
+ virtual void adjustBufferSize() = 0;
void setBufferSize(const QSize &size);
QSize bufferSize() const { return m_bufferSize; }
@@ -114,7 +109,10 @@ public:
screen_window_t mmRendererWindow() const { return m_mmRendererWindow; }
- virtual WindowType windowType() const = 0;
+ void setRotation(int rotation);
+
+ QByteArray groupName() const { return m_windowGroupName; }
+
protected:
virtual int pixelFormat() const = 0;
virtual void resetBuffers() = 0;
@@ -124,7 +122,10 @@ protected:
screen_context_t m_screenContext;
QScopedPointer<QQnxAbstractCover> m_cover;
+ QQnxWindow *m_parentWindow;
+
private:
+ void createWindowGroup();
QRect setGeometryHelper(const QRect &rect);
void removeFromParent();
void setOffset(const QPoint &setOffset);
@@ -138,13 +139,16 @@ private:
QQnxScreen *m_screen;
QList<QQnxWindow*> m_childWindows;
- QQnxWindow *m_parentWindow;
bool m_visible;
bool m_exposed;
QRect m_unmaximizedGeometry;
Qt::WindowState m_windowState;
QString m_mmRendererWindowName;
screen_window_t m_mmRendererWindow;
+
+ QByteArray m_windowGroupName;
+
+ bool m_isTopLevel;
};
QT_END_NAMESPACE