diff options
author | Fabian Bumberger <fbumberger@rim.com> | 2013-08-22 17:02:05 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-11 04:24:57 +0100 |
commit | fd619946be51784dc709363324897be6af144c52 (patch) | |
tree | 4add7162e8fae66840e73267935ea4a131997dfa /src/plugins/platforms/qnx/qqnxwindow.h | |
parent | d4ade9d4ef785a96f0bd1a89acfdba8ec09324f6 (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.h | 22 |
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 |