diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2017-03-10 10:39:18 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2017-03-13 12:04:18 +0000 |
commit | bf3008292f81cf103096d8a13e469e8532c31232 (patch) | |
tree | a18d567a07c3405f05366968829296884eadf638 /share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp | |
parent | a6985eaa852d2775292c93ab5e61af80afe24a66 (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.cpp | 8 |
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; } |