diff options
Diffstat (limited to 'src/gui/kernel/qplatformscreen_qpa.cpp')
-rw-r--r-- | src/gui/kernel/qplatformscreen_qpa.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/gui/kernel/qplatformscreen_qpa.cpp b/src/gui/kernel/qplatformscreen_qpa.cpp index 86dc0bd588..3fdb809137 100644 --- a/src/gui/kernel/qplatformscreen_qpa.cpp +++ b/src/gui/kernel/qplatformscreen_qpa.cpp @@ -164,6 +164,39 @@ QDpi QPlatformScreen::logicalDpi() const 25.4 * s.height() / ps.height()); } +/*! + Reimplement this function in subclass to return the primary orientation + of the screen, i.e. the orientation the display controller or equivalent + expects. + + The default implementation returns Qt::PortraitOrientation if the + geometry's height is greater or Qt::LandscapeOrientation if the geometry's + width is greater. +*/ +Qt::ScreenOrientation QPlatformScreen::primaryOrientation() const +{ + return geometry().height() > geometry().width() ? Qt::PortraitOrientation : + Qt::LandscapeOrientation; +} + +/*! + Reimplement this function in subclass to return the current orientation + of the screen, for example based on accelerometer data to determine + the physical screen orientation. + + The current orientation is only a hint to the application saying + what the preferred application orientation should be, the application + is free to limit itself to a certain set of supported orientations. + + The default implementation returns the same as primaryOrientation(). + + \sa primaryOrientation() +*/ +Qt::ScreenOrientation QPlatformScreen::currentOrientation() const +{ + return primaryOrientation(); +} + QPlatformScreen * QPlatformScreen::platformScreenForWindow(const QWindow *window) { return window->screen()->handle(); |