| CanvasKit._extraInitializations = CanvasKit._extraInitializations || []; |
| CanvasKit._extraInitializations.push(function() { |
| // data is a TypedArray or ArrayBuffer e.g. from fetch().then(resp.arrayBuffer()) |
| CanvasKit.MakeSkPicture = function(data) { |
| data = new Uint8Array(data); |
| |
| var iptr = CanvasKit._malloc(data.byteLength); |
| CanvasKit.HEAPU8.set(data, iptr); |
| var pic = CanvasKit._MakeSkPicture(iptr, data.byteLength); |
| if (!pic) { |
| SkDebug('Could not decode picture'); |
| return null; |
| } |
| return pic; |
| } |
| |
| // The serialized format of an SkPicture (informally called an "skp"), is not something |
| // that clients should ever rely on. The format may change at anytime and no promises |
| // are made for backwards or forward compatibility. |
| CanvasKit.SkPicture.prototype.saveAsFile = function(skpName) { |
| var data = this.serialize(); |
| if (!data) { |
| SkDebug('Could not serialize to skpicture.'); |
| return; |
| } |
| var bytes = CanvasKit.getSkDataBytes(data); |
| saveBytesToFile(bytes, skpName); |
| data.delete(); |
| } |
| }); |