diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsscreen.h')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsscreen.h | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/src/plugins/platforms/windows/qwindowsscreen.h b/src/plugins/platforms/windows/qwindowsscreen.h index 930814a17d..44638bcbe0 100644 --- a/src/plugins/platforms/windows/qwindowsscreen.h +++ b/src/plugins/platforms/windows/qwindowsscreen.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the plugins of the Qt Toolkit. @@ -43,11 +43,13 @@ #define QWINDOWSSCREEN_H #include "qwindowscursor.h" +#include "qwindowsscaling.h" #ifdef Q_OS_WINCE # include "qplatformfunctions_wince.h" #endif #include <QtCore/QList> +#include <QtCore/QVector> #include <QtCore/QPair> #include <QtCore/QSharedPointer> #include <qpa/qplatformscreen.h> @@ -88,24 +90,24 @@ public: static QWindowsScreen *screenOf(const QWindow *w = 0); - virtual QRect geometry() const { return m_data.geometry; } - virtual QRect availableGeometry() const { return m_data.availableGeometry; } - virtual int depth() const { return m_data.depth; } - virtual QImage::Format format() const { return m_data.format; } - virtual QSizeF physicalSize() const { return m_data.physicalSizeMM; } - virtual QDpi logicalDpi() const { return m_data.dpi; } - virtual qreal refreshRate() const { return m_data.refreshRateHz; } - virtual QString name() const { return m_data.name; } - virtual Qt::ScreenOrientation primaryOrientation() { return m_data.orientation; } - virtual QList<QPlatformScreen *> virtualSiblings() const; - virtual QWindow *topLevelAt(const QPoint &point) const - { return QWindowsScreen::findTopLevelAt(point, CWP_SKIPINVISIBLE); } - - static QWindow *findTopLevelAt(const QPoint &point, unsigned flags); - static QWindow *windowAt(const QPoint &point, unsigned flags = CWP_SKIPINVISIBLE); - static QWindow *windowUnderMouse(unsigned flags = CWP_SKIPINVISIBLE); - - virtual QPixmap grabWindow(WId window, int x, int y, int width, int height) const; + QRect geometryDp() const { return m_data.geometry; } + QRect geometry() const Q_DECL_OVERRIDE { return QWindowsScaling::mapFromNative(geometryDp()); } + QRect availableGeometryDp() const { return m_data.availableGeometry; } + QRect availableGeometry() const Q_DECL_OVERRIDE { return QWindowsScaling::mapFromNative(availableGeometryDp()); } + int depth() const Q_DECL_OVERRIDE { return m_data.depth; } + QImage::Format format() const Q_DECL_OVERRIDE { return m_data.format; } + QSizeF physicalSize() const Q_DECL_OVERRIDE { return m_data.physicalSizeMM; } + QDpi logicalDpi() const Q_DECL_OVERRIDE + { return QDpi(m_data.dpi.first / QWindowsScaling::factor(), m_data.dpi.second / QWindowsScaling::factor()); } + qreal devicePixelRatio() const Q_DECL_OVERRIDE { return QWindowsScaling::factor(); } + qreal refreshRate() const Q_DECL_OVERRIDE { return m_data.refreshRateHz; } + QString name() const Q_DECL_OVERRIDE { return m_data.name; } + Qt::ScreenOrientation orientation() const Q_DECL_OVERRIDE { return m_data.orientation; } + QList<QPlatformScreen *> virtualSiblings() const Q_DECL_OVERRIDE; + QWindow *topLevelAt(const QPoint &point) const Q_DECL_OVERRIDE; + static QWindow *windowAt(const QPoint &point, unsigned flags); + + QPixmap grabWindow(WId window, int qX, int qY, int qWidth, int qHeight) const Q_DECL_OVERRIDE; inline void handleChanges(const QWindowsScreenData &newData); @@ -117,6 +119,7 @@ public: #endif // !QT_NO_CURSOR const QWindowsScreenData &data() const { return m_data; } + static int maxMonitorHorizResolution(); private: QWindowsScreenData m_data; @@ -143,6 +146,8 @@ public: const WindowsScreenList &screens() const { return m_screens; } private: + void removeScreen(int index); + WindowsScreenList m_screens; int m_lastDepth; WORD m_lastHorizontalResolution; |