summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer.qnx@kdab.com>2012-05-21 11:19:14 +0100
committerQt by Nokia <qt-info@nokia.com>2012-05-21 16:02:06 +0200
commit9be17aa4686e208fe03debd2595d6da86b42aef8 (patch)
tree82c122a3a2770731e1a47a54f5fd94de507e570f /src/plugins/platforms/qnx
parent39c5bad574ab9db7f4127d433d54dcc33f57465b (diff)
QNX: Implement the QPlatformScreen::orientation() function
Also removed some invalid TODO comments. Change-Id: I470a9a6538ce10a3a14df14faa641d7be7f18a74 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'src/plugins/platforms/qnx')
-rw-r--r--src/plugins/platforms/qnx/qqnxscreen.cpp19
-rw-r--r--src/plugins/platforms/qnx/qqnxscreen.h2
2 files changed, 19 insertions, 2 deletions
diff --git a/src/plugins/platforms/qnx/qqnxscreen.cpp b/src/plugins/platforms/qnx/qqnxscreen.cpp
index ac0d552d90..8bdc4974f1 100644
--- a/src/plugins/platforms/qnx/qqnxscreen.cpp
+++ b/src/plugins/platforms/qnx/qqnxscreen.cpp
@@ -65,7 +65,6 @@ QQnxScreen::QQnxScreen(screen_context_t screenContext, screen_display_t display,
qDebug() << Q_FUNC_INFO;
#endif
// Cache initial orientation of this display
- // TODO: use ORIENTATION environment variable?
errno = 0;
int result = screen_get_display_property_iv(m_display, SCREEN_PROPERTY_ROTATION, &m_initialRotation);
if (result != 0) {
@@ -74,7 +73,6 @@ QQnxScreen::QQnxScreen(screen_context_t screenContext, screen_display_t display,
m_currentRotation = m_initialRotation;
// Cache size of this display in pixels
- // TODO: use WIDTH and HEIGHT environment variables?
errno = 0;
int val[2];
result = screen_get_display_property_iv(m_display, SCREEN_PROPERTY_SIZE, val);
@@ -137,6 +135,23 @@ int QQnxScreen::depth() const
return defaultDepth();
}
+Qt::ScreenOrientation QQnxScreen::orientation() const
+{
+ Qt::ScreenOrientation orient;
+ if (m_currentRotation == 0)
+ orient = Qt::LandscapeOrientation;
+ else if (m_currentRotation == 90)
+ orient = Qt::PortraitOrientation;
+ else if (m_currentRotation == 180)
+ orient = Qt::InvertedLandscapeOrientation;
+ else
+ orient = Qt::InvertedPortraitOrientation;
+#if defined(QQNXSCREEN_DEBUG)
+ qDebug() << Q_FUNC_INFO << "orientation =" << orient;
+#endif
+ return orient;
+}
+
/*!
Check if the supplied angles are perpendicular to each other.
*/
diff --git a/src/plugins/platforms/qnx/qqnxscreen.h b/src/plugins/platforms/qnx/qqnxscreen.h
index 4a13946ec3..e7866b5136 100644
--- a/src/plugins/platforms/qnx/qqnxscreen.h
+++ b/src/plugins/platforms/qnx/qqnxscreen.h
@@ -68,6 +68,8 @@ public:
QImage::Format format() const { return (depth() == 32) ? QImage::Format_RGB32 : QImage::Format_RGB16; }
QSizeF physicalSize() const { return m_currentPhysicalSize; }
+ Qt::ScreenOrientation orientation() const;
+
bool isPrimaryScreen() const { return m_primaryScreen; }
int rotation() const { return m_currentRotation; }