diff options
Diffstat (limited to 'src/quick/designer/designersupport.cpp')
-rw-r--r-- | src/quick/designer/designersupport.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/quick/designer/designersupport.cpp b/src/quick/designer/designersupport.cpp index c06e8f0579..1b0fea9190 100644 --- a/src/quick/designer/designersupport.cpp +++ b/src/quick/designer/designersupport.cpp @@ -46,9 +46,13 @@ #include <QtQuick/private/qquickrectangle_p.h> #include <private/qqmlengine_p.h> #include <private/qquickview_p.h> +#include <private/qquickwindowmanager_p.h> #include <QtQuick/private/qquickstategroup_p.h> #include <QtGui/QImage> +#include "designerwindowmanager_p.h" + + QT_BEGIN_NAMESPACE DesignerSupport::DesignerSupport() @@ -119,6 +123,7 @@ QImage DesignerSupport::renderImageForItem(QQuickItem *referencedItem, const QRe return QImage(); renderTexture->setRect(boundingRect); renderTexture->setSize(imageSize); + renderTexture->markDirtyTexture(); renderTexture->updateTexture(); QImage renderImage = renderTexture->toImage(); @@ -138,6 +143,14 @@ bool DesignerSupport::isDirty(QQuickItem *referencedItem, DirtyType dirtyType) return QQuickItemPrivate::get(referencedItem)->dirtyAttributes & dirtyType; } +void DesignerSupport::addDirty(QQuickItem *referencedItem, DesignerSupport::DirtyType dirtyType) +{ + if (referencedItem == 0) + return; + + QQuickItemPrivate::get(referencedItem)->dirtyAttributes |= dirtyType; +} + void DesignerSupport::resetDirty(QQuickItem *referencedItem) { if (referencedItem == 0) @@ -407,7 +420,23 @@ bool DesignerSupport::isValidHeight(QQuickItem *item) void DesignerSupport::updateDirtyNode(QQuickItem *item) { - QQuickWindowPrivate::get(item->window())->updateDirtyNode(item); + if (item->window()) + QQuickWindowPrivate::get(item->window())->updateDirtyNode(item); +} + +void DesignerSupport::activateDesignerWindowManager() +{ + QQuickWindowManager::setInstance(new DesignerWindowManager); +} + +void DesignerSupport::createOpenGLContext(QQuickWindow *window) +{ + DesignerWindowManager::createOpenGLContext(window); +} + +void DesignerSupport::polishItems(QQuickWindow *window) +{ + QQuickWindowPrivate::get(window)->polishItems(); } QT_END_NAMESPACE |