aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/items/context2d/qsgcanvasitem.cpp
diff options
context:
space:
mode:
authorCharles Yin <charles.yin@nokia.com>2011-09-16 11:55:01 +1000
committerQt by Nokia <qt-info@nokia.com>2011-09-16 03:56:35 +0200
commit3277b6f803b0f82c72ca2dc26a90cafb18067971 (patch)
treedef2a7bcdfa08170accf939ce80e136fd1875237 /src/declarative/items/context2d/qsgcanvasitem.cpp
parent23966bf69eb97314b1af232efa05fb3376275b0e (diff)
rename threadRendering to renderInThread
Change-Id: I21d2492288adc84d3ef99633752e78a3ea232a4a Reviewed-on: http://codereview.qt-project.org/5042 Reviewed-by: Charles Yin <charles.yin@nokia.com>
Diffstat (limited to 'src/declarative/items/context2d/qsgcanvasitem.cpp')
-rw-r--r--src/declarative/items/context2d/qsgcanvasitem.cpp44
1 files changed, 27 insertions, 17 deletions
diff --git a/src/declarative/items/context2d/qsgcanvasitem.cpp b/src/declarative/items/context2d/qsgcanvasitem.cpp
index 4a5f771c95..2ecd322288 100644
--- a/src/declarative/items/context2d/qsgcanvasitem.cpp
+++ b/src/declarative/items/context2d/qsgcanvasitem.cpp
@@ -64,7 +64,7 @@ public:
QSize tileSize;
QRectF canvasWindow;
QRectF dirtyRect;
- uint threadRendering : 1;
+ uint renderInThread : 1;
uint hasCanvasSize :1;
uint hasTileSize :1;
uint hasCanvasWindow :1;
@@ -80,7 +80,7 @@ QSGCanvasItemPrivate::QSGCanvasItemPrivate()
, texture(0)
, canvasSize(1, 1)
, tileSize(1, 1)
- , threadRendering(true)
+ , renderInThread(false)
, hasCanvasSize(false)
, hasTileSize(false)
, hasCanvasWindow(false)
@@ -303,10 +303,10 @@ QSGContext2D* QSGCanvasItem::context() const
The default value is false.
\sa QtQuick2::Canvas::renderTarget
*/
-bool QSGCanvasItem::threadRendering() const
+bool QSGCanvasItem::renderInThread() const
{
Q_D(const QSGCanvasItem);
- return d->threadRendering;
+ return d->renderInThread;
}
/*!
\qmlproperty bool QtQuick2::Canvas::renderTarget
@@ -353,20 +353,30 @@ void QSGCanvasItem::_doPainting(const QRectF& region)
d->texture->wake();
}
-void QSGCanvasItem::setThreadRendering(bool threadRendering)
+/*!
+ \qmlproperty bool QtQuick2::Canvas::renderInThread
+ Holds the current canvas rendering mode.
+
+ When this property is true, all canvas painting commands
+ are rendered in a background rendering thread, otherwise
+ the rendering happens in the main GUI thread.
+
+ The default renderInThread value is false.
+*/
+void QSGCanvasItem::setRenderInThread(bool renderInThread)
{
Q_D(QSGCanvasItem);
- if (d->threadRendering != threadRendering) {
- d->threadRendering = threadRendering;
+ if (d->renderInThread != renderInThread) {
+ d->renderInThread = renderInThread;
if (d->componentCompleted)
createTexture();
- if (d->threadRendering)
+ if (d->renderInThread)
connect(this, SIGNAL(painted()), SLOT(update()));
else
disconnect(this, SIGNAL(painted()), this, SLOT(update()));
- emit threadRenderingChanged();
+ emit renderInThreadChanged();
polish();
}
}
@@ -418,7 +428,7 @@ void QSGCanvasItem::updatePolish()
QSGItem::updatePolish();
if (d->texture) {
- if (!d->threadRendering && d->dirtyRect.isValid())
+ if (!d->renderInThread && d->dirtyRect.isValid())
_doPainting(d->dirtyRect);
d->texture->canvasChanged(d->canvasSize.toSize()
@@ -447,7 +457,7 @@ void QSGCanvasItem::createTexture()
Q_D(QSGCanvasItem);
if (!d->texture
- || d->texture->threadRendering() != d->threadRendering
+ || d->texture->threadRendering() != d->renderInThread
|| d->texture->renderTarget() != d->renderTarget) {
if (d->texture) {
d->texture->deleteLater();
@@ -455,18 +465,18 @@ void QSGCanvasItem::createTexture()
}
if (d->renderTarget == QSGCanvasItem::Image) {
- d->texture = new QSGContext2DImageTexture(d->threadRendering);
+ d->texture = new QSGContext2DImageTexture(d->renderInThread);
} else if (d->renderTarget == QSGCanvasItem::FramebufferObject) {
d->texture = new QSGContext2DFBOTexture();
}
- if (d->threadRendering && !d->texture->supportThreadRendering()) {
+ if (d->renderInThread && !d->texture->supportThreadRendering()) {
qWarning("Canvas: render target does not support thread rendering, force to non-thread rendering mode.");
- d->threadRendering = false;
- emit threadRenderingChanged();
+ d->renderInThread = false;
+ emit renderInThreadChanged();
}
- if (d->threadRendering)
+ if (d->renderInThread)
connect(d->texture, SIGNAL(textureChanged()), this, SLOT(update()));
d->texture->setItem(this);
@@ -707,4 +717,4 @@ QString QSGCanvasItem::toDataURL(const QString& mimeType) const
the Canvas is actually rendered.
*/
-QT_END_NAMESPACE
+QT_END_NAMESPACE \ No newline at end of file