diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/library_browser.js | 9 | ||||
-rw-r--r-- | src/library_sdl.js | 7 | ||||
-rw-r--r-- | src/shell.html | 5 |
3 files changed, 12 insertions, 9 deletions
diff --git a/src/library_browser.js b/src/library_browser.js index 9c3057b8..b733bfbd 100644 --- a/src/library_browser.js +++ b/src/library_browser.js @@ -31,11 +31,14 @@ mergeInto(LibraryManager.library, { } return ret; } - var img = new Image(); + var image = new Image(); + image.src = 'data:image/' + format + ';base64,' + encodeBase64(pixels); + assert(image.complete, 'Image could not be decoded'); // page reload might fix it, decoding is async... var canvas = document.createElement('canvas'); - img.src = 'data:image/' + format + ';base64,' + encodeBase64(pixels); + canvas.width = image.width; + canvas.height = image.height; var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); + ctx.drawImage(image, 0, 0); var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); return imageData; }, diff --git a/src/library_sdl.js b/src/library_sdl.js index 7b413c13..e741faeb 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -479,7 +479,12 @@ mergeInto(LibraryManager.library, { IMG_Load: function(filename) { filename = Pointer_stringify(filename); var format = filename.split('.').slice(-1)[0]; - var data = readBinary(filename); + var file = FS.analyzePath(filename); + if (!file || !file.object) { + console.log('Cannot find file: ' + filename); + return 0; + } + var data = file.object.contents; var raw = Browser.decodeImage(data, format); var surf = SDL.makeSurface(raw.width, raw.height, 0); // XXX Extremely inefficient! diff --git a/src/shell.html b/src/shell.html index 2f34ace3..11970241 100644 --- a/src/shell.html +++ b/src/shell.html @@ -9,11 +9,6 @@ <div id='output'></div> <hr> <script type='text/javascript'> - /** - * TODO: Encapsulate this part in a reusable token such as - * EMSCRIPTEN_ENVIRONMENT so that we can share code - * between the default shell and custom ones. - */ // connect to canvas var Module = { print: (function() { |