diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2012-01-11 13:16:24 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-12 12:08:19 +0100 |
commit | 16c2622fe7e8e43bdb6447399c816cd22c3c2f58 (patch) | |
tree | 7bbac965a630f6798064f9643ad95e6e4a5a37a6 /src/gui/kernel/qscreen.cpp | |
parent | 738896d6b9bb9c521fcc7dd3d7418664411164a6 (diff) |
Made it possible to report screen changes through QWindowSystemInterface.
This makes it possible for platform plugin independent code (such as
generic plugins) to report changes to screen properties. An example
would be an accelerometer plugin that reports orientation changes
without knowing anything about the windowing system.
Change-Id: I984984b6d064327772c264bc942269422451da37
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/kernel/qscreen.cpp')
-rw-r--r-- | src/gui/kernel/qscreen.cpp | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/src/gui/kernel/qscreen.cpp b/src/gui/kernel/qscreen.cpp index 1089c84af7..a1ed3014d0 100644 --- a/src/gui/kernel/qscreen.cpp +++ b/src/gui/kernel/qscreen.cpp @@ -40,23 +40,13 @@ ****************************************************************************/ #include "qscreen.h" +#include "qscreen_p.h" #include "qplatformscreen_qpa.h" #include <QtCore/private/qobject_p.h> QT_BEGIN_NAMESPACE -class QScreenPrivate : public QObjectPrivate -{ -public: - QScreenPrivate(QPlatformScreen *screen) - : platformScreen(screen) - { - } - - QPlatformScreen *platformScreen; -}; - /*! \class QScreen \brief The QScreen class is used to query screen properties. @@ -119,7 +109,7 @@ int QScreen::depth() const QSize QScreen::size() const { Q_D(const QScreen); - return d->platformScreen->geometry().size(); + return d->geometry.size(); } /*! @@ -184,7 +174,7 @@ qreal QScreen::physicalDotsPerInch() const qreal QScreen::logicalDotsPerInchX() const { Q_D(const QScreen); - return d->platformScreen->logicalDpi().first; + return d->logicalDpi.first; } /*! @@ -198,7 +188,7 @@ qreal QScreen::logicalDotsPerInchX() const qreal QScreen::logicalDotsPerInchY() const { Q_D(const QScreen); - return d->platformScreen->logicalDpi().second; + return d->logicalDpi.second; } /*! @@ -216,7 +206,7 @@ qreal QScreen::logicalDotsPerInchY() const qreal QScreen::logicalDotsPerInch() const { Q_D(const QScreen); - QDpi dpi = d->platformScreen->logicalDpi(); + QDpi dpi = d->logicalDpi; return (dpi.first + dpi.second) * qreal(0.5); } @@ -246,7 +236,7 @@ QSizeF QScreen::physicalSize() const QSize QScreen::availableSize() const { Q_D(const QScreen); - return d->platformScreen->availableGeometry().size(); + return d->availableGeometry.size(); } /*! @@ -259,7 +249,7 @@ QSize QScreen::availableSize() const QRect QScreen::geometry() const { Q_D(const QScreen); - return d->platformScreen->geometry(); + return d->geometry; } /*! @@ -272,7 +262,7 @@ QRect QScreen::geometry() const QRect QScreen::availableGeometry() const { Q_D(const QScreen); - return d->platformScreen->availableGeometry(); + return d->availableGeometry; } /*! @@ -315,10 +305,9 @@ QSize QScreen::virtualSize() const */ QRect QScreen::virtualGeometry() const { - Q_D(const QScreen); QRect result; - foreach (QPlatformScreen *platformScreen, d->platformScreen->virtualSiblings()) - result |= platformScreen->geometry(); + foreach (QScreen *screen, virtualSiblings()) + result |= screen->geometry(); return result; } @@ -347,10 +336,9 @@ QSize QScreen::availableVirtualSize() const */ QRect QScreen::availableVirtualGeometry() const { - Q_D(const QScreen); QRect result; - foreach (QPlatformScreen *platformScreen, d->platformScreen->virtualSiblings()) - result |= platformScreen->availableGeometry(); + foreach (QScreen *screen, virtualSiblings()) + result |= screen->availableGeometry(); return result; } @@ -383,7 +371,7 @@ Qt::ScreenOrientation QScreen::primaryOrientation() const Qt::ScreenOrientation QScreen::currentOrientation() const { Q_D(const QScreen); - return d->platformScreen->currentOrientation(); + return d->currentOrientation; } // i must be power of two |