QNX: Implement QQnxScreen::nativeOrientation()

Provide a proper version of nativeOrientation(). We use the screen
physical size as reported by the device to determine its native
orientation.

Change-Id: I45b593b0d62436529f89050e98e10b8c9463b6b9
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
This commit is contained in:
Kevin Ottens 2012-05-25 11:14:11 +02:00 committed by Qt by Nokia
parent 99b3a15dcf
commit 0915d073f1
2 changed files with 11 additions and 0 deletions

View File

@ -63,6 +63,7 @@ QQnxScreen::QQnxScreen(screen_context_t screenContext, screen_display_t display,
m_primaryScreen(primaryScreen), m_primaryScreen(primaryScreen),
m_posted(false), m_posted(false),
m_keyboardHeight(0), m_keyboardHeight(0),
m_nativeOrientation(Qt::PrimaryOrientation),
m_platformContext(0) m_platformContext(0)
{ {
qScreenDebug() << Q_FUNC_INFO; qScreenDebug() << Q_FUNC_INFO;
@ -93,6 +94,9 @@ QQnxScreen::QQnxScreen(screen_context_t screenContext, screen_display_t display,
if (result != 0) { if (result != 0) {
qFatal("QQnxScreen: failed to query display physical size, errno=%d", errno); qFatal("QQnxScreen: failed to query display physical size, errno=%d", errno);
} }
m_nativeOrientation = val[0] >= val[1] ? Qt::LandscapeOrientation : Qt::PortraitOrientation;
if (m_currentRotation == 0 || m_currentRotation == 180) if (m_currentRotation == 0 || m_currentRotation == 180)
m_currentPhysicalSize = m_initialPhysicalSize = QSize(val[0], val[1]); m_currentPhysicalSize = m_initialPhysicalSize = QSize(val[0], val[1]);
else else
@ -152,6 +156,11 @@ qreal QQnxScreen::refreshRate() const
return static_cast<qreal>(displayMode.refresh); return static_cast<qreal>(displayMode.refresh);
} }
Qt::ScreenOrientation QQnxScreen::nativeOrientation() const
{
return m_nativeOrientation;
}
Qt::ScreenOrientation QQnxScreen::orientation() const Qt::ScreenOrientation QQnxScreen::orientation() const
{ {
Qt::ScreenOrientation orient; Qt::ScreenOrientation orient;

View File

@ -70,6 +70,7 @@ public:
qreal refreshRate() const; qreal refreshRate() const;
Qt::ScreenOrientation nativeOrientation() const;
Qt::ScreenOrientation orientation() const; Qt::ScreenOrientation orientation() const;
bool isPrimaryScreen() const { return m_primaryScreen; } bool isPrimaryScreen() const { return m_primaryScreen; }
@ -119,6 +120,7 @@ private:
int m_keyboardHeight; int m_keyboardHeight;
QSize m_initialPhysicalSize; QSize m_initialPhysicalSize;
QSize m_currentPhysicalSize; QSize m_currentPhysicalSize;
Qt::ScreenOrientation m_nativeOrientation;
QRect m_initialGeometry; QRect m_initialGeometry;
QRect m_currentGeometry; QRect m_currentGeometry;
QPlatformOpenGLContext *m_platformContext; QPlatformOpenGLContext *m_platformContext;