diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2012-02-17 11:30:56 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-18 20:45:23 +0100 |
commit | 2e4d8f67a871f2033abeb08cf94d8a31a14ad1cc (patch) | |
tree | 085f41995e906b8624adf3f1d455863f2edb1c45 /src/gui/kernel/qplatformwindow_qpa.cpp | |
parent | 466107107a85e7211c4b7f77b36ec50625657061 (diff) |
Introduced QWindow::isExposed().
The visible property along with show/hideEvent tracks the
windows visibility from the application perspective and is
really a request. The exposeEvent() along with the isExposed()
accessor is used to notify the application of the actual
state of the window in the windowing system.
Change-Id: I7f5b7ed74a168e34aaa21ce0ae9042ddfb0bf6d8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/kernel/qplatformwindow_qpa.cpp')
-rw-r--r-- | src/gui/kernel/qplatformwindow_qpa.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/kernel/qplatformwindow_qpa.cpp b/src/gui/kernel/qplatformwindow_qpa.cpp index c52a1cf757..f3f0a55862 100644 --- a/src/gui/kernel/qplatformwindow_qpa.cpp +++ b/src/gui/kernel/qplatformwindow_qpa.cpp @@ -142,6 +142,7 @@ QMargins QPlatformWindow::frameMargins() const void QPlatformWindow::setVisible(bool visible) { Q_UNUSED(visible); + QWindowSystemInterface::handleSynchronousExposeEvent(window(), QRect(QPoint(), geometry().size())); } /*! Requests setting the window flags of this surface @@ -152,6 +153,20 @@ Qt::WindowFlags QPlatformWindow::setWindowFlags(Qt::WindowFlags flags) return flags; } + + +/*! + Returns if this window is exposed in the windowing system. + + An exposeEvent() is sent every time this value changes. + */ + +bool QPlatformWindow::isExposed() const +{ + Q_D(const QPlatformWindow); + return d->window->visible(); +} + /*! Requests setting the window state of this surface to \a type. Returns the actual state set. |