diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2014-12-31 16:03:34 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2015-01-08 22:09:23 +0100 |
commit | 776611620ba6e690bd755be9ef9677e796521734 (patch) | |
tree | 07b5b32265e5bf43361f28573deb2b796db0483e /src/quick/items | |
parent | 7af57a520407086cd29e6fdd45ea69e75d55d13c (diff) |
Remove v8engine from qmlcomponent and canvas2d
Change-Id: I575ba208de24ffe90bd02905aba67b0b08c5115e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/context2d/qquickcanvascontext_p.h | 2 | ||||
-rw-r--r-- | src/quick/items/context2d/qquickcanvasitem.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/context2d/qquickcontext2d.cpp | 31 | ||||
-rw-r--r-- | src/quick/items/context2d/qquickcontext2d_p.h | 4 |
4 files changed, 17 insertions, 22 deletions
diff --git a/src/quick/items/context2d/qquickcanvascontext_p.h b/src/quick/items/context2d/qquickcanvascontext_p.h index e036e0b18d..04b2aa9ec2 100644 --- a/src/quick/items/context2d/qquickcanvascontext_p.h +++ b/src/quick/items/context2d/qquickcanvascontext_p.h @@ -60,7 +60,7 @@ public: virtual void prepare(const QSize& canvasSize, const QSize& tileSize, const QRect& canvasWindow, const QRect& dirtyRect, bool smooth, bool antialiasing); virtual void flush(); - virtual void setV8Engine(QV8Engine *engine) = 0; + virtual void setV4Engine(QV4::ExecutionEngine *engine) = 0; virtual QV4::ReturnedValue v4value() const = 0; virtual QImage toImage(const QRectF& bounds) = 0; diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index c31b7726c4..2688c723ed 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -1142,7 +1142,7 @@ void QQuickCanvasItem::initializeContext(QQuickCanvasContext *context, const QVa d->context = context; d->context->init(this, args); - d->context->setV8Engine(QQmlEnginePrivate::getV8Engine(qmlEngine(this))); + d->context->setV4Engine(QQmlEnginePrivate::get(qmlEngine(this))->v4engine()); connect(d->context, SIGNAL(textureChanged()), SLOT(update())); connect(d->context, SIGNAL(textureChanged()), SIGNAL(painted())); emit contextChanged(); diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index 5a4ce7e267..a0fc283cf9 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -935,9 +935,8 @@ QV4::Heap::QQuickJSContext2DImageData::QQuickJSContext2DImageData(QV4::Execution DEFINE_OBJECT_VTABLE(QQuickJSContext2DImageData); -static QV4::ReturnedValue qt_create_image_data(qreal w, qreal h, QV8Engine* engine, const QImage& image) +static QV4::ReturnedValue qt_create_image_data(qreal w, qreal h, QV4::ExecutionEngine *v4, const QImage& image) { - QV4::ExecutionEngine *v4 = QV8Engine::getV4(engine); QV4::Scope scope(v4); QQuickContext2DEngineData *ed = engineData(scope.engine); QV4::Scoped<QQuickJSContext2DPixelData> pixelData(scope, scope.engine->memoryManager->alloc<QQuickJSContext2DPixelData>(v4)); @@ -3188,8 +3187,6 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_createImageData(QV4::CallC QV4::Scoped<QQuickJSContext2D> r(scope, ctx->d()->callData->thisObject.as<QQuickJSContext2D>()); CHECK_CONTEXT(r) - QV8Engine *engine = scope.engine->v8Engine; - if (ctx->d()->callData->argc == 1) { QV4::ScopedValue arg0(scope, ctx->d()->callData->args[0]); QV4::Scoped<QQuickJSContext2DImageData> imgData(scope, arg0); @@ -3198,11 +3195,11 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_createImageData(QV4::CallC if (pa) { qreal w = pa->d()->image.width(); qreal h = pa->d()->image.height(); - return qt_create_image_data(w, h, engine, QImage()); + return qt_create_image_data(w, h, scope.engine, QImage()); } } else if (arg0->isString()) { QImage image = r->d()->context->createPixmap(QUrl(arg0->toQStringNoThrow()))->image(); - return qt_create_image_data(image.width(), image.height(), engine, image); + return qt_create_image_data(image.width(), image.height(), scope.engine, image); } } else if (ctx->d()->callData->argc == 2) { qreal w = ctx->d()->callData->args[0].toNumber(); @@ -3212,7 +3209,7 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_createImageData(QV4::CallC V4THROW_DOM(DOMEXCEPTION_NOT_SUPPORTED_ERR, "createImageData(): invalid arguments"); if (w > 0 && h > 0) - return qt_create_image_data(w, h, engine, QImage()); + return qt_create_image_data(w, h, scope.engine, QImage()); else V4THROW_DOM(DOMEXCEPTION_INDEX_SIZE_ERR, "createImageData(): invalid arguments"); } @@ -3229,7 +3226,6 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_getImageData(QV4::CallCont QV4::Scoped<QQuickJSContext2D> r(scope, ctx->d()->callData->thisObject.as<QQuickJSContext2D>()); CHECK_CONTEXT(r) - QV8Engine *engine = scope.engine->v8Engine; if (ctx->d()->callData->argc >= 4) { qreal x = ctx->d()->callData->args[0].toNumber(); qreal y = ctx->d()->callData->args[1].toNumber(); @@ -3242,7 +3238,7 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_getImageData(QV4::CallCont V4THROW_DOM(DOMEXCEPTION_INDEX_SIZE_ERR, "getImageData(): Invalid arguments"); QImage image = r->d()->context->canvas()->toImage(QRectF(x, y, w, h)); - return qt_create_image_data(w, h, engine, image); + return qt_create_image_data(w, h, scope.engine, image); } return QV4::Encode::null(); } @@ -4014,7 +4010,7 @@ QMutex QQuickContext2D::mutex; QQuickContext2D::QQuickContext2D(QObject *parent) : QQuickCanvasContext(parent) , m_buffer(new QQuickContext2DCommandBuffer) - , m_v8engine(0) + , m_v4engine(0) , m_surface(0) , m_glContext(0) , m_thread(0) @@ -4302,18 +4298,17 @@ void QQuickContext2D::reset() m_buffer->clearRect(QRectF(0, 0, m_canvas->width(), m_canvas->height())); } -void QQuickContext2D::setV8Engine(QV8Engine *engine) +void QQuickContext2D::setV4Engine(QV4::ExecutionEngine *engine) { - if (m_v8engine != engine) { - m_v8engine = engine; + if (m_v4engine != engine) { + m_v4engine = engine; - if (m_v8engine == 0) + if (m_v4engine == 0) return; - QQuickContext2DEngineData *ed = engineData(QV8Engine::getV4(engine)); - QV4::ExecutionEngine *v4Engine = QV8Engine::getV4(engine); - QV4::Scope scope(v4Engine); - QV4::Scoped<QQuickJSContext2D> wrapper(scope, v4Engine->memoryManager->alloc<QQuickJSContext2D>(v4Engine)); + QQuickContext2DEngineData *ed = engineData(engine); + QV4::Scope scope(engine); + QV4::Scoped<QQuickJSContext2D> wrapper(scope, engine->memoryManager->alloc<QQuickJSContext2D>(engine)); QV4::ScopedObject p(scope, ed->contextPrototype.value()); wrapper->setPrototype(p); wrapper->d()->context = this; diff --git a/src/quick/items/context2d/qquickcontext2d_p.h b/src/quick/items/context2d/qquickcontext2d_p.h index dcfe6cfe50..9360489260 100644 --- a/src/quick/items/context2d/qquickcontext2d_p.h +++ b/src/quick/items/context2d/qquickcontext2d_p.h @@ -173,7 +173,7 @@ public: QImage toImage(const QRectF& bounds); QV4::ReturnedValue v4value() const; - void setV8Engine(QV8Engine *eng); + void setV4Engine(QV4::ExecutionEngine *eng); QQuickCanvasItem* canvas() const { return m_canvas; } QQuickContext2DCommandBuffer* buffer() const { return m_buffer; } @@ -234,7 +234,7 @@ public: QV4::PersistentValue m_fillStyle; QV4::PersistentValue m_strokeStyle; QV4::PersistentValue m_v4path; - QV8Engine *m_v8engine; + QV4::ExecutionEngine *m_v4engine; QScopedPointer<QOffscreenSurface> m_surface; QOpenGLContext *m_glContext; QV4::PersistentValue m_v4value; |