summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowswindow.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-07-28 14:34:50 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-08-25 21:21:27 +0200
commitc47b04696a9d1dab04c4a59ed9ce4c28aa00fe98 (patch)
treec0c5fabb914956e6a5da7ceb961fdaf0f0e638b6 /src/plugins/platforms/windows/qwindowswindow.h
parentd8168f10a1a9c78252d5d98a3e4ca171d4f86844 (diff)
Add devicePixelRatio support to the Windows QPA plugin.
This adds support for the environment variable QT_DEVICE_PIXEL_RATIO for the Windows platform plugin. Task-number: QTBUG-38993 Task-number: QTBUG-38858 Change-Id: I6831eb6d3a09a80be7bbef46395e91531b61cc50 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowswindow.h')
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.h b/src/plugins/platforms/windows/qwindowswindow.h
index 19d2236688..cb9da6fe27 100644
--- a/src/plugins/platforms/windows/qwindowswindow.h
+++ b/src/plugins/platforms/windows/qwindowswindow.h
@@ -46,6 +46,7 @@
#ifdef Q_OS_WINCE
# include "qplatformfunctions_wince.h"
#endif
+#include "qwindowsscaling.h"
#include "qwindowscursor.h"
#include "qwindowsopenglcontext.h"
@@ -152,18 +153,28 @@ public:
~QWindowsWindow();
QSurfaceFormat format() const Q_DECL_OVERRIDE { return m_format; }
- void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
- QRect geometry() const Q_DECL_OVERRIDE { return m_data.geometry; }
- QRect normalGeometry() const Q_DECL_OVERRIDE;
-
+ void setGeometryDp(const QRect &rectIn);
+ void setGeometry(const QRect &rect) Q_DECL_OVERRIDE
+ { setGeometryDp(QWindowsScaling::mapToNative(rect)); }
+ QRect geometryDp() const { return m_data.geometry; }
+ QRect geometry() const Q_DECL_OVERRIDE
+ { return QWindowsScaling::mapFromNative(geometryDp()); }
+ QRect normalGeometryDp() const;
+ QRect normalGeometry() const Q_DECL_OVERRIDE
+ { return QWindowsScaling::mapFromNative(normalGeometryDp()); }
+ qreal devicePixelRatio() const Q_DECL_OVERRIDE
+ { return qreal(QWindowsScaling::factor()); }
void setVisible(bool visible) Q_DECL_OVERRIDE;
bool isVisible() const;
bool isExposed() const Q_DECL_OVERRIDE { return testFlag(Exposed); }
bool isActive() const Q_DECL_OVERRIDE;
bool isEmbedded(const QPlatformWindow *parentWindow) const Q_DECL_OVERRIDE;
- QPoint mapToGlobal(const QPoint &pos) const Q_DECL_OVERRIDE;
- QPoint mapFromGlobal(const QPoint &pos) const Q_DECL_OVERRIDE;
-
+ QPoint mapToGlobalDp(const QPoint &pos) const;
+ QPoint mapToGlobal(const QPoint &pos) const Q_DECL_OVERRIDE
+ { return mapToGlobalDp(pos * QWindowsScaling::factor()) / QWindowsScaling::factor(); }
+ QPoint mapFromGlobalDp(const QPoint &pos) const;
+ QPoint mapFromGlobal(const QPoint &pos) const Q_DECL_OVERRIDE
+ { return mapFromGlobalDp(pos * QWindowsScaling::factor()) / QWindowsScaling::factor(); }
void setWindowFlags(Qt::WindowFlags flags) Q_DECL_OVERRIDE;
void setWindowState(Qt::WindowState state) Q_DECL_OVERRIDE;
@@ -179,7 +190,8 @@ public:
void windowEvent(QEvent *event);
void propagateSizeHints() Q_DECL_OVERRIDE;
- QMargins frameMargins() const Q_DECL_OVERRIDE;
+ QMargins frameMarginsDp() const;
+ QMargins frameMargins() const Q_DECL_OVERRIDE { return frameMarginsDp() / QWindowsScaling::factor(); }
void setOpacity(qreal level) Q_DECL_OVERRIDE;
void setMask(const QRegion &region) Q_DECL_OVERRIDE;
@@ -190,7 +202,7 @@ public:
bool setMouseGrabEnabled(bool grab) Q_DECL_OVERRIDE;
inline bool hasMouseCapture() const { return GetCapture() == m_data.hwnd; }
- bool startSystemResize(const QPoint &pos, Qt::Corner corner) Q_DECL_OVERRIDE;
+ bool startSystemResize(const QPoint &, Qt::Corner corner) Q_DECL_OVERRIDE;
void setFrameStrutEventsEnabled(bool enabled);
bool frameStrutEventsEnabled() const { return testFlag(FrameStrutEventsEnabled); }