summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoawindow.h
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@digia.com>2013-11-25 09:03:42 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-04 14:48:21 +0100
commitc6874106850f64c9d1b38238988110bdd4198336 (patch)
treea50696155ff3c9ad8544828f8e08a60c124cc1ef /src/plugins/platforms/cocoa/qcocoawindow.h
parent1983bc9c374fc8b83f608ecc1e6ce6ef4f54e572 (diff)
Improve expose event handling.
Prevent the cocoa platform plugin from sending expose events for windows that are off-screen or has invalid geometry. Differentiate between initial exposes and geometry update exposes, in order that e.g. geometry updates that happen before setVisible() don't trigger expose events. After the initial expose geometry updates to and from invalid geometry will trigger obscure and expose events. Task-number: QTBUG-35143 Task-number: QTBUG-35091 Change-Id: Ibbff20c69974f098ea7635e9ca38620597840a05 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoawindow.h')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.h b/src/plugins/platforms/cocoa/qcocoawindow.h
index 4f5a208f43..c7ec315f04 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.h
+++ b/src/plugins/platforms/cocoa/qcocoawindow.h
@@ -159,8 +159,10 @@ public:
void registerTouch(bool enable);
qreal devicePixelRatio() const;
+ bool isWindowExposable();
void exposeWindow();
void obscureWindow();
+ void updateExposedGeometry();
QWindow *childWindowAt(QPoint windowPoint);
protected:
// NSWindow handling. The QCocoaWindow/QNSView can either be displayed
@@ -202,7 +204,9 @@ public: // for QNSView
bool m_hasModalSession;
bool m_frameStrutEventsEnabled;
+ bool m_geometryUpdateExposeAllowed;
bool m_isExposed;
+ QRect m_exposedGeometry;
int m_registerTouchCount;
bool m_resizableTransientParent;
bool m_overrideBecomeKey;