diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-07 15:18:16 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-07 15:18:16 +0100 |
commit | cdf13ce286b14273e1e29c5bb02cbc880f31b786 (patch) | |
tree | 10733cb3fb35647b19cfd15ab158f56b1cb550e1 /src/plugins/platforms/cocoa | |
parent | 21d607c81af0cd285e9bb3869ac3cd18358f1c8f (diff) | |
parent | a8321f21fb82714771b4717c99dd475f2c74649e (diff) |
Merge branch 'stable' into dev
Conflicts:
tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
Change-Id: I6b8d505fc22f052c307ca27f58f7d16f98965f47
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaintegration.h | 4 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaintegration.mm | 19 |
2 files changed, 14 insertions, 9 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index e455a3552e..69801a69f1 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -80,11 +80,11 @@ public: // ---------------------------------------------------- // Additional methods void setVirtualSiblings(QList<QPlatformScreen *> siblings) { m_siblings = siblings; } - NSScreen *osScreen() const { return m_screen; } + NSScreen *osScreen() const; void updateGeometry(); public: - NSScreen *m_screen; + int m_screenIndex; QRect m_geometry; QRect m_availableGeometry; QDpi m_logicalDpi; diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index e096096e99..f4da7cc58a 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -70,9 +70,8 @@ static void initResources() QT_BEGIN_NAMESPACE QCocoaScreen::QCocoaScreen(int screenIndex) : - QPlatformScreen(), m_refreshRate(60.0) + QPlatformScreen(), m_screenIndex(screenIndex), m_refreshRate(60.0) { - m_screen = [[NSScreen screens] objectAtIndex:screenIndex]; updateGeometry(); m_cursor = new QCocoaCursor; } @@ -82,19 +81,25 @@ QCocoaScreen::~QCocoaScreen() delete m_cursor; } +NSScreen *QCocoaScreen::osScreen() const +{ + return [[NSScreen screens] objectAtIndex:m_screenIndex]; +} + void QCocoaScreen::updateGeometry() { - NSRect frameRect = [m_screen frame]; + NSScreen *nsScreen = osScreen(); + NSRect frameRect = [nsScreen frame]; m_geometry = QRect(frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height); - NSRect visibleRect = [m_screen visibleFrame]; + NSRect visibleRect = [nsScreen 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; - m_depth = NSBitsPerPixelFromDepth([m_screen depth]); + m_depth = NSBitsPerPixelFromDepth([nsScreen depth]); - NSDictionary *devDesc = [m_screen deviceDescription]; + NSDictionary *devDesc = [nsScreen deviceDescription]; CGDirectDisplayID dpy = [[devDesc objectForKey:@"NSScreenNumber"] unsignedIntValue]; CGSize size = CGDisplayScreenSize(dpy); m_physicalSize = QSizeF(size.width, size.height); @@ -119,7 +124,7 @@ qreal QCocoaScreen::devicePixelRatio() const { #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7) { - return qreal([m_screen backingScaleFactor]); + return qreal([osScreen() backingScaleFactor]); } else #endif { |