aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2017-03-10 10:39:18 +0100
committerTim Jenssen <tim.jenssen@qt.io>2017-03-13 12:04:18 +0000
commitbf3008292f81cf103096d8a13e469e8532c31232 (patch)
treea18d567a07c3405f05366968829296884eadf638 /share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
parenta6985eaa852d2775292c93ab5e61af80afe24a66 (diff)
QmlDesigner: Add support for high dpi to form editor and puppet
We forward the device pixel ratio to the qml2puppet and render items in higher resolutions. We have to set the device pixel ratio on the pixmap manually, since it is not serialized. The option IgnoreDevicePixelRaio allows disabling high dpi awareness. Rendering in high dpi affects performance, but since we use shared memory this does not seem to be a serious issue. Change-Id: Ie9219b8fdb37841c24d4fb3f0ca259f0194ef65c Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
index 203798e4bf..4141f6b725 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
@@ -366,7 +366,13 @@ QImage QuickItemNodeInstance::renderImage() const
QRectF renderBoundingRect = boundingRect();
- QImage renderImage = designerSupport()->renderImageForItem(quickItem(), renderBoundingRect, renderBoundingRect.size().toSize());
+ QSize size = renderBoundingRect.size().toSize();
+ static float devicePixelRatio = qgetenv("FORMEDITOR_DEVICE_PIXEL_RATIO").toDouble();
+ size *= devicePixelRatio;
+
+ QImage renderImage = designerSupport()->renderImageForItem(quickItem(), renderBoundingRect, size);
+
+ renderImage.setDevicePixelRatio(devicePixelRatio);
return renderImage;
}