From 99b3a15dcf2075806390ac2c9e259af31b0ad402 Mon Sep 17 00:00:00 2001 From: Kevin Ottens Date: Fri, 25 May 2012 10:30:52 +0200 Subject: Introduce nativeOrientation() to QPlatformScreen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now QPlatformScreen has a nativeOrientation() method which default implementation return Qt::PrimaryOrientation. Its purpose is to return the native orientation of the device (e.g. when the device logo is right up). Only the QPA backend can know for sure what this native orientation is, so allow QPA backends to override it with a finer result. Change-Id: I3bef14acb6b8568e64398ff919d9cb4461a2c9cc Reviewed-by: Sean Harmer Reviewed-by: Samuel Rødal --- src/gui/kernel/qplatformscreen.h | 1 + src/gui/kernel/qplatformscreen_qpa.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+) (limited to 'src/gui/kernel') diff --git a/src/gui/kernel/qplatformscreen.h b/src/gui/kernel/qplatformscreen.h index d0c4a16d33..4baf0f65fb 100644 --- a/src/gui/kernel/qplatformscreen.h +++ b/src/gui/kernel/qplatformscreen.h @@ -101,6 +101,7 @@ public: virtual qreal refreshRate() const; + virtual Qt::ScreenOrientation nativeOrientation() const; virtual Qt::ScreenOrientation orientation() const; virtual QWindow *topLevelAt(const QPoint &point) const; diff --git a/src/gui/kernel/qplatformscreen_qpa.cpp b/src/gui/kernel/qplatformscreen_qpa.cpp index e40550a633..fdb5d32687 100644 --- a/src/gui/kernel/qplatformscreen_qpa.cpp +++ b/src/gui/kernel/qplatformscreen_qpa.cpp @@ -171,6 +171,18 @@ qreal QPlatformScreen::refreshRate() const return 60; } +/*! + Reimplement this function in subclass to return the native orientation + of the screen, e.g. the orientation where the logo sticker of the device + appears the right way up. + + The default implementation returns Qt::PrimaryOrientation. +*/ +Qt::ScreenOrientation QPlatformScreen::nativeOrientation() const +{ + return Qt::PrimaryOrientation; +} + /*! Reimplement this function in subclass to return the current orientation of the screen, for example based on accelerometer data to determine -- cgit v1.2.3