1 2(function(CanvasKit){ 3 CanvasKit.SkpFilePlayer = function(file_arraybuf) { 4 // Create the instance of SkpDebugPlayer 5 var player = new this.SkpDebugPlayer(); 6 // Convert file (an ArrayBuffer) into a typedarray, 7 // otherwise fileMem.set() below seems to have no effect. 8 var fileContents = new Uint8Array(file_arraybuf); 9 var size = fileContents.byteLength; 10 // Allocate memory in wasm to hold the skp file selected by the user. 11 var fileMemPtr = this._malloc(size); 12 // Make a typed array view of that memory 13 var fileMem = new Uint8Array(CanvasKit.HEAPU8.buffer, fileMemPtr, size); 14 // Copy the file into it 15 fileMem.set(fileContents); 16 // Hand off pointer to wasm 17 var error = player.loadSkp(fileMemPtr, size); 18 // Free the memory that was used to hold the file, since it is now represented as an SkPicture 19 this._free(fileMemPtr) 20 return { 21 'error': error, 22 'player': player 23 }; 24 } 25 26}(Module)); // When this file is loaded in, the high level object is "Module"; 27