diff options
Diffstat (limited to 'src/library_browser.js')
-rw-r--r-- | src/library_browser.js | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/src/library_browser.js b/src/library_browser.js index fc8cb84c..99106fc3 100644 --- a/src/library_browser.js +++ b/src/library_browser.js @@ -347,11 +347,21 @@ mergeInto(LibraryManager.library, { }); addRunDependency('al ' + url); }, - - setCanvasSize: function(width, height) { + + resizeListeners: [], + + updateResizeListeners: function() { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + }, + + setCanvasSize: function(width, height, noUpdates) { var canvas = Module['canvas']; canvas.width = width; canvas.height = height; + if (!noUpdates) Browser.updateResizeListeners(); } }, @@ -392,6 +402,28 @@ mergeInto(LibraryManager.library, { return 0; }, + emscripten_async_prepare_data: function(data, size, suffix, arg, onload, onerror) { + var _suffix = Pointer_stringify(suffix); + if (!Browser.asyncPrepareDataCounter) Browser.asyncPrepareDataCounter = 0; + var name = 'prepare_data_' + (Browser.asyncPrepareDataCounter++) + '.' + _suffix; + var cname = _malloc(name.length+1); + writeStringToMemory(name, cname); + FS.createPreloadedFile( + '', + name, + {{{ makeHEAPView('U8', 'data', 'data + size') }}}, + true, true, + function() { + if (onload) FUNCTION_TABLE[onload](arg, cname); + }, + function() { + if (onerror) FUNCTION_TABLE[onerror](arg); + }, + true // don'tCreateFile - it's already there + ); + return 0; + }, + emscripten_async_run_script__deps: ['emscripten_run_script'], emscripten_async_run_script: function(script, millis) { Module['noExitRuntime'] = true; |