diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-03-28 16:43:40 -0500 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-03-28 17:05:29 -0500 |
commit | dd0d88f9d74975bf9ee84dcf2e18948d2680356d (patch) | |
tree | 7718e4d277aa792ba415c1496415858ad51cea4f /subsurface-core | |
parent | 8185d24e610e5655da8ccbcfcc4411ea2215fc1f (diff) | |
download | subsurface-dd0d88f9d74975bf9ee84dcf2e18948d2680356d.tar.gz |
QML UI: take device pixel ratio into account when scaling pixmaps on iOS
This way warning icons and tank change icons and other event markers are no
longer ridiculously tiny on retina screens. Oddly this doesn't appear to be
needed on Android, only on iOS.
Fixes #1033
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core')
-rw-r--r-- | subsurface-core/metrics.cpp | 8 | ||||
-rw-r--r-- | subsurface-core/metrics.h | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/subsurface-core/metrics.cpp b/subsurface-core/metrics.cpp index db636794d..3c66528b8 100644 --- a/subsurface-core/metrics.cpp +++ b/subsurface-core/metrics.cpp @@ -15,7 +15,8 @@ IconMetrics::IconMetrics() : sz_med(-1), sz_big(-1), sz_pic(-1), - spacing(-1) + spacing(-1), + dpr(1.0) { } @@ -57,3 +58,8 @@ const IconMetrics & defaultIconMetrics() return dfltIconMetrics; } + +void updateDevicePixelRatio(double dpr) +{ + dfltIconMetrics.dpr = dpr; +} diff --git a/subsurface-core/metrics.h b/subsurface-core/metrics.h index 03d6b22e2..ca281b3b1 100644 --- a/subsurface-core/metrics.h +++ b/subsurface-core/metrics.h @@ -25,9 +25,12 @@ struct IconMetrics { int sz_pic; // ex 128px // icon spacing int spacing; // ex 2px + // devicePixelRatio + double dpr; // 1.0 for traditional screens, HiDPI screens up to 3.0 IconMetrics(); }; const IconMetrics & defaultIconMetrics(); +void updateDevicePixelRatio(double dpr); #endif // METRICS_H |