From bf4b7aa650e2df0049f6e96f6c26c5ab1a0ba3bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= <tomi.korpipaa@digia.com> Date: Mon, 25 Aug 2014 11:28:35 +0300 Subject: [PATCH] Removed the remaining invokeMethod calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ief2c39fd4ec0d985ed8184e33bde0190b8b338cf Reviewed-by: Pasi Keränen <pasi.keranen@digia.com> --- .../canvasswitch/qml/canvasswitch/main.qml | 4 +- .../framebuffer/qml/framebuffer/main.qml | 22 +- .../interaction/qml/interaction/main.qml | 22 +- examples/canvas3d/jsonmodels/jsonmodels.qml | 12 +- .../canvas3d/jsonmodels/jsonmodelsbasic.qml | 12 +- .../plasmaeffects/qml/plasmaeffects/main.qml | 22 +- examples/canvas3d/pureqml/pureqml.qml | 8 +- .../qml/textureandlight/main.qml | 22 +- .../texturedcube/doc/src/texturedcube.qdoc | 2 +- .../texturedcube/qml/texturedcube/main.qml | 22 +- src/canvas3d.cpp | 38 +- src/canvas3d_p.h | 4 +- src/qtcanvas3d.qmltypes | 1459 +++++++++-------- src/teximage3dloader.cpp | 34 +- src/teximage3dloader_p.h | 5 + 15 files changed, 873 insertions(+), 815 deletions(-) diff --git a/examples/canvas3d/canvasswitch/qml/canvasswitch/main.qml b/examples/canvas3d/canvasswitch/qml/canvasswitch/main.qml index b89a48f..4fbcd0d 100644 --- a/examples/canvas3d/canvasswitch/qml/canvasswitch/main.qml +++ b/examples/canvas3d/canvasswitch/qml/canvasswitch/main.qml @@ -177,8 +177,8 @@ Item { property double xRotAnim: mainview.xRotAnim property double yRotAnim: mainview.yRotAnim property double zRotAnim: mainview.zRotAnim - function initGL() { activeObject.initGL(canvas3d) } - function renderGL() { activeObject.renderGL(canvas3d) } + onInitGL: activeObject.initGL(canvas3d) + onRenderGL: activeObject.renderGL(canvas3d) }", layout) //! [2] //! [3] diff --git a/examples/canvas3d/framebuffer/qml/framebuffer/main.qml b/examples/canvas3d/framebuffer/qml/framebuffer/main.qml index d0b4a39..f5d19ed 100644 --- a/examples/canvas3d/framebuffer/qml/framebuffer/main.qml +++ b/examples/canvas3d/framebuffer/qml/framebuffer/main.qml @@ -59,15 +59,13 @@ Item { property double zRotAnim: 0 property bool isRunning: true - // Called by Canvas 3D once on Scene Graph render thread - // to allow one time initializations to happen - function initGL() { + // Emitted when one time initializations should happen + onInitGL: { GLCode.initGL(canvas3d, textureImageLoader); } - // Called by Canvas 3D for every frame - // rendered on Scene Graph render thread - function renderGL() { + // Emitted each time Canvas3D is ready for a new frame + onRenderGL: { GLCode.renderGL(canvas3d); } @@ -224,17 +222,17 @@ Item { return textureImageLoader.loadImage("qrc:/qml/framebuffer/"+file); } - function imageLoaded(textureImage) { + onImageLoaded: { if (canvas3d.logAllCalls) - console.log("Texture loaded, size "+textureImage.width+"x"+textureImage.height); - GLCode.textureLoaded(textureImage); + console.log("Texture loaded, size "+image.width+"x"+image.height); + GLCode.textureLoaded(image); } - function imageLoadingError(textureImage) { + onImageLoadingFailed: { if (GLCode.textureLoadError !== undefined) { - GLCode.textureLoadError(textureImage); + GLCode.textureLoadError(image); } - console.log("Texture load FAILED, "+textureImage.errorString); + console.log("Texture load FAILED, "+image.errorString); } } } diff --git a/examples/canvas3d/interaction/qml/interaction/main.qml b/examples/canvas3d/interaction/qml/interaction/main.qml index ac9be9a..298f6e1 100644 --- a/examples/canvas3d/interaction/qml/interaction/main.qml +++ b/examples/canvas3d/interaction/qml/interaction/main.qml @@ -60,15 +60,13 @@ Item { property double zRotSlider: 0 //! [3] - // Called by Canvas 3D once on Scene Graph render thread - // to allow one time initializations to happen - function initGL() { + // Emitted when one time initializations should happen + onInitGL: { GLCode.initGL(canvas3d, textureImageLoader); } - // Called by Canvas 3D for every frame - // rendered on Scene Graph render thread - function renderGL() { + // Emitted each time Canvas3D is ready for a new frame + onRenderGL: { GLCode.renderGL(canvas3d); } } @@ -145,17 +143,17 @@ Item { TextureImageLoader { id: textureImageLoader - function imageLoaded(textureImage) { + onImageLoaded: { if (canvas3d.logAllCalls) - console.log("Texture loaded, size "+textureImage.width+"x"+textureImage.height); - GLCode.textureLoaded(textureImage); + console.log("Texture loaded, size "+image.width+"x"+image.height); + GLCode.textureLoaded(image); } - function imageLoadingError(textureImage) { + onImageLoadingFailed: { if (GLCode.textureLoadError !== undefined) { - GLCode.textureLoadError(textureImage); + GLCode.textureLoadError(image); } - console.log("Texture load FAILED, "+textureImage.errorString); + console.log("Texture load FAILED, "+image.errorString); } } } diff --git a/examples/canvas3d/jsonmodels/jsonmodels.qml b/examples/canvas3d/jsonmodels/jsonmodels.qml index ec0d15e..055635e 100644 --- a/examples/canvas3d/jsonmodels/jsonmodels.qml +++ b/examples/canvas3d/jsonmodels/jsonmodels.qml @@ -40,11 +40,11 @@ Window { property bool animatingCamera: false property bool drawWireframe: false - function initGL() { + onInitGL: { GLCode.initGL(canvas3d, textureImageLoader); } - function renderGL() { + onRenderGL: { GLCode.renderGL(canvas3d); } @@ -322,13 +322,13 @@ Window { return textureImageLoader.loadImage("qrc:///"+file); } - function imageLoaded(textureImage) { - GLCode.textureLoaded(textureImage); + onImageLoaded: { + GLCode.textureLoaded(image); } - function imageLoadingError(textureImage) { + onImageLoadingFailed: { if (GLCode.textureLoadError !== undefined) { - GLCode.textureLoadError(textureImage); + GLCode.textureLoadError(image); } } } diff --git a/examples/canvas3d/jsonmodels/jsonmodelsbasic.qml b/examples/canvas3d/jsonmodels/jsonmodelsbasic.qml index caab7a8..0d0d016 100644 --- a/examples/canvas3d/jsonmodels/jsonmodelsbasic.qml +++ b/examples/canvas3d/jsonmodels/jsonmodelsbasic.qml @@ -35,11 +35,11 @@ Window { property bool animatingCamera: false property bool drawWireframe: false - function initGL() { + onInitGL: { GLCode.initGL(canvas3d, textureImageLoader); } - function renderGL() { + onRenderGL: { GLCode.renderGL(canvas3d); } @@ -266,13 +266,13 @@ Window { return textureImageLoader.loadImage("qrc:///"+file); } - function imageLoaded(textureImage) { - GLCode.textureLoaded(textureImage); + onImageLoaded: { + GLCode.textureLoaded(image); } - function imageLoadingError(textureImage) { + onImageLoadingFailed: { if (GLCode.textureLoadError !== undefined) { - GLCode.textureLoadError(textureImage); + GLCode.textureLoadError(image); } } } diff --git a/examples/canvas3d/plasmaeffects/qml/plasmaeffects/main.qml b/examples/canvas3d/plasmaeffects/qml/plasmaeffects/main.qml index 37a5f70..08ee4a0 100644 --- a/examples/canvas3d/plasmaeffects/qml/plasmaeffects/main.qml +++ b/examples/canvas3d/plasmaeffects/qml/plasmaeffects/main.qml @@ -55,15 +55,13 @@ Item { property double zRotAnim: 0 property bool isRunning: true - // Called by Canvas 3D once on Scene Graph render thread - // to allow one time initializations to happen - function initGL() { + // Emitted when one time initializations should happen + onInitGL: { GLCode.initGL(canvas3d, textureImageLoader); } - // Called by Canvas 3D for every frame - // rendered on Scene Graph render thread - function renderGL() { + // Emitted each time Canvas3D is ready for a new frame + onRenderGL: { GLCode.renderGL(canvas3d); } @@ -150,17 +148,17 @@ Item { TextureImageLoader { id: textureImageLoader - function imageLoaded(textureImage) { + onImageLoaded: { if (canvas3d.logAllCalls) - console.log("Texture loaded, size "+textureImage.width+"x"+textureImage.height); - GLCode.textureLoaded(textureImage); + console.log("Texture loaded, size "+image.width+"x"+image.height); + GLCode.textureLoaded(image); } - function imageLoadingError(textureImage) { + onImageLoadingFailed: { if (GLCode.textureLoadError !== undefined) { - GLCode.textureLoadError(textureImage); + GLCode.textureLoadError(image); } - console.log("Texture load FAILED, "+textureImage.errorString); + console.log("Texture load FAILED, "+image.errorString); } } } diff --git a/examples/canvas3d/pureqml/pureqml.qml b/examples/canvas3d/pureqml/pureqml.qml index 1295a64..2ab006e 100644 --- a/examples/canvas3d/pureqml/pureqml.qml +++ b/examples/canvas3d/pureqml/pureqml.qml @@ -62,12 +62,8 @@ Item { property double xRotAnim: 0 property double yRotAnim: 0 //! [1] - function initGL() { - GLCode.initGL(canvas3d); - } - function renderGL() { - GLCode.renderGL(); - } + onInitGL: GLCode.initGL(canvas3d) + onRenderGL: GLCode.renderGL() } //! [0] } diff --git a/examples/canvas3d/textureandlight/qml/textureandlight/main.qml b/examples/canvas3d/textureandlight/qml/textureandlight/main.qml index 3c9c2b7..b55d124 100644 --- a/examples/canvas3d/textureandlight/qml/textureandlight/main.qml +++ b/examples/canvas3d/textureandlight/qml/textureandlight/main.qml @@ -55,15 +55,13 @@ Item { property double zRotAnim: 0 property bool isRunning: true - // Called by Canvas 3D once on Scene Graph render thread - // to allow one time initializations to happen - function initGL() { + // Emitted when one time initializations should happen + onInitGL: { GLCode.initGL(canvas3d, textureImageLoader); } - // Called by Canvas 3D for every frame - // rendered on Scene Graph render thread - function renderGL() { + // Emitted each time Canvas3D is ready for a new frame + onRenderGL: { GLCode.renderGL(canvas3d); } @@ -156,17 +154,17 @@ Item { return textureImageLoader.loadImage("qrc:/qml/textureandlight/"+file); } - function imageLoaded(textureImage) { + onImageLoaded: { if (canvas3d.logAllCalls) - console.log("Texture loaded, size "+textureImage.width+"x"+textureImage.height); - GLCode.textureLoaded(textureImage); + console.log("Texture loaded, size "+image.width+"x"+image.height); + GLCode.textureLoaded(image); } - function imageLoadingError(textureImage) { + onImageLoadingFailed: { if (GLCode.textureLoadError !== undefined) { - GLCode.textureLoadError(textureImage); + GLCode.textureLoadError(image); } - console.log("Texture load FAILED, "+textureImage.errorString); + console.log("Texture load FAILED, "+image.errorString); } } } diff --git a/examples/canvas3d/texturedcube/doc/src/texturedcube.qdoc b/examples/canvas3d/texturedcube/doc/src/texturedcube.qdoc index 560304d..7327820 100644 --- a/examples/canvas3d/texturedcube/doc/src/texturedcube.qdoc +++ b/examples/canvas3d/texturedcube/doc/src/texturedcube.qdoc @@ -53,7 +53,7 @@ \snippet texturedcube/qml/texturedcube/main.qml 0 \dots - Inside it, we create the \c initGL and \c renderGL functions to forward the initialization + Inside it, we catch the \c initGL and \c renderGL signals to forward the initialization and rendering calls to the js object: \snippet texturedcube/qml/texturedcube/main.qml 1 diff --git a/examples/canvas3d/texturedcube/qml/texturedcube/main.qml b/examples/canvas3d/texturedcube/qml/texturedcube/main.qml index 6e8ff22..7645f21 100644 --- a/examples/canvas3d/texturedcube/qml/texturedcube/main.qml +++ b/examples/canvas3d/texturedcube/qml/texturedcube/main.qml @@ -62,15 +62,13 @@ Item { property bool isRunning: true //! [1] - // Called by Canvas 3D once on Scene Graph render thread - // to allow one time initializations to happen - function initGL() { + // Emitted when one time initializations should happen + onInitGL: { GLCode.initGL(canvas3d, textureImageLoader); } - // Called by Canvas 3D for every frame - // rendered on Scene Graph render thread - function renderGL() { + // Emitted each time Canvas3D is ready for a new frame + onRenderGL: { GLCode.renderGL(canvas3d); } //! [1] @@ -148,17 +146,17 @@ Item { TextureImageLoader { id: textureImageLoader - function imageLoaded(textureImage) { + onImageLoaded: { if (canvas3d.logAllCalls) - console.log("Texture loaded, size "+textureImage.width+"x"+textureImage.height); - GLCode.textureLoaded(textureImage); + console.log("Texture loaded, size "+image.width+"x"+image.height); + GLCode.textureLoaded(image); } - function imageLoadingError(textureImage) { + onImageLoadingFailed: { if (GLCode.textureLoadError !== undefined) { - GLCode.textureLoadError(textureImage); + GLCode.textureLoadError(image); } - console.log("Texture load FAILED, "+textureImage.errorString); + console.log("Texture load FAILED, "+image.errorString); } } //! [3] diff --git a/src/canvas3d.cpp b/src/canvas3d.cpp index d200819..514c14a 100644 --- a/src/canvas3d.cpp +++ b/src/canvas3d.cpp @@ -63,9 +63,9 @@ static QHash<QQuickWindow *, bool> windowClearList; * * There are two functions that are called by the Canvas3D implementation: * \list - * \li initGL() method is called before first frame is rendered and usually during that you get + * \li initGL is emitted before the first frame is rendered, and usually during that you get * the 3D context and initialize resources to be used later on during the rendering cycle. - * \li renderGL() method is called for each frame to be rendered and usually during that you + * \li renderGL is emitted for each frame to be rendered, and usually during that you * submit 3D rendering calls to draw whatever 3D content you want to be displayed. * \endlist * @@ -111,6 +111,16 @@ Canvas::Canvas(QQuickItem *parent): setFlag(ItemHasContents, !m_runningInDesigner); } +/*! + * \qmlsignal void Canvas::initGL() + * Emitted once when Canvas3D is ready and OpenGL state initialization can be done by the client. + */ + +/*! + * \qmlsignal void Canvas::renderGL() + * Emitted each time a new frame should be drawn to Canvas3D. Driven by the QML scenegraph loop. + */ + /*! * \internal */ @@ -200,15 +210,6 @@ bool Canvas::logAllErrors() const * \internal */ -/*! - * \qmlsignal Canvas3D::initGLCalled() - * Emitted after initGL has been called. - */ -/*! - * \fn Canvas::initGLCalled() - * \internal - */ - /*! * \qmlsignal Canvas3D::textureReady(int id, size size, float devicePixelRatio) * Emitted when a new texture is ready to inform the render node. @@ -471,9 +472,10 @@ void Canvas::setImageLoader(CanvasTextureImageLoader *loader) /*! \qmlproperty bool Canvas3D::animated - Specifies whether the Canvas3D continuously calls the \c renderGL() method to render new + Specifies whether the Canvas3D continuously emits the renderGL signal to render new frames or not. In most cases this property should be set to true as the 3D content is dynamic. + \note Currenly not used. */ void Canvas::setAnimated(bool animated) { @@ -620,12 +622,7 @@ void Canvas::renderNext() if (!m_glContext) { // Call the initialize function from QML/JavaScript until it calls the getContext() that in turn creates the buffers // Allow the JavaScript code to call the getContext() to create the context object and FBOs - QVariant ignoredReturnedValue; - QMetaObject::invokeMethod(this, "initGL", - Qt::DirectConnection, - Q_RETURN_ARG(QVariant, ignoredReturnedValue)); - - emit initGLCalled(); + emit initGL(); if (!m_isContextAttribsSet) { if (m_logAllCalls) qDebug() << "Canvas3D::" << __FUNCTION__ << " Context attributes not set, returning"; @@ -665,10 +662,7 @@ void Canvas::renderNext() m_imageLoader->notifyLoadedImages(); // Call render in QML JavaScript side - QVariant ignoredReturnedValue; - QMetaObject::invokeMethod(this, "renderGL", - Qt::DirectConnection, - Q_RETURN_ARG(QVariant, ignoredReturnedValue)); + emit renderGL(); // Resolve MSAA if (m_contextAttribs.antialias()) { diff --git a/src/canvas3d_p.h b/src/canvas3d_p.h index d135968..8c7479f 100644 --- a/src/canvas3d_p.h +++ b/src/canvas3d_p.h @@ -104,7 +104,9 @@ signals: void logAllCallsChanged(bool logCalls); void logAllErrorsChanged(bool logErrors); void contextChanged(CanvasContext *context); - void initGLCalled(); + + void initGL(); + void renderGL(); void textureReady(int id, const QSize &size, float devicePixelRatio); diff --git a/src/qtcanvas3d.qmltypes b/src/qtcanvas3d.qmltypes index 1e77951..675d23d 100644 --- a/src/qtcanvas3d.qmltypes +++ b/src/qtcanvas3d.qmltypes @@ -8,9 +8,77 @@ import QtQuick.tooling 1.1 Module { Component { - name: "ArrayBuffer" + name: "Canvas" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["Canvas3D 1.0"] + exportMetaObjectRevisions: [0] + Property { name: "context"; type: "CanvasContext"; isReadonly: true; isPointer: true } + Property { name: "animated"; type: "bool" } + Property { name: "logAllCalls"; type: "bool" } + Property { name: "logAllErrors"; type: "bool" } + Property { name: "devicePixelRatio"; type: "float"; isReadonly: true } + Property { name: "imageLoader"; type: "CanvasTextureImageLoader"; isPointer: true } + Signal { name: "needRender" } + Signal { + name: "devicePixelRatioChanged" + Parameter { name: "ratio"; type: "float" } + } + Signal { + name: "animatedChanged" + Parameter { name: "animated"; type: "bool" } + } + Signal { + name: "imageLoaderChanged" + Parameter { name: "loader"; type: "CanvasTextureImageLoader"; isPointer: true } + } + Signal { + name: "logAllCallsChanged" + Parameter { name: "logCalls"; type: "bool" } + } + Signal { + name: "logAllErrorsChanged" + Parameter { name: "logErrors"; type: "bool" } + } + Signal { + name: "contextChanged" + Parameter { name: "context"; type: "CanvasContext"; isPointer: true } + } + Signal { name: "initGLCalled" } + Signal { + name: "textureReady" + Parameter { name: "id"; type: "int" } + Parameter { name: "size"; type: "QSize" } + Parameter { name: "devicePixelRatio"; type: "float" } + } + Method { name: "ready" } + Method { name: "shutDown" } + Method { name: "renderNext" } + Method { + name: "getContext" + type: "CanvasContext*" + Parameter { name: "name"; type: "string" } + } + Method { + name: "getContext" + type: "CanvasContext*" + Parameter { name: "name"; type: "string" } + Parameter { name: "options"; type: "QVariantMap" } + } + } + Component { + name: "CanvasAbstractObject" + prototype: "QObject" + Property { name: "name"; type: "string" } + Signal { + name: "nameChanged" + Parameter { name: "name"; type: "string" } + } + } + Component { + name: "CanvasArrayBuffer" prototype: "QObject" - exports: ["QArrayBuffer 1.0"] + exports: ["ArrayBuffer 1.0"] isCreatable: false exportMetaObjectRevisions: [0] Property { name: "byteLength"; type: "ulong"; isReadonly: true } @@ -18,15 +86,14 @@ Module { name: "byteLengthChanged" Parameter { name: "byteLength"; type: "ulong" } } - Method { name: "byteLength"; type: "ulong" } Method { name: "slice" - type: "ArrayBuffer*" + type: "CanvasArrayBuffer*" Parameter { name: "begin"; type: "long" } } Method { name: "slice" - type: "ArrayBuffer*" + type: "CanvasArrayBuffer*" Parameter { name: "begin"; type: "long" } Parameter { name: "end"; type: "long" } } @@ -37,17 +104,17 @@ Module { } } Component { - name: "ArrayBufferView" - prototype: "QAbstractObject3D" - exports: ["QArrayBufferView 1.0"] + name: "CanvasArrayBufferView" + prototype: "CanvasAbstractObject" + exports: ["ArrayBufferView 1.0"] isCreatable: false exportMetaObjectRevisions: [0] - Property { name: "buffer"; type: "ArrayBuffer"; isReadonly: true; isPointer: true } + Property { name: "buffer"; type: "CanvasArrayBuffer"; isReadonly: true; isPointer: true } Property { name: "byteOffset"; type: "ulong"; isReadonly: true } Property { name: "byteLength"; type: "ulong"; isReadonly: true } Signal { name: "bufferChanged" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } } Signal { name: "byteOffsetChanged" @@ -57,180 +124,16 @@ Module { name: "byteLengthChanged" Parameter { name: "byteLength"; type: "ulong" } } - Method { name: "buffer"; type: "ArrayBuffer*" } - Method { name: "byteOffset"; type: "ulong" } - Method { name: "byteLength"; type: "ulong" } } Component { - name: "Float32Array" - prototype: "TypedArray" - exports: ["QFloat32Array 1.0"] - isCreatable: false - exportMetaObjectRevisions: [0] - Method { - name: "get" - type: "float" - Parameter { name: "index"; type: "ulong" } - } - Method { - name: "set" - Parameter { name: "index"; type: "ulong" } - Parameter { name: "value"; type: "float" } - } - Method { - name: "set" - Parameter { name: "array"; type: "QVariantList" } - Parameter { name: "offset"; type: "ulong" } - } - Method { - name: "set" - Parameter { name: "array"; type: "QVariantList" } - } - Method { - name: "set" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } - Parameter { name: "offset"; type: "ulong" } - } - Method { - name: "set" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } - } - } - Component { - name: "Float64Array" - prototype: "TypedArray" - exports: ["QFloat64Array 1.0"] - isCreatable: false - exportMetaObjectRevisions: [0] - Method { - name: "get" - type: "double" - Parameter { name: "index"; type: "ulong" } - } - Method { - name: "set" - Parameter { name: "index"; type: "ulong" } - Parameter { name: "value"; type: "double" } - } - } - Component { - name: "Int16Array" - prototype: "TypedArray" - exports: ["QInt16Array 1.0"] - isCreatable: false - exportMetaObjectRevisions: [0] - Method { - name: "get" - type: "short" - Parameter { name: "index"; type: "ulong" } - } - Method { - name: "set" - Parameter { name: "index"; type: "ulong" } - Parameter { name: "value"; type: "short" } - } - } - Component { - name: "Int32Array" - prototype: "TypedArray" - exports: ["QInt32Array 1.0"] - isCreatable: false - exportMetaObjectRevisions: [0] - Method { - name: "get" - type: "int" - Parameter { name: "index"; type: "ulong" } - } - Method { - name: "set" - Parameter { name: "index"; type: "ulong" } - Parameter { name: "value"; type: "int" } - } - } - Component { - name: "Int8Array" - prototype: "TypedArray" - exports: ["QInt8Array 1.0"] - isCreatable: false - exportMetaObjectRevisions: [0] - Method { - name: "get" - type: "signed char" - Parameter { name: "index"; type: "ulong" } - } - Method { - name: "set" - Parameter { name: "index"; type: "ulong" } - Parameter { name: "value"; type: "signed char" } - } - } - Component { - name: "QAbstractObject3D" - prototype: "QObject" - Property { name: "name"; type: "string" } - Signal { - name: "nameChanged" - Parameter { name: "name"; type: "string" } - } - } - Component { - name: "QBuffer3D" - prototype: "QAbstractObject3D" + name: "CanvasBuffer" + prototype: "CanvasAbstractObject" exports: ["Buffer3D 1.0"] isCreatable: false exportMetaObjectRevisions: [0] } Component { - name: "QtCanvas3D" - defaultProperty: "data" - prototype: "QQuickItem" - exports: ["Canvas3D 1.0"] - exportMetaObjectRevisions: [0] - Property { name: "devicePixelRatio"; type: "float"; isReadonly: true } - Property { name: "imageLoader"; type: "QTexImageLoader3D"; isPointer: true } - Signal { name: "needRender" } - Signal { - name: "devicePixelRatioChanged" - Parameter { name: "ratio"; type: "float" } - } - Signal { - name: "animatedChanged" - Parameter { name: "animated"; type: "bool" } - } - Signal { - name: "clearWindowOnRenderUnderChanged" - Parameter { name: "enable"; type: "bool" } - } - Signal { - name: "renderOnTopChanged" - Parameter { name: "renderOnTop"; type: "bool" } - } - Signal { - name: "imageLoaderChanged" - Parameter { name: "loader"; type: "QTexImageLoader3D"; isPointer: true } - } - Signal { - name: "textureReady" - Parameter { name: "id"; type: "int" } - Parameter { name: "size"; type: "QSize" } - } - Method { name: "ready" } - Method { name: "shutDown" } - Method { name: "renderNext" } - Method { - name: "getContext" - type: "QContext3D*" - Parameter { name: "name"; type: "string" } - } - Method { - name: "getContext" - type: "QContext3D*" - Parameter { name: "name"; type: "string" } - Parameter { name: "options"; type: "QVariantMap" } - } - } - Component { - name: "QContext3D" + name: "CanvasContext" prototype: "QObject" exports: ["Context3D 1.0"] isCreatable: false @@ -539,386 +442,435 @@ Module { "UNMASKED_RENDERER_WEBGL": 37446 } } - Property { name: "canvas"; type: "QtCanvas3D"; isReadonly: true; isPointer: true } - Property { name: "DEPTH_BUFFER_BIT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BUFFER_BIT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "COLOR_BUFFER_BIT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "POINTS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINES"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINE_LOOP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINE_STRIP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TRIANGLES"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TRIANGLE_STRIP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TRIANGLE_FAN"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ZERO"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ONE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SRC_COLOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ONE_MINUS_SRC_COLOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SRC_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ONE_MINUS_SRC_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DST_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ONE_MINUS_DST_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DST_COLOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ONE_MINUS_DST_COLOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SRC_ALPHA_SATURATE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FUNC_ADD"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_EQUATION"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_EQUATION_RGB"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_EQUATION_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FUNC_SUBTRACT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FUNC_REVERSE_SUBTRACT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_DST_RGB"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_SRC_RGB"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_DST_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_SRC_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CONSTANT_COLOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ONE_MINUS_CONSTANT_COLOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CONSTANT_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ONE_MINUS_CONSTANT_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND_COLOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ARRAY_BUFFER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ELEMENT_ARRAY_BUFFER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ARRAY_BUFFER_BINDING"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ELEMENT_ARRAY_BUFFER_BINDING"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STREAM_DRAW"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STATIC_DRAW"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DYNAMIC_DRAW"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BUFFER_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BUFFER_USAGE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CURRENT_VERTEX_ATTRIB"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FRONT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BACK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FRONT_AND_BACK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CULL_FACE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLEND"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DITHER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_TEST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_TEST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SCISSOR_TEST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "POLYGON_OFFSET_FILL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLE_ALPHA_TO_COVERAGE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLE_COVERAGE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NO_ERROR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INVALID_ENUM"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INVALID_VALUE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INVALID_OPERATION"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "OUT_OF_MEMORY"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CW"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CCW"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINE_WIDTH"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ALIASED_POINT_SIZE_RANGE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ALIASED_LINE_WIDTH_RANGE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CULL_FACE_MODE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FRONT_FACE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_RANGE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_WRITEMASK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_CLEAR_VALUE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_FUNC"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_CLEAR_VALUE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_FUNC"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_FAIL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_PASS_DEPTH_FAIL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_PASS_DEPTH_PASS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_REF"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_VALUE_MASK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_WRITEMASK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BACK_FUNC"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BACK_FAIL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BACK_PASS_DEPTH_FAIL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BACK_PASS_DEPTH_PASS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BACK_REF"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BACK_VALUE_MASK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BACK_WRITEMASK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VIEWPORT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SCISSOR_BOX"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "COLOR_CLEAR_VALUE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "COLOR_WRITEMASK"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "UNPACK_ALIGNMENT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "PACK_ALIGNMENT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_TEXTURE_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_VIEWPORT_DIMS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SUBPIXEL_BITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RED_BITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "GREEN_BITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BLUE_BITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ALPHA_BITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_BITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_BITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "POLYGON_OFFSET_UNITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "POLYGON_OFFSET_FACTOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_BINDING_2D"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLE_BUFFERS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLES"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLE_COVERAGE_VALUE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLE_COVERAGE_INVERT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "COMPRESSED_TEXTURE_FORMATS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DONT_CARE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FASTEST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NICEST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "GENERATE_MIPMAP_HINT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BYTE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "UNSIGNED_BYTE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SHORT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "UNSIGNED_SHORT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "UNSIGNED_INT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FLOAT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_COMPONENT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RGB"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RGBA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LUMINANCE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LUMINANCE_ALPHA"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "UNSIGNED_SHORT_4_4_4_4"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "UNSIGNED_SHORT_5_5_5_1"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "UNSIGNED_SHORT_5_6_5"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FRAGMENT_SHADER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VERTEX_SHADER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_VERTEX_ATTRIBS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_VERTEX_UNIFORM_VECTORS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_VARYING_VECTORS"; type: "QContext3D::glEnums"; isReadonly: true } + Property { name: "canvas"; type: "Canvas"; isReadonly: true; isPointer: true } + Property { name: "logAllCalls"; type: "bool" } + Property { name: "logAllErrors"; type: "bool" } + Property { name: "DEPTH_BUFFER_BIT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_BUFFER_BIT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "COLOR_BUFFER_BIT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "POINTS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINES"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINE_LOOP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINE_STRIP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TRIANGLES"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TRIANGLE_STRIP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TRIANGLE_FAN"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ZERO"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ONE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SRC_COLOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ONE_MINUS_SRC_COLOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SRC_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ONE_MINUS_SRC_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DST_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ONE_MINUS_DST_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DST_COLOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ONE_MINUS_DST_COLOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SRC_ALPHA_SATURATE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FUNC_ADD"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_EQUATION"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_EQUATION_RGB"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_EQUATION_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FUNC_SUBTRACT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FUNC_REVERSE_SUBTRACT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_DST_RGB"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_SRC_RGB"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_DST_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_SRC_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CONSTANT_COLOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ONE_MINUS_CONSTANT_COLOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CONSTANT_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ONE_MINUS_CONSTANT_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND_COLOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ARRAY_BUFFER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ELEMENT_ARRAY_BUFFER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ARRAY_BUFFER_BINDING"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "ELEMENT_ARRAY_BUFFER_BINDING" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "STREAM_DRAW"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STATIC_DRAW"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DYNAMIC_DRAW"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BUFFER_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BUFFER_USAGE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CURRENT_VERTEX_ATTRIB"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FRONT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BACK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FRONT_AND_BACK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CULL_FACE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLEND"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DITHER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_TEST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_TEST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SCISSOR_TEST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "POLYGON_OFFSET_FILL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLE_ALPHA_TO_COVERAGE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLE_COVERAGE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NO_ERROR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INVALID_ENUM"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INVALID_VALUE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INVALID_OPERATION"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "OUT_OF_MEMORY"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CW"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CCW"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINE_WIDTH"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ALIASED_POINT_SIZE_RANGE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ALIASED_LINE_WIDTH_RANGE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CULL_FACE_MODE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FRONT_FACE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_RANGE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_WRITEMASK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_CLEAR_VALUE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_FUNC"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_CLEAR_VALUE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_FUNC"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_FAIL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_PASS_DEPTH_FAIL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_PASS_DEPTH_PASS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_REF"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_VALUE_MASK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_WRITEMASK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_BACK_FUNC"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_BACK_FAIL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "STENCIL_BACK_PASS_DEPTH_FAIL" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { + name: "STENCIL_BACK_PASS_DEPTH_PASS" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "STENCIL_BACK_REF"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_BACK_VALUE_MASK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_BACK_WRITEMASK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "VIEWPORT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SCISSOR_BOX"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "COLOR_CLEAR_VALUE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "COLOR_WRITEMASK"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "UNPACK_ALIGNMENT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "PACK_ALIGNMENT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "MAX_TEXTURE_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "MAX_VIEWPORT_DIMS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SUBPIXEL_BITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RED_BITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "GREEN_BITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BLUE_BITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ALPHA_BITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_BITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_BITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "POLYGON_OFFSET_UNITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "POLYGON_OFFSET_FACTOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_BINDING_2D"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLE_BUFFERS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLES"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLE_COVERAGE_VALUE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLE_COVERAGE_INVERT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "COMPRESSED_TEXTURE_FORMATS" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "DONT_CARE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FASTEST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NICEST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "GENERATE_MIPMAP_HINT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BYTE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "UNSIGNED_BYTE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SHORT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "UNSIGNED_SHORT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "UNSIGNED_INT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FLOAT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_COMPONENT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RGB"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RGBA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LUMINANCE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LUMINANCE_ALPHA"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "UNSIGNED_SHORT_4_4_4_4"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "UNSIGNED_SHORT_5_5_5_1"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "UNSIGNED_SHORT_5_6_5"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FRAGMENT_SHADER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "VERTEX_SHADER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "MAX_VERTEX_ATTRIBS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "MAX_VERTEX_UNIFORM_VECTORS" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "MAX_VARYING_VECTORS"; type: "CanvasContext::glEnums"; isReadonly: true } Property { name: "MAX_COMBINED_TEXTURE_IMAGE_UNITS" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } Property { name: "MAX_VERTEX_TEXTURE_IMAGE_UNITS" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "MAX_TEXTURE_IMAGE_UNITS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "MAX_FRAGMENT_UNIFORM_VECTORS" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "MAX_TEXTURE_IMAGE_UNITS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_FRAGMENT_UNIFORM_VECTORS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SHADER_TYPE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DELETE_STATUS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINK_STATUS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VALIDATE_STATUS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ATTACHED_SHADERS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ACTIVE_UNIFORMS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ACTIVE_ATTRIBUTES"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SHADING_LANGUAGE_VERSION"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CURRENT_PROGRAM"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NEVER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LESS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "EQUAL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LEQUAL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "GREATER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NOTEQUAL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "GEQUAL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ALWAYS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "KEEP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "REPLACE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INCR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DECR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INVERT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INCR_WRAP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DECR_WRAP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VENDOR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VERSION"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NEAREST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINEAR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NEAREST_MIPMAP_NEAREST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINEAR_MIPMAP_NEAREST"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NEAREST_MIPMAP_LINEAR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LINEAR_MIPMAP_LINEAR"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_MAG_FILTER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_MIN_FILTER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_WRAP_S"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_WRAP_T"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_2D"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_CUBE_MAP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_BINDING_CUBE_MAP"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_CUBE_MAP_POSITIVE_X"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_CUBE_MAP_NEGATIVE_X"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_CUBE_MAP_POSITIVE_Y"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_CUBE_MAP_NEGATIVE_Y"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_CUBE_MAP_POSITIVE_Z"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE_CUBE_MAP_NEGATIVE_Z"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_CUBE_MAP_TEXTURE_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE0"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE1"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE2"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE3"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE4"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE5"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE6"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE7"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE8"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE9"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE10"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE11"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE12"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE13"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE14"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE15"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE16"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE17"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE18"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE19"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE20"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE21"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE22"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE23"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE24"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE25"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE26"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE27"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE28"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE29"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE30"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "TEXTURE31"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "ACTIVE_TEXTURE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "REPEAT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "CLAMP_TO_EDGE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MIRRORED_REPEAT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FLOAT_VEC2"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FLOAT_VEC3"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FLOAT_VEC4"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INT_VEC2"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INT_VEC3"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "INT_VEC4"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BOOL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BOOL_VEC2"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BOOL_VEC3"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "BOOL_VEC4"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FLOAT_MAT2"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FLOAT_MAT3"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FLOAT_MAT4"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLER_2D"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "SAMPLER_CUBE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VERTEX_ATTRIB_ARRAY_ENABLED"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VERTEX_ATTRIB_ARRAY_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VERTEX_ATTRIB_ARRAY_STRIDE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "VERTEX_ATTRIB_ARRAY_TYPE"; type: "QContext3D::glEnums"; isReadonly: true } + Property { name: "SHADER_TYPE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DELETE_STATUS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINK_STATUS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "VALIDATE_STATUS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ATTACHED_SHADERS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ACTIVE_UNIFORMS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ACTIVE_ATTRIBUTES"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SHADING_LANGUAGE_VERSION"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CURRENT_PROGRAM"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NEVER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LESS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "EQUAL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LEQUAL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "GREATER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NOTEQUAL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "GEQUAL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ALWAYS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "KEEP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "REPLACE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INCR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DECR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INVERT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INCR_WRAP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DECR_WRAP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "VENDOR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "VERSION"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NEAREST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINEAR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NEAREST_MIPMAP_NEAREST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINEAR_MIPMAP_NEAREST"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NEAREST_MIPMAP_LINEAR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LINEAR_MIPMAP_LINEAR"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_MAG_FILTER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_MIN_FILTER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_WRAP_S"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_WRAP_T"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_2D"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_CUBE_MAP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE_BINDING_CUBE_MAP"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "TEXTURE_CUBE_MAP_POSITIVE_X" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { + name: "TEXTURE_CUBE_MAP_NEGATIVE_X" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { + name: "TEXTURE_CUBE_MAP_POSITIVE_Y" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { + name: "TEXTURE_CUBE_MAP_NEGATIVE_Y" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { + name: "TEXTURE_CUBE_MAP_POSITIVE_Z" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { + name: "TEXTURE_CUBE_MAP_NEGATIVE_Z" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "MAX_CUBE_MAP_TEXTURE_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE0"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE1"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE2"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE3"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE4"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE5"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE6"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE7"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE8"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE9"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE10"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE11"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE12"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE13"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE14"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE15"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE16"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE17"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE18"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE19"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE20"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE21"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE22"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE23"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE24"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE25"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE26"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE27"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE28"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE29"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE30"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "TEXTURE31"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "ACTIVE_TEXTURE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "REPEAT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "CLAMP_TO_EDGE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "MIRRORED_REPEAT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FLOAT_VEC2"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FLOAT_VEC3"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FLOAT_VEC4"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INT_VEC2"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INT_VEC3"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "INT_VEC4"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BOOL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BOOL_VEC2"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BOOL_VEC3"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "BOOL_VEC4"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FLOAT_MAT2"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FLOAT_MAT3"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FLOAT_MAT4"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLER_2D"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "SAMPLER_CUBE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "VERTEX_ATTRIB_ARRAY_ENABLED" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "VERTEX_ATTRIB_ARRAY_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "VERTEX_ATTRIB_ARRAY_STRIDE" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "VERTEX_ATTRIB_ARRAY_TYPE"; type: "CanvasContext::glEnums"; isReadonly: true } Property { name: "VERTEX_ATTRIB_ARRAY_NORMALIZED" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { + name: "VERTEX_ATTRIB_ARRAY_POINTER" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "VERTEX_ATTRIB_ARRAY_POINTER"; type: "QContext3D::glEnums"; isReadonly: true } Property { name: "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "COMPILE_STATUS"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LOW_FLOAT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MEDIUM_FLOAT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "HIGH_FLOAT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "LOW_INT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MEDIUM_INT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "HIGH_INT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FRAMEBUFFER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RGBA4"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RGB5_A1"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RGB565"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_COMPONENT16"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_INDEX"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_INDEX8"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_STENCIL"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_WIDTH"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_HEIGHT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_INTERNAL_FORMAT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_RED_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_GREEN_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_BLUE_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_ALPHA_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_DEPTH_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_STENCIL_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } + Property { name: "COMPILE_STATUS"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LOW_FLOAT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "MEDIUM_FLOAT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "HIGH_FLOAT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "LOW_INT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "MEDIUM_INT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "HIGH_INT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FRAMEBUFFER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RGBA4"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RGB5_A1"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RGB565"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_COMPONENT16"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_INDEX"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_INDEX8"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_STENCIL"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_WIDTH"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_HEIGHT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { + name: "RENDERBUFFER_INTERNAL_FORMAT" + type: "CanvasContext::glEnums" + isReadonly: true + } + Property { name: "RENDERBUFFER_RED_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_GREEN_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_BLUE_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_ALPHA_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_DEPTH_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_STENCIL_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } Property { name: "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } Property { name: "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } Property { name: "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } Property { name: "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "COLOR_ATTACHMENT0"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_ATTACHMENT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "STENCIL_ATTACHMENT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "DEPTH_STENCIL_ATTACHMENT"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "NONE"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FRAMEBUFFER_COMPLETE"; type: "QContext3D::glEnums"; isReadonly: true } + Property { name: "COLOR_ATTACHMENT0"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_ATTACHMENT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "STENCIL_ATTACHMENT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "DEPTH_STENCIL_ATTACHMENT"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "NONE"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FRAMEBUFFER_COMPLETE"; type: "CanvasContext::glEnums"; isReadonly: true } Property { name: "FRAMEBUFFER_INCOMPLETE_ATTACHMENT" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } Property { name: "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } Property { name: "FRAMEBUFFER_INCOMPLETE_DIMENSIONS" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "FRAMEBUFFER_UNSUPPORTED"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "FRAMEBUFFER_BINDING"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "RENDERBUFFER_BINDING"; type: "QContext3D::glEnums"; isReadonly: true } - Property { name: "MAX_RENDERBUFFER_SIZE"; type: "QContext3D::glEnums"; isReadonly: true } + Property { name: "FRAMEBUFFER_UNSUPPORTED"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "FRAMEBUFFER_BINDING"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "RENDERBUFFER_BINDING"; type: "CanvasContext::glEnums"; isReadonly: true } + Property { name: "MAX_RENDERBUFFER_SIZE"; type: "CanvasContext::glEnums"; isReadonly: true } Property { name: "INVALID_FRAMEBUFFER_OPERATION" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "UNPACK_FLIP_Y_WEBGL"; type: "QContext3D::glEnums"; isReadonly: true } + Property { name: "UNPACK_FLIP_Y_WEBGL"; type: "CanvasContext::glEnums"; isReadonly: true } Property { name: "UNPACK_PREMULTIPLY_ALPHA_WEBGL" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "CONTEXT_LOST_WEBGL"; type: "QContext3D::glEnums"; isReadonly: true } + Property { name: "CONTEXT_LOST_WEBGL"; type: "CanvasContext::glEnums"; isReadonly: true } Property { name: "UNPACK_COLORSPACE_CONVERSION_WEBGL" - type: "QContext3D::glEnums" + type: "CanvasContext::glEnums" isReadonly: true } - Property { name: "BROWSER_DEFAULT_WEBGL"; type: "QContext3D::glEnums"; isReadonly: true } - Signal { - name: "viewportChanged" - Parameter { name: "viewport"; type: "QRect" } - } - Signal { - name: "viewportWidthChanged" - Parameter { name: "width"; type: "int" } - } - Signal { - name: "viewportHeightChanged" - Parameter { name: "height"; type: "int" } - } + Property { name: "BROWSER_DEFAULT_WEBGL"; type: "CanvasContext::glEnums"; isReadonly: true } Signal { - name: "imageLoaded" - Parameter { name: "url"; type: "QUrl" } - Parameter { name: "width"; type: "int" } - Parameter { name: "height"; type: "int" } - Parameter { name: "format"; type: "int" } - Parameter { name: "list"; type: "QVariantList" } + name: "canvasChanged" + Parameter { name: "canvas"; type: "Canvas"; isPointer: true } } Signal { - name: "imageLoadingError" - Parameter { name: "url"; type: "QUrl" } - Parameter { name: "errorString"; type: "string" } + name: "logAllCallsChanged" + Parameter { name: "logCalls"; type: "bool" } } Signal { - name: "canvasChanged" - Parameter { name: "canvas"; type: "QtCanvas3D"; isPointer: true } + name: "logAllErrorsChanged" + Parameter { name: "logErrors"; type: "bool" } } Method { name: "getSupportedExtensions"; type: "QVariantList" } Method { @@ -927,19 +879,19 @@ Module { Parameter { name: "name"; type: "string" } } Method { name: "isContextLost"; type: "bool" } - Method { name: "getContextAttributes"; type: "QContextAttributes*" } + Method { name: "getContextAttributes"; type: "CanvasContextAttributes*" } Method { name: "getShaderPrecisionFormat" - type: "QShaderPrecisionFormat*" + type: "CanvasShaderPrecisionFormat*" Parameter { name: "shadertype"; type: "glEnums" } Parameter { name: "precisiontype"; type: "glEnums" } } Method { name: "flush" } Method { name: "finish" } - Method { name: "createTexture"; type: "QTexture3D*" } + Method { name: "createTexture"; type: "CanvasTexture*" } Method { name: "deleteTexture" - Parameter { name: "texture"; type: "QTexture3D"; isPointer: true } + Parameter { name: "texture"; type: "CanvasTexture"; isPointer: true } } Method { name: "activeTexture" @@ -948,7 +900,7 @@ Module { Method { name: "bindTexture" Parameter { name: "target"; type: "glEnums" } - Parameter { name: "texture"; type: "QTexture3D"; isPointer: true } + Parameter { name: "texture"; type: "CanvasTexture"; isPointer: true } } Method { name: "generateMipmap" @@ -967,7 +919,7 @@ Module { Parameter { name: "width"; type: "int" } Parameter { name: "height"; type: "int" } Parameter { name: "border"; type: "int" } - Parameter { name: "pixels"; type: "TypedArray"; isPointer: true } + Parameter { name: "pixels"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "compressedTexSubImage2D" @@ -978,7 +930,7 @@ Module { Parameter { name: "width"; type: "int" } Parameter { name: "height"; type: "int" } Parameter { name: "format"; type: "glEnums" } - Parameter { name: "pixels"; type: "TypedArray"; isPointer: true } + Parameter { name: "pixels"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "copyTexImage2D" @@ -1012,7 +964,7 @@ Module { Parameter { name: "border"; type: "int" } Parameter { name: "format"; type: "glEnums" } Parameter { name: "type"; type: "glEnums" } - Parameter { name: "pixels"; type: "TypedArray"; isPointer: true } + Parameter { name: "pixels"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "texSubImage2D" @@ -1024,7 +976,7 @@ Module { Parameter { name: "height"; type: "int" } Parameter { name: "format"; type: "glEnums" } Parameter { name: "type"; type: "glEnums" } - Parameter { name: "pixels"; type: "TypedArray"; isPointer: true } + Parameter { name: "pixels"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "texImage2D" @@ -1033,7 +985,7 @@ Module { Parameter { name: "internalformat"; type: "glEnums" } Parameter { name: "format"; type: "glEnums" } Parameter { name: "type"; type: "glEnums" } - Parameter { name: "image"; type: "QTexImage3D"; isPointer: true } + Parameter { name: "image"; type: "CanvasTextureImage"; isPointer: true } } Method { name: "texSubImage2D" @@ -1043,7 +995,7 @@ Module { Parameter { name: "yoffset"; type: "int" } Parameter { name: "format"; type: "glEnums" } Parameter { name: "type"; type: "glEnums" } - Parameter { name: "image"; type: "QTexImage3D"; isPointer: true } + Parameter { name: "image"; type: "CanvasTextureImage"; isPointer: true } } Method { name: "texParameterf" @@ -1057,11 +1009,11 @@ Module { Parameter { name: "pname"; type: "glEnums" } Parameter { name: "param"; type: "int" } } - Method { name: "createFramebuffer"; type: "QFramebuffer3D*" } + Method { name: "createFramebuffer"; type: "CanvasFrameBuffer*" } Method { name: "bindFramebuffer" Parameter { name: "target"; type: "glEnums" } - Parameter { name: "framebuffer"; type: "QFramebuffer3D"; isPointer: true } + Parameter { name: "framebuffer"; type: "CanvasFrameBuffer"; isPointer: true } } Method { name: "checkFramebufferStatus" @@ -1073,14 +1025,14 @@ Module { Parameter { name: "target"; type: "glEnums" } Parameter { name: "attachment"; type: "glEnums" } Parameter { name: "renderbuffertarget"; type: "glEnums" } - Parameter { name: "renderbuffer"; type: "QRenderbuffer3D"; isPointer: true } + Parameter { name: "renderbuffer"; type: "CanvasRenderBuffer"; isPointer: true } } Method { name: "framebufferTexture2D" Parameter { name: "target"; type: "glEnums" } Parameter { name: "attachment"; type: "glEnums" } Parameter { name: "textarget"; type: "glEnums" } - Parameter { name: "texture"; type: "QTexture3D"; isPointer: true } + Parameter { name: "texture"; type: "CanvasTexture"; isPointer: true } Parameter { name: "level"; type: "int" } } Method { @@ -1090,13 +1042,13 @@ Module { } Method { name: "deleteFramebuffer" - Parameter { name: "buffer"; type: "QFramebuffer3D"; isPointer: true } + Parameter { name: "buffer"; type: "CanvasFrameBuffer"; isPointer: true } } - Method { name: "createRenderbuffer"; type: "QRenderbuffer3D*" } + Method { name: "createRenderbuffer"; type: "CanvasRenderBuffer*" } Method { name: "bindRenderbuffer" Parameter { name: "target"; type: "glEnums" } - Parameter { name: "renderbuffer"; type: "QRenderbuffer3D"; isPointer: true } + Parameter { name: "renderbuffer"; type: "CanvasRenderBuffer"; isPointer: true } } Method { name: "renderbufferStorage" @@ -1112,7 +1064,7 @@ Module { } Method { name: "deleteRenderbuffer" - Parameter { name: "renderbuffer"; type: "QRenderbuffer3D"; isPointer: true } + Parameter { name: "renderbuffer"; type: "CanvasRenderBuffer"; isPointer: true } } Method { name: "sampleCoverage" @@ -1121,7 +1073,7 @@ Module { } Method { name: "createShader" - type: "QShader3D*" + type: "CanvasShader*" Parameter { name: "type"; type: "glEnums" } } Method { @@ -1131,61 +1083,61 @@ Module { } Method { name: "deleteShader" - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } } Method { name: "shaderSource" - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } Parameter { name: "shaderSource"; type: "string" } } Method { name: "getShaderSource" type: "string" - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } } Method { name: "compileShader" - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } } Method { name: "uniform1f" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "float" } } Method { name: "uniform1i" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "int" } } Method { name: "uniform2f" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "float" } Parameter { name: "y"; type: "float" } } Method { name: "uniform2i" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "int" } Parameter { name: "y"; type: "int" } } Method { name: "uniform3f" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "float" } Parameter { name: "y"; type: "float" } Parameter { name: "z"; type: "float" } } Method { name: "uniform3i" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "int" } Parameter { name: "y"; type: "int" } Parameter { name: "z"; type: "int" } } Method { name: "uniform4f" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "float" } Parameter { name: "y"; type: "float" } Parameter { name: "z"; type: "float" } @@ -1193,7 +1145,7 @@ Module { } Method { name: "uniform4i" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "x"; type: "int" } Parameter { name: "y"; type: "int" } Parameter { name: "z"; type: "int" } @@ -1201,165 +1153,165 @@ Module { } Method { name: "uniform1fv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Float32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "uniform1iv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Int32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasInt32Array"; isPointer: true } } Method { name: "uniform2fv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Float32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "uniform2iv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Int32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasInt32Array"; isPointer: true } } Method { name: "uniform3fv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Float32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "uniform3iv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Int32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasInt32Array"; isPointer: true } } Method { name: "uniform4fv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Float32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "uniform4iv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } - Parameter { name: "array"; type: "Int32Array"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } + Parameter { name: "array"; type: "CanvasInt32Array"; isPointer: true } } Method { name: "uniform1fva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniform2fva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniform3fva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniform4fva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniform1iva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniform2iva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniform3iva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniform4iva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "array"; type: "QVariantList" } } Method { name: "uniformMatrix2fv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "transpose"; type: "bool" } - Parameter { name: "value"; type: "Float32Array"; isPointer: true } + Parameter { name: "value"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "uniformMatrix3fv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "transpose"; type: "bool" } - Parameter { name: "value"; type: "Float32Array"; isPointer: true } + Parameter { name: "value"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "uniformMatrix4fv" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "transpose"; type: "bool" } - Parameter { name: "value"; type: "Float32Array"; isPointer: true } + Parameter { name: "value"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "uniformMatrix2fva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "transpose"; type: "bool" } Parameter { name: "value"; type: "QVariantList" } } Method { name: "uniformMatrix3fva" - Parameter { name: "location"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "location"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "transpose"; type: "bool" } Parameter { name: "value"; type: "QVariantList" } } Method { name: "uniformMatrix4fva" - Parameter { name: "uniformLocation"; type: "QUniformLocation"; isPointer: true } + Parameter { name: "uniformLocation"; type: "CanvasUniformLocation"; isPointer: true } Parameter { name: "transpose"; type: "bool" } Parameter { name: "value"; type: "QVariantList" } } - Method { name: "createProgram"; type: "QProgram3D*" } + Method { name: "createProgram"; type: "CanvasProgram*" } Method { name: "attachShader" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } } Method { name: "detachShader" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } } Method { name: "linkProgram" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } } Method { name: "useProgram" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } } Method { name: "validateProgram" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } } Method { name: "getUniformLocation" - type: "QUniformLocation*" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + type: "CanvasUniformLocation*" + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } Parameter { name: "name"; type: "string" } } Method { name: "getAttribLocation" type: "int" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } Parameter { name: "name"; type: "string" } } Method { name: "bindAttribLocation" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } Parameter { name: "index"; type: "int" } Parameter { name: "name"; type: "string" } } Method { name: "getProgramInfoLog" type: "string" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } } Method { name: "isProgram" @@ -1368,7 +1320,7 @@ Module { } Method { name: "deleteProgram" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } } Method { name: "disableVertexAttribArray" @@ -1395,7 +1347,7 @@ Module { Method { name: "vertexAttrib1fv" Parameter { name: "indx"; type: "uint" } - Parameter { name: "values"; type: "Float32Array"; isPointer: true } + Parameter { name: "values"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "vertexAttrib2f" @@ -1406,7 +1358,7 @@ Module { Method { name: "vertexAttrib2fv" Parameter { name: "indx"; type: "uint" } - Parameter { name: "values"; type: "Float32Array"; isPointer: true } + Parameter { name: "values"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "vertexAttrib3f" @@ -1418,7 +1370,7 @@ Module { Method { name: "vertexAttrib3fv" Parameter { name: "indx"; type: "uint" } - Parameter { name: "values"; type: "Float32Array"; isPointer: true } + Parameter { name: "values"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "vertexAttrib4f" @@ -1431,30 +1383,30 @@ Module { Method { name: "vertexAttrib4fv" Parameter { name: "indx"; type: "uint" } - Parameter { name: "values"; type: "Float32Array"; isPointer: true } + Parameter { name: "values"; type: "CanvasFloat32Array"; isPointer: true } } Method { name: "getShaderParameter" type: "int" - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } Parameter { name: "paramName"; type: "glEnums" } } Method { name: "getProgramParameter" - type: "int" - Parameter { name: "program"; type: "QProgram3D"; isPointer: true } + type: "QVariant" + Parameter { name: "program"; type: "CanvasProgram"; isPointer: true } Parameter { name: "paramName"; type: "glEnums" } } Method { name: "getShaderInfoLog" type: "string" - Parameter { name: "shader"; type: "QShader3D"; isPointer: true } + Parameter { name: "shader"; type: "CanvasShader"; isPointer: true } } - Method { name: "createBuffer"; type: "QBuffer3D*" } + Method { name: "createBuffer"; type: "CanvasBuffer*" } Method { name: "bindBuffer" Parameter { name: "target"; type: "glEnums" } - Parameter { name: "buffer"; type: "QBuffer3D"; isPointer: true } + Parameter { name: "buffer"; type: "CanvasBuffer"; isPointer: true } } Method { name: "bufferData" @@ -1465,26 +1417,26 @@ Module { Method { name: "bufferData" Parameter { name: "target"; type: "glEnums" } - Parameter { name: "data"; type: "TypedArray"; isPointer: true } + Parameter { name: "data"; type: "CanvasTypedArray"; isPointer: true } Parameter { name: "hint"; type: "glEnums" } } Method { name: "bufferData" Parameter { name: "target"; type: "glEnums" } - Parameter { name: "data"; type: "ArrayBuffer&" } + Parameter { name: "data"; type: "CanvasArrayBuffer&" } Parameter { name: "hint"; type: "glEnums" } } Method { name: "bufferSubData" Parameter { name: "target"; type: "glEnums" } Parameter { name: "offset"; type: "int" } - Parameter { name: "data"; type: "TypedArray"; isPointer: true } + Parameter { name: "data"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "bufferSubData" Parameter { name: "target"; type: "glEnums" } Parameter { name: "offset"; type: "int" } - Parameter { name: "data"; type: "ArrayBuffer&" } + Parameter { name: "data"; type: "CanvasArrayBuffer&" } } Method { name: "getBufferParameter" @@ -1499,7 +1451,7 @@ Module { } Method { name: "deleteBuffer" - Parameter { name: "buffer"; type: "QBuffer3D"; isPointer: true } + Parameter { name: "buffer"; type: "CanvasBuffer"; isPointer: true } } Method { name: "getError"; type: "glEnums" } Method { @@ -1531,16 +1483,16 @@ Module { } Method { name: "enable" - Parameter { name: "flag"; type: "glEnums" } + Parameter { name: "cap"; type: "glEnums" } } Method { name: "isEnabled" type: "bool" - Parameter { name: "flag"; type: "glEnums" } + Parameter { name: "cap"; type: "glEnums" } } Method { name: "disable" - Parameter { name: "flag"; type: "glEnums" } + Parameter { name: "cap"; type: "glEnums" } } Method { name: "getParameter" @@ -1649,11 +1601,11 @@ Module { Parameter { name: "height"; type: "long" } Parameter { name: "format"; type: "glEnums" } Parameter { name: "type"; type: "glEnums" } - Parameter { name: "pixels"; type: "ArrayBufferView"; isPointer: true } + Parameter { name: "pixels"; type: "CanvasArrayBufferView"; isPointer: true } } } Component { - name: "QContextAttributes" + name: "CanvasContextAttributes" prototype: "QObject" exports: ["ContextAttributes 1.0"] exportMetaObjectRevisions: [0] @@ -1699,15 +1651,118 @@ Module { } } Component { - name: "QFramebuffer3D" - prototype: "QAbstractObject3D" - exports: ["Framebuffer3D 1.0"] + name: "CanvasFloat32Array" + prototype: "CanvasTypedArray" + exports: ["Float32Array 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Method { + name: "get" + type: "float" + Parameter { name: "index"; type: "ulong" } + } + Method { + name: "set" + Parameter { name: "index"; type: "ulong" } + Parameter { name: "value"; type: "float" } + } + Method { + name: "set" + Parameter { name: "array"; type: "QVariantList" } + Parameter { name: "offset"; type: "ulong" } + } + Method { + name: "set" + Parameter { name: "array"; type: "QVariantList" } + } + Method { + name: "set" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } + Parameter { name: "offset"; type: "ulong" } + } + Method { + name: "set" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } + } + } + Component { + name: "CanvasFloat64Array" + prototype: "CanvasTypedArray" + exports: ["Float64Array 1.0"] isCreatable: false exportMetaObjectRevisions: [0] + Method { + name: "get" + type: "double" + Parameter { name: "index"; type: "ulong" } + } + Method { + name: "set" + Parameter { name: "index"; type: "ulong" } + Parameter { name: "value"; type: "double" } + } } Component { - name: "QProgram3D" - prototype: "QAbstractObject3D" + name: "CanvasFrameBuffer" + prototype: "CanvasAbstractObject" + exports: ["FrameBuffer3D 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + } + Component { + name: "CanvasInt16Array" + prototype: "CanvasTypedArray" + exports: ["Int16Array 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Method { + name: "get" + type: "short" + Parameter { name: "index"; type: "ulong" } + } + Method { + name: "set" + Parameter { name: "index"; type: "ulong" } + Parameter { name: "value"; type: "short" } + } + } + Component { + name: "CanvasInt32Array" + prototype: "CanvasTypedArray" + exports: ["Int32Array 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Method { + name: "get" + type: "int" + Parameter { name: "index"; type: "ulong" } + } + Method { + name: "set" + Parameter { name: "index"; type: "ulong" } + Parameter { name: "value"; type: "int" } + } + } + Component { + name: "CanvasInt8Array" + prototype: "CanvasTypedArray" + exports: ["Int8Array 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Method { + name: "get" + type: "signed char" + Parameter { name: "index"; type: "ulong" } + } + Method { + name: "set" + Parameter { name: "index"; type: "ulong" } + Parameter { name: "value"; type: "signed char" } + } + } + Component { + name: "CanvasProgram" + prototype: "CanvasAbstractObject" exports: ["Program3D 1.0"] isCreatable: false exportMetaObjectRevisions: [0] @@ -1718,21 +1773,21 @@ Module { } } Component { - name: "QRenderbuffer3D" + name: "CanvasRenderBuffer" prototype: "QObject" - exports: ["Renderbuffer3D 1.0"] + exports: ["RenderBuffer3D 1.0"] isCreatable: false exportMetaObjectRevisions: [0] } Component { - name: "QShader3D" + name: "CanvasShader" prototype: "QObject" exports: ["Shader3D 1.0"] isCreatable: false exportMetaObjectRevisions: [0] } Component { - name: "QShaderPrecisionFormat" + name: "CanvasShaderPrecisionFormat" prototype: "QObject" exports: ["ShaderPrecisionFormat 1.0"] isCreatable: false @@ -1754,12 +1809,19 @@ Module { } } Component { - name: "QTexImage3D" - prototype: "QAbstractObject3D" - exports: ["TexImage 1.0"] + name: "CanvasTexture" + prototype: "CanvasAbstractObject" + exports: ["Texture3D 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + } + Component { + name: "CanvasTextureImage" + prototype: "CanvasAbstractObject" + exports: ["TextureImage 1.0"] exportMetaObjectRevisions: [0] Enum { - name: "QTexImageState" + name: "TextureImageState" values: { "INITIALIZED": 0, "LOAD_PENDING": 1, @@ -1769,7 +1831,7 @@ Module { } } Property { name: "source"; type: "QUrl" } - Property { name: "imageState"; type: "QTexImageState"; isReadonly: true } + Property { name: "imageState"; type: "TextureImageState"; isReadonly: true } Property { name: "width"; type: "int"; isReadonly: true } Property { name: "height"; type: "int"; isReadonly: true } Property { name: "errorString"; type: "string"; isReadonly: true } @@ -1779,7 +1841,7 @@ Module { } Signal { name: "imageStateChanged" - Parameter { name: "state"; type: "QTexImageState" } + Parameter { name: "state"; type: "TextureImageState" } } Signal { name: "widthChanged" @@ -1800,34 +1862,30 @@ Module { Method { name: "id"; type: "ulong" } } Component { - name: "QTexImageLoader3D" + name: "CanvasTextureImageLoader" prototype: "QObject" exports: ["TextureImageLoader 1.0"] exportMetaObjectRevisions: [0] + Property { name: "logAllCalls"; type: "bool" } + Property { name: "logAllErrors"; type: "bool" } + Signal { + name: "logAllCallsChanged" + Parameter { name: "logCalls"; type: "bool" } + } + Signal { + name: "logAllErrorsChanged" + Parameter { name: "logErrors"; type: "bool" } + } Method { name: "loadImage" - type: "QTexImage3D*" + type: "CanvasTextureImage*" Parameter { name: "url"; type: "QUrl" } } } Component { - name: "QTexture3D" - prototype: "QAbstractObject3D" - exports: ["Texture3D 1.0"] - isCreatable: false - exportMetaObjectRevisions: [0] - } - Component { - name: "QUniformLocation" - prototype: "QAbstractObject3D" - exports: ["UniformLocation3D 1.0"] - isCreatable: false - exportMetaObjectRevisions: [0] - } - Component { - name: "TypedArray" - prototype: "ArrayBufferView" - exports: ["QTypedArray 1.0"] + name: "CanvasTypedArray" + prototype: "CanvasArrayBufferView" + exports: ["TypedArray 1.0"] isCreatable: false exportMetaObjectRevisions: [0] Property { name: "length"; type: "ulong"; isReadonly: true } @@ -1837,7 +1895,7 @@ Module { } } Component { - name: "Arrays" + name: "CanvasTypedArrayFactory" prototype: "QObject" exports: ["Arrays 1.0"] isCreatable: false @@ -1845,199 +1903,199 @@ Module { exportMetaObjectRevisions: [0] Method { name: "newInt8Array" - type: "Int8Array*" + type: "CanvasInt8Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newInt8Array" - type: "Int8Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasInt8Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newInt8Array" - type: "Int8Array*" + type: "CanvasInt8Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newInt8Array" - type: "Int8Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasInt8Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newUint8Array" - type: "Uint8Array*" + type: "CanvasUint8Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newUint8Array" - type: "Uint8Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasUint8Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newUint8Array" - type: "Uint8Array*" + type: "CanvasUint8Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newUint8Array" - type: "Uint8Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasUint8Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newInt16Array" - type: "Int16Array*" + type: "CanvasInt16Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newInt16Array" - type: "Int16Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasInt16Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newInt16Array" - type: "Int16Array*" + type: "CanvasInt16Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newInt16Array" - type: "Int16Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasInt16Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newUint16Array" - type: "Uint16Array*" + type: "CanvasUint16Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newUint16Array" - type: "Uint16Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasUint16Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newUint16Array" - type: "Uint16Array*" + type: "CanvasUint16Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newUint16Array" - type: "Uint16Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasUint16Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newInt32Array" - type: "Int32Array*" + type: "CanvasInt32Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newInt32Array" - type: "Int32Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasInt32Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newInt32Array" - type: "Int32Array*" + type: "CanvasInt32Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newInt32Array" - type: "Int32Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasInt32Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newUint32Array" - type: "Uint32Array*" + type: "CanvasUint32Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newUint32Array" - type: "Uint32Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasUint32Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newUint32Array" - type: "Uint32Array*" + type: "CanvasUint32Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newUint32Array" - type: "Uint32Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasUint32Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newFloat32Array" - type: "Float32Array*" + type: "CanvasFloat32Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newFloat32Array" - type: "Float32Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasFloat32Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newFloat32Array" - type: "Float32Array*" + type: "CanvasFloat32Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newFloat32Array" - type: "Float32Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasFloat32Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newFloat64Array" - type: "Float64Array*" + type: "CanvasFloat64Array*" Parameter { name: "length"; type: "ulong" } } Method { name: "newFloat64Array" - type: "Float64Array*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasFloat64Array*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newFloat64Array" - type: "Float64Array*" + type: "CanvasFloat64Array*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newFloat64Array" - type: "Float64Array*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasFloat64Array*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } Method { name: "newUint8ClampedArray" - type: "Uint8ClampedArray*" + type: "CanvasUint8ClampedArray*" Parameter { name: "length"; type: "ulong" } } Method { name: "newUint8ClampedArray" - type: "Uint8ClampedArray*" - Parameter { name: "array"; type: "TypedArray"; isPointer: true } + type: "CanvasUint8ClampedArray*" + Parameter { name: "array"; type: "CanvasTypedArray"; isPointer: true } } Method { name: "newUint8ClampedArray" - type: "Uint8ClampedArray*" + type: "CanvasUint8ClampedArray*" Parameter { name: "array"; type: "QVariantList" } } Method { name: "newUint8ClampedArray" - type: "Uint8ClampedArray*" - Parameter { name: "buffer"; type: "ArrayBuffer"; isPointer: true } + type: "CanvasUint8ClampedArray*" + Parameter { name: "buffer"; type: "CanvasArrayBuffer"; isPointer: true } Parameter { name: "byteOffset"; type: "ulong" } } - Method { name: "newTexImage"; type: "QTexImage3D*" } + Method { name: "newTexImage"; type: "CanvasTextureImage*" } } Component { - name: "Uint16Array" - prototype: "TypedArray" - exports: ["QUint16Array 1.0"] + name: "CanvasUint16Array" + prototype: "CanvasTypedArray" + exports: ["Uint16Array 1.0"] isCreatable: false exportMetaObjectRevisions: [0] Method { @@ -2052,9 +2110,9 @@ Module { } } Component { - name: "Uint32Array" - prototype: "TypedArray" - exports: ["QUint32Array 1.0"] + name: "CanvasUint32Array" + prototype: "CanvasTypedArray" + exports: ["Uint32Array 1.0"] isCreatable: false exportMetaObjectRevisions: [0] Method { @@ -2069,9 +2127,9 @@ Module { } } Component { - name: "Uint8Array" - prototype: "TypedArray" - exports: ["QUint8Array 1.0"] + name: "CanvasUint8Array" + prototype: "CanvasTypedArray" + exports: ["Uint8Array 1.0"] isCreatable: false exportMetaObjectRevisions: [0] Method { @@ -2086,9 +2144,9 @@ Module { } } Component { - name: "Uint8ClampedArray" - prototype: "TypedArray" - exports: ["QUint8ClampedArray 1.0"] + name: "CanvasUint8ClampedArray" + prototype: "CanvasTypedArray" + exports: ["Uint8ClampedArray 1.0"] isCreatable: false exportMetaObjectRevisions: [0] Method { @@ -2102,4 +2160,11 @@ Module { Parameter { name: "value"; type: "uchar" } } } + Component { + name: "CanvasUniformLocation" + prototype: "CanvasAbstractObject" + exports: ["UniformLocation 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + } } diff --git a/src/teximage3dloader.cpp b/src/teximage3dloader.cpp index f2d3b89..a7125f3 100644 --- a/src/teximage3dloader.cpp +++ b/src/teximage3dloader.cpp @@ -50,6 +50,22 @@ * \sa Context3D, TextureImage, {QML Canvas 3D QML Types} */ +/*! + * \qmlproperty TextureImage TextureImageLoader::image + * A read-only property holding the last loaded or failed texture. Should be called on receiving the + * imageLoaded or imageLoadingFailed signal. + */ + +/*! + * \qmlsignal void TextureImageLoader::imageLoaded() + * Emitted when a texture has been successfully loaded. + */ + +/*! + * \qmlsignal void TextureImageLoader::imageLoadingFailed() + * Emitted when a texture loading has failed. + */ + /*! * \internal */ @@ -120,14 +136,9 @@ bool CanvasTextureImageLoader::logAllErrors() const */ void CanvasTextureImageLoader::emitImageLoaded(CanvasTextureImage *textureImage) { - // Can't use signals as those change the signal processing to main thread - // Using invokeMethod() preserves execution on scene graph render thread. if (m_logAllCalls) qDebug() << "TexImage3DLoader::" << __FUNCTION__; - QVariant ignoredReturnedValue; - QMetaObject::invokeMethod(this, "imageLoaded", - Qt::DirectConnection, - Q_RETURN_ARG(QVariant, ignoredReturnedValue), - Q_ARG(QVariant, QVariant::fromValue(textureImage))); + m_image = textureImage; + emit imageLoaded(); } /*! @@ -135,14 +146,9 @@ void CanvasTextureImageLoader::emitImageLoaded(CanvasTextureImage *textureImage) */ void CanvasTextureImageLoader::emitImageLoadingError(CanvasTextureImage *textureImage) { - // Can't use signals as those change the signal processing to main thread - // Using invokeMethod() preserves execution on scene graph render thread. if (m_logAllCalls) qDebug() << "TexImage3DLoader::" << __FUNCTION__; - QVariant ignoredReturnedValue; - QMetaObject::invokeMethod(this, "imageLoadingError", - Qt::DirectConnection, - Q_RETURN_ARG(QVariant, ignoredReturnedValue), - Q_ARG(QVariant, QVariant::fromValue(textureImage))); + m_image = textureImage; + emit imageLoadingFailed(); } /*! diff --git a/src/teximage3dloader_p.h b/src/teximage3dloader_p.h index d056963..8e2421d 100644 --- a/src/teximage3dloader_p.h +++ b/src/teximage3dloader_p.h @@ -54,6 +54,7 @@ class Canvas; class CanvasTextureImageLoader : public QObject { Q_OBJECT + Q_PROPERTY(CanvasTextureImage* image READ image) Q_PROPERTY(bool logAllCalls READ logAllCalls WRITE setLogAllCalls NOTIFY logAllCallsChanged) Q_PROPERTY(bool logAllErrors READ logAllErrors WRITE setLogAllErrors NOTIFY logAllErrorsChanged) @@ -71,8 +72,11 @@ public: void notifyLoadedImages(); void emitImageLoaded(CanvasTextureImage *textureImage); void emitImageLoadingError(CanvasTextureImage *textureImage); + inline CanvasTextureImage *image() { return m_image; } signals: + void imageLoaded(); + void imageLoadingFailed(); void logAllCallsChanged(bool logCalls); void logAllErrorsChanged(bool logErrors); @@ -81,6 +85,7 @@ private: bool m_logAllErrors; QMap<QUrl, CanvasTextureImage *> m_urlToImageMap; QList<CanvasTextureImage *> m_loadingImagesList; + CanvasTextureImage *m_image; Canvas *m_canvas; }; -- GitLab