diff options
author | Morten Johan Sørvig <morten.sorvig@qt.io> | 2019-03-15 19:42:17 +0100 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2019-04-01 07:17:58 +0000 |
commit | 73db765aaf9fad622f050e55e1d240329da0a07c (patch) | |
tree | 6656aa39949cc21f67d38a94a179d19983c40bf3 /src/plugins/platforms/wasm/qtloader.js | |
parent | ed49a84e6caa8c76f2edd382a4405028d07a9fba (diff) |
wasm: support adding and removing canvases at runtime
Add qtloader API:
addCanvasElement()
removeCanvasElement()
These functions call the corresponding add/remove screen
functions on QWasmIntegration.
Task-number: QTBUG-64079
Change-Id: I537c11f3b5fb9240cca9b6313dd45f803d865ac6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/wasm/qtloader.js')
-rw-r--r-- | src/plugins/platforms/wasm/qtloader.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/platforms/wasm/qtloader.js b/src/plugins/platforms/wasm/qtloader.js index 049eb1c35e..9bacce5944 100644 --- a/src/plugins/platforms/wasm/qtloader.js +++ b/src/plugins/platforms/wasm/qtloader.js @@ -118,6 +118,10 @@ // "Exited", iff crashed is false. // exitText // Abort/exit message. +// addCanvasElement +// Add canvas at run-time. Adds a corresponding QScreen, +// removeCanvasElement +// Remove canvas at run-time. Removes the corresponding QScreen. var Module = {} @@ -227,6 +231,8 @@ function QtLoader(config) publicAPI.canLoadApplication = canLoadQt(); publicAPI.status = undefined; publicAPI.loadEmscriptenModule = loadEmscriptenModule; + publicAPI.addCanvasElement = addCanvasElement; + publicAPI.removeCanvasElement = removeCanvasElement; restartCount = 0; @@ -528,6 +534,20 @@ function QtLoader(config) window.setTimeout(function() { handleStatusChange(); }, 0); } + function addCanvasElement(element) { + if (publicAPI.status == "Running") + Module.qtAddCanvasElement(element); + else + console.log("Error: addCanvasElement can only be called in the Running state"); + } + + function removeCanvasElement(element) { + if (publicAPI.status == "Running") + Module.qtRemoveCanvasElement(element); + else + console.log("Error: removeCanvasElement can only be called in the Running state"); + } + setStatus("Created"); return publicAPI; |