QmlDesigner: Improve the quality of state thumbnails

The ImageProvider needs a correct sourceSize. And the puppet needs to
consider the devicePixelRatio.

Change-Id: I408f956fdb4adb23f272c879878e44e88ca76321
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Alessandro Portale
2018-09-12 19:05:59 +02:00
parent bb6851632a
commit 9e221f6ff7
2 changed files with 6 additions and 2 deletions
@@ -384,10 +384,12 @@ QImage QuickItemNodeInstance::renderPreviewImage(const QSize &previewImageSize)
QRectF previewItemBoundingRect = boundingRect();
if (previewItemBoundingRect.isValid() && quickItem()) {
static double devicePixelRatio = qgetenv("FORMEDITOR_DEVICE_PIXEL_RATIO").toDouble();
const QSize size = previewImageSize * devicePixelRatio;
if (quickItem()->isVisible()) {
return designerSupport()->renderImageForItem(quickItem(), previewItemBoundingRect, previewImageSize);
return designerSupport()->renderImageForItem(quickItem(), previewItemBoundingRect, size);
} else {
QImage transparentImage(previewImageSize, QImage::Format_ARGB32_Premultiplied);
QImage transparentImage(size, QImage::Format_ARGB32_Premultiplied);
transparentImage.fill(Qt::transparent);
return transparentImage;
}