Cocoa: Implement screen availableGeometry.

As usual the y coordinate needs to be inverted.

Change-Id: Iac9b48f9bdb475a3d5a76b930c2e138a625f1ef8
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
bb10
Morten Johan Sorvig 2012-03-16 14:26:15 +01:00 committed by Qt by Nokia
parent bf469e923e
commit 7f18dbc30c
2 changed files with 8 additions and 2 deletions

View File

@ -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;

View File

@ -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;