aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/designer/designersupport.cpp
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2011-08-31 18:29:13 +0200
committerQt by Nokia <qt-info@nokia.com>2011-08-31 18:34:27 +0200
commit8801dd4f173a4e7676400dd18d76d89dfe3b3791 (patch)
tree6a0edc28224360eb51d2e003475414603946126f /src/declarative/designer/designersupport.cpp
parenta07f68eff5ac4696a551f083d186a685f7ef043d (diff)
Add bounding rectangle for rendering images in designer support
Elements can be outside the root items bounding rectange. So we compute the bounding rectangle of an item and its children on the designer side. We exclude all children which are the designer created. Change-Id: I3c4f9ca5291c8f65e3670be1fd0900edf449b46f Reviewed-on: http://codereview.qt.nokia.com/3963 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Diffstat (limited to 'src/declarative/designer/designersupport.cpp')
-rw-r--r--src/declarative/designer/designersupport.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/declarative/designer/designersupport.cpp b/src/declarative/designer/designersupport.cpp
index 824642a989..91186a4a2e 100644
--- a/src/declarative/designer/designersupport.cpp
+++ b/src/declarative/designer/designersupport.cpp
@@ -101,7 +101,7 @@ void DesignerSupport::derefFromEffectItem(QSGItem *referencedItem, bool unhide)
QSGItemPrivate::get(referencedItem)->derefFromEffectItem(unhide);
}
-QImage DesignerSupport::renderImageForItem(QSGItem *referencedItem)
+QImage DesignerSupport::renderImageForItem(QSGItem *referencedItem, const QRectF &boundingRect, const QSize &imageSize)
{
if (referencedItem == 0 || referencedItem->parentItem() == 0) {
qDebug() << __FILE__ << __LINE__ << "Warning: Item can be rendered.";
@@ -113,8 +113,8 @@ QImage DesignerSupport::renderImageForItem(QSGItem *referencedItem)
Q_ASSERT(renderTexture);
if (renderTexture == 0)
return QImage();
- renderTexture->setRect(referencedItem->boundingRect());
- renderTexture->setSize(referencedItem->boundingRect().size().toSize());
+ renderTexture->setRect(boundingRect);
+ renderTexture->setSize(imageSize);
renderTexture->updateTexture();
QImage renderImage = renderTexture->toImage();
@@ -123,8 +123,6 @@ QImage DesignerSupport::renderImageForItem(QSGItem *referencedItem)
if (renderImage.size().isEmpty())
qDebug() << __FILE__ << __LINE__ << "Warning: Image is empty.";
- qDebug() << __FUNCTION__ << renderImage.size();
-
return renderImage;
}