aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/context2d/qquickcontext2d_p.h
diff options
context:
space:
mode:
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;
};