From 7f18dbc30c86464f8b86d8ab82966a40f5834fcf Mon Sep 17 00:00:00 2001 From: Morten Johan Sorvig Date: Fri, 16 Mar 2012 14:26:15 +0100 Subject: Cocoa: Implement screen availableGeometry. As usual the y coordinate needs to be inverted. Change-Id: Iac9b48f9bdb475a3d5a76b930c2e138a625f1ef8 Reviewed-by: Bradley T. Hughes Reviewed-by: Marius Storm-Olsen --- src/plugins/platforms/cocoa/qcocoaintegration.h | 2 ++ src/plugins/platforms/cocoa/qcocoaintegration.mm | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index 97e7a7ffde..fb3ee3290e 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -61,6 +61,7 @@ public: ~QCocoaScreen(); QRect geometry() const { return m_geometry; } + QRect availableGeometry() const { return m_availableGeometry; } int depth() const { return m_depth; } QImage::Format format() const { return m_format; } QSizeF physicalSize() const { return m_physicalSize; } @@ -69,6 +70,7 @@ public: public: NSScreen *m_screen; QRect m_geometry; + QRect m_availableGeometry; int m_depth; QImage::Format m_format; QSizeF m_physicalSize; diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index f5febd4a16..f91351ad46 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -69,8 +69,12 @@ QCocoaScreen::QCocoaScreen(int screenIndex) :QPlatformScreen() { m_screen = [[NSScreen screens] objectAtIndex:screenIndex]; - NSRect rect = [m_screen frame]; - m_geometry = QRect(rect.origin.x,rect.origin.y,rect.size.width,rect.size.height); + NSRect frameRect = [m_screen frame]; + m_geometry = QRect(frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height); + NSRect visibleRect = [m_screen visibleFrame]; + m_availableGeometry = QRect(visibleRect.origin.x, + frameRect.size.height - (visibleRect.origin.y + visibleRect.size.height), // invert y + visibleRect.size.width, visibleRect.size.height); m_format = QImage::Format_RGB32; -- cgit v1.2.3