summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-08-15 17:33:25 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-08-21 10:18:12 +0000
commit0a7eb034f402637e139072dc19579775a416e2a8 (patch)
treea1b0b5f4d25c9d47e98035e3970b920807419e75 /src/plugins/platforms/cocoa/qnsview.mm
parent23697466cae8f1a49537fed1e60db8cea79207b4 (diff)
macOS: Restore support for layered mode
After 871966 we now do drawing as a result of drawRect calls, but layer backed mode was not taken into account. This restores support for both pull and push-mode drawing in layer-backed mode. Change-Id: I35039ee9eb4486206f9f92f8230df104473368c9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview.mm')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index 4c485dc807..8d3cb6cc05 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -384,6 +384,22 @@ static QTouchDevice *touchDevice = 0;
m_platformWindow->handleExposeEvent(exposedRegion);
}
+- (BOOL)wantsUpdateLayer
+{
+ return YES;
+}
+
+- (void)updateLayer
+{
+ if (!m_platformWindow)
+ return;
+
+ qCDebug(lcQpaCocoaWindow) << "[QNSView updateLayer]" << m_platformWindow->window();
+
+ // FIXME: Find out if there's a way to resolve the dirty rect like in drawRect:
+ m_platformWindow->handleExposeEvent(QRectF::fromCGRect(self.bounds).toRect());
+}
+
- (BOOL)isFlipped
{
return YES;