aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/context2d/qquickcontext2d_p.h
diff options
context:
space:
mode:
authorJustin McPherson <justin.mcpherson@nokia.com>2012-03-02 16:28:16 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-06 06:34:36 +0100
commitfd57a4059a69cdbefda880a62d949994314fa9ed (patch)
tree9a240fa88e2c018693a85e4046e2fff5f7a04d9a /src/quick/items/context2d/qquickcontext2d_p.h
parenteab48686b2ec6df8cd179c9472eda4e8c3505cef (diff)
Continue refactor of Canvas rendering.
- Remove sync() - not necessary - Queue buffer before flush Change-Id: If7dea8e56a612d241c67a82eae265febc45059a8 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Diffstat (limited to 'src/quick/items/context2d/qquickcontext2d_p.h')
-rw-r--r--src/quick/items/context2d/qquickcontext2d_p.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/quick/items/context2d/qquickcontext2d_p.h b/src/quick/items/context2d/qquickcontext2d_p.h
index 239a244739..3230881134 100644
--- a/src/quick/items/context2d/qquickcontext2d_p.h
+++ b/src/quick/items/context2d/qquickcontext2d_p.h
@@ -51,6 +51,7 @@
#include <QtGui/qpainterpath.h>
#include <QtCore/qstring.h>
#include <QtCore/qstack.h>
+#include <QtCore/qqueue.h>
#include <private/qv8engine_p.h>
@@ -70,14 +71,6 @@ class QQuickContext2DTexture;
class QQuickPixmap;
class QSGTexture;
-class QLockedCommandBuffer {
-public:
- QLockedCommandBuffer(QQuickContext2DCommandBuffer *b);
- ~QLockedCommandBuffer();
- QQuickContext2DCommandBuffer* operator->() const;
-private:
- QQuickContext2DCommandBuffer *m_buffer;
-};
class Q_QUICK_EXPORT QQuickContext2D : public QQuickCanvasContext
{
@@ -179,7 +172,9 @@ public:
void setV8Engine(QV8Engine *eng);
QQuickCanvasItem* canvas() const { return m_canvas; }
- QLockedCommandBuffer buffer() const { return m_buffer; }
+ QQuickContext2DCommandBuffer* buffer() const { return m_buffer; }
+ QQuickContext2DCommandBuffer* nextBuffer();
+
bool bufferValid() const { return m_buffer != 0; }
void popState();
void pushState();
@@ -221,6 +216,8 @@ public:
QQuickContext2DTexture *m_texture;
QQuickCanvasItem::RenderTarget m_renderTarget;
QQuickCanvasItem::RenderStrategy m_renderStrategy;
+ QQueue<QQuickContext2DCommandBuffer*> m_bufferQueue;
+ QMutex m_bufferMutex;
};