web-dom
Version:
A web component for making web assembly modules that can interat with dom easily
2,066 lines (1,676 loc) • 175 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = global || self, factory(global.WebDOM = {}));
}(this, function (exports) { 'use strict';
function allocator() {
let allocations = [null];
let empty = [];
return {
//allocate
a:function(value){
let i = allocations.length;
if(empty.length > 0) {
i = empty.pop();
}
allocations[i] = value;
return i;
},
//release
r(handle){
allocations[handle] = undefined;
empty.push(handle);
},
//get
g(handle){
if(handle < 0){
return undefined;
}
let ret = allocations[handle];
if(handle !=0 && !ret){
console.error(`Asked for ${handle} after it was released.`);
}
return ret;
}
}
}
// THIS FILE IS GENERATED FROM tools/generate_webidl.js
function createWebIDLContext() {
let A = allocator();
const webidl = {
allocator: function() {
return A;
},
global_create_f32array: function(start, length) {
return A.a(
new Float32Array(
Uint8Array.from(
new Uint8Array(this.memory.buffer).subarray(start, start + length)
).buffer
)
);
},
global_create_uint8array: function(start, length) {
return A.a(
new Uint8Array(this.memory.buffer).subarray(start, start + length)
);
},
global_is_null: function(o) {
return A.g(o) == null;
},
global_convert_to_ref: function(o) {
return A.g(o);
},
global_convert_to_number: function(o) {
return A.g(o);
},
global_convert_to_bool: function(o) {
return A.g(o) ? 1 : 0;
},
global_convert_to_string: function(o) {
return this.ms(A.g(o));
},
global_debugger: function() {
debugger;
},
global_get_window: function() {
return A.a(window);
},
global_release: function(handle) {
A.r(handle);
},
global_create_event_listener: function() {
let handle = A.a(e => this.executeCallback(handle, e, A));
return handle;
},
global_get_property: function(handle, name) {
let o = A.g(handle);
let p = o[this.s(name)];
if (typeof p == "string") {
return this.ms(p);
} else if (typeof p == "boolean") {
return p ? 1 : 0;
} else if (typeof p == "number") {
return p;
}
return A.a(p);
},
date_now: function() {
return Date.now();
},
date_now_seconds: function() {
return Date.now() / 1000;
},
date_get_timezone_offset: function() {
return new Date().getTimezoneOffset();
},
math_random: function() {
return Math.random();
},
math_random_n: function(n) {
return Math.floor(Math.random() * n);
},
customelement_attach_shadow: function(instance) {
let _instance = A.g(instance);
return A.a(_instance.attachShadow({ mode: "open" }));
},
customelement_define: function(componentName) {
componentName = this.s(componentName);
let createElement = this.elementCreated;
window.setTimeout(() => {
customElements.define(
componentName,
class extends HTMLElement {
constructor() {
super();
var e = new CustomEvent("customelementcreated", {
detail: A.a(this)
});
window.dispatchEvent(e);
}
connectedCallback() {
var e = new CustomEvent("connected");
this.dispatchEvent(e);
}
disconnectedCallback() {
debugger;
var e = new CustomEvent("disconnected");
this.dispatchEvent(e);
}
adoptedCallback() {
var e = new CustomEvent("adopted");
this.dispatchEvent(e);
}
attributeChangedCallback(name, oldValue, value) {
var e = new CustomEvent("attributechanged", {
detail: { name, oldValue, value }
});
this.dispatchEvent(e);
}
}
);
}, 1);
},
customelement_define_with_attributes: function(componentName, attributes) {
componentName = this.s(componentName);
attributes = this.s(attributes);
let createElement = this.elementCreated;
let observedAttributes = attributes.split(",").map(x => x.trim());
window.setTimeout(() => {
customElements.define(
componentName,
class extends HTMLElement {
constructor() {
super();
var e = new CustomEvent("customelementcreated", {
detail: A.a(this)
});
window.dispatchEvent(e);
}
static get observedAttributes() {
return observedAttributes;
}
connectedCallback() {
var e = new CustomEvent("connected");
this.dispatchEvent(e);
}
disconnectedCallback() {
debugger;
var e = new CustomEvent("disconnected");
this.dispatchEvent(e);
}
adoptedCallback() {
var e = new CustomEvent("adopted");
this.dispatchEvent(e);
}
attributeChangedCallback(name, oldValue, value) {
var e = new CustomEvent("attributechanged", {
detail: { name, oldValue, value }
});
this.dispatchEvent(e);
}
}
);
}, 1);
},
WasmWorker_onWorkerLoaded: function(instance, listener) {
let _instance = A.g(instance);
let _listener = A.g(listener);
if (_instance.loaded) {
_listener(
new CustomEvent("load", { detail: { id: _instance.workerId } })
);
} else {
_instance.addEventListener("load", _listener);
}
},
WasmWorker_onWorkerMessage: function(instance, listener) {
let _instance = A.g(instance);
let _listener = A.g(listener);
_instance.addEventListener("message", _listener);
},
WasmWorker_sendWorkerMessage: function(instance, start, len) {
let _instance = A.g(instance);
const data = new Uint8Array(this.memory.buffer);
_instance.sendMessage(data.subarray(start, start + len));
},
WasmWorkerLoadEvent_getWorkerId: function(ev) {
let e = A.g(ev);
return e.detail.id;
},
WasmWorkerMessageEvent_get_length: function(ev) {
let e = A.g(ev);
return e.detail.length;
},
WasmWorkerMessageEvent_get_data: function(ev) {
let e = A.g(ev);
let start = this.m(e.length);
const data = new Uint8Array(this.memory.buffer);
data.set(e.detail, start);
return start;
},
dynamic_load(moduleName, listener) {
let _listener = A.g(listener);
let handle = A.a({
module: WebDOM.run(
this.s(moduleName),
{},
function() {
_listener({ module: handle });
},
true
),
params: [],
result: null
});
},
dynamic_unload(dynHandle) {
A.r(dynHandle);
},
dynamic_begin(dynHandle) {
let call = A.g(dynHandle);
call.params = [];
call.result = null;
return dynHandle;
},
dynamic_param_cstring(call, cstr) {
window.alert("todo");
},
dynamic_param_memory(call, start, len) {
window.alert("todo");
},
dynamic_param_i32(call, p) {
let c = A.g(call);
c.params.push(p);
},
dynamic_param_i64(call, p) {
let c = A.g(call);
c.params.push(p);
},
dynamic_param_f32(call, p) {
let c = A.g(call);
c.params.push(p);
},
dynamic_param_f64(call, p) {
let c = A.g(call);
c.params.push(p);
},
dynamic_call(call, name) {
let c = A.g(call);
let _name = this.s(name);
c.result = c.module.exports[_name].apply(c.module.exports, c.params);
c.params = [];
},
dynamic_result_i32(call) {
let c = A.g(call);
return c.result;
},
dynamic_result_i64(call) {
let c = A.g(call);
return c.result;
},
dynamic_result_f32(call) {
let c = A.g(call);
return c.result;
},
dynamic_result_f64(call) {
let c = A.g(call);
return c.result;
},
dynamic_result_cstring(call) {
window.alert("todo");
},
dynamic_result_memory(call) {
window.alert("todo");
},
dynamic_result_memory_len(call) {
window.alert("todo");
},
//TODO: get rid of one day when this isn't required by tinygo
io_get_stdout: function() {
return 1;
},
//TODO: get rid of one day when this isn't required by tinygo
resource_write: function() {},
canvas_get_canvas: function(i) {
let _i = A.g(i);
return A.a(_i.canvas);
},
canvas_set_canvas: function(i, v) {
let _i = A.g(i);
_i.canvas = A.g(v);
},
canvas_get_moz_current_transform: function(i) {
let _i = A.g(i);
return A.a(_i.mozCurrentTransform);
},
canvas_set_moz_current_transform: function(i, v) {
let _i = A.g(i);
_i.mozCurrentTransform = A.g(v);
},
canvas_get_moz_current_transform_inverse: function(i) {
let _i = A.g(i);
return A.a(_i.mozCurrentTransformInverse);
},
canvas_set_moz_current_transform_inverse: function(i, v) {
let _i = A.g(i);
_i.mozCurrentTransformInverse = A.g(v);
},
canvas_get_moz_text_style: function(i) {
let _i = A.g(i);
return this.ms(_i.mozTextStyle);
},
canvas_set_moz_text_style: function(i, v) {
let _i = A.g(i);
_i.mozTextStyle = this.s(v);
},
canvas_get_moz_image_smoothing_enabled: function(i) {
let _i = A.g(i);
return _i.mozImageSmoothingEnabled ? 1 : 0;
},
canvas_set_moz_image_smoothing_enabled: function(i, v) {
let _i = A.g(i);
_i.mozImageSmoothingEnabled = 1 == v;
},
canvas_draw_window: function(i, window, x, y, w, h, bgColor, flags) {
let _i = A.g(i);
let _window = A.g(window);
let _x = x;
let _y = y;
let _w = w;
let _h = h;
let _bgColor = this.s(bgColor);
let _flags = flags;
_i.drawWindow(_window, _x, _y, _w, _h, _bgColor, _flags);
},
canvas_demote: function(i) {
let _i = A.g(i);
_i.demote();
},
canvas_save: function(i) {
let _i = A.g(i);
_i.save();
},
canvas_restore: function(i) {
let _i = A.g(i);
_i.restore();
},
canvas_scale: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
_i.scale(_x, _y);
},
canvas_rotate: function(i, angle) {
let _i = A.g(i);
let _angle = angle;
_i.rotate(_angle);
},
canvas_translate: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
_i.translate(_x, _y);
},
canvas_transform: function(i, a, b, c, d, e, f) {
let _i = A.g(i);
let _a = a;
let _b = b;
let _c = c;
let _d = d;
let _e = e;
let _f = f;
_i.transform(_a, _b, _c, _d, _e, _f);
},
canvas_set_transform: function(i, a, b, c, d, e, f) {
let _i = A.g(i);
let _a = a;
let _b = b;
let _c = c;
let _d = d;
let _e = e;
let _f = f;
_i.setTransform(_a, _b, _c, _d, _e, _f);
},
canvas_reset_transform: function(i) {
let _i = A.g(i);
_i.resetTransform();
},
canvas_get_global_alpha: function(i) {
let _i = A.g(i);
return _i.globalAlpha;
},
canvas_set_global_alpha: function(i, v) {
let _i = A.g(i);
_i.globalAlpha = v;
},
canvas_get_global_composite_operation: function(i) {
let _i = A.g(i);
return this.ms(_i.globalCompositeOperation);
},
canvas_set_global_composite_operation: function(i, v) {
let _i = A.g(i);
_i.globalCompositeOperation = this.s(v);
},
canvas_get_image_smoothing_enabled: function(i) {
let _i = A.g(i);
return _i.imageSmoothingEnabled ? 1 : 0;
},
canvas_set_image_smoothing_enabled: function(i, v) {
let _i = A.g(i);
_i.imageSmoothingEnabled = 1 == v;
},
canvas_get_stroke_style: function(i) {
let _i = A.g(i);
return this.ms(_i.strokeStyle);
},
canvas_set_stroke_style: function(i, v) {
let _i = A.g(i);
_i.strokeStyle = this.s(v);
},
canvas_get_fill_style: function(i) {
let _i = A.g(i);
return this.ms(_i.fillStyle);
},
canvas_set_fill_style: function(i, v) {
let _i = A.g(i);
_i.fillStyle = this.s(v);
},
canvas_create_linear_gradient: function(i, x0, y0, x1, y1) {
let _i = A.g(i);
let _x0 = x0;
let _y0 = y0;
let _x1 = x1;
let _y1 = y1;
return A.a(_i.createLinearGradient(_x0, _y0, _x1, _y1));
},
canvas_create_radial_gradient: function(i, x0, y0, r0, x1, y1, r1) {
let _i = A.g(i);
let _x0 = x0;
let _y0 = y0;
let _r0 = r0;
let _x1 = x1;
let _y1 = y1;
let _r1 = r1;
return A.a(_i.createRadialGradient(_x0, _y0, _r0, _x1, _y1, _r1));
},
canvas_create_pattern: function(i, image, repetition) {
let _i = A.g(i);
let _image = A.g(image);
let _repetition = this.s(repetition);
return A.a(_i.createPattern(_image, _repetition));
},
canvas_get_shadow_offset_x: function(i) {
let _i = A.g(i);
return _i.shadowOffsetX;
},
canvas_set_shadow_offset_x: function(i, v) {
let _i = A.g(i);
_i.shadowOffsetX = v;
},
canvas_get_shadow_offset_y: function(i) {
let _i = A.g(i);
return _i.shadowOffsetY;
},
canvas_set_shadow_offset_y: function(i, v) {
let _i = A.g(i);
_i.shadowOffsetY = v;
},
canvas_get_shadow_blur: function(i) {
let _i = A.g(i);
return _i.shadowBlur;
},
canvas_set_shadow_blur: function(i, v) {
let _i = A.g(i);
_i.shadowBlur = v;
},
canvas_get_shadow_color: function(i) {
let _i = A.g(i);
return this.ms(_i.shadowColor);
},
canvas_set_shadow_color: function(i, v) {
let _i = A.g(i);
_i.shadowColor = this.s(v);
},
canvas_get_filter: function(i) {
let _i = A.g(i);
return this.ms(_i.filter);
},
canvas_set_filter: function(i, v) {
let _i = A.g(i);
_i.filter = this.s(v);
},
canvas_clear_rect: function(i, x, y, w, h) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _w = w;
let _h = h;
_i.clearRect(_x, _y, _w, _h);
},
canvas_fill_rect: function(i, x, y, w, h) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _w = w;
let _h = h;
_i.fillRect(_x, _y, _w, _h);
},
canvas_stroke_rect: function(i, x, y, w, h) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _w = w;
let _h = h;
_i.strokeRect(_x, _y, _w, _h);
},
canvas_begin_path: function(i) {
let _i = A.g(i);
_i.beginPath();
},
canvas_fill: function(i) {
let _i = A.g(i);
_i.fill();
},
canvas_fill_1: function(i, winding) {
let _i = A.g(i);
let _winding = A.g(winding);
_i.fill(_winding);
},
canvas_fill_2: function(i, path, winding) {
let _i = A.g(i);
let _path = A.g(path);
let _winding = A.g(winding);
_i.fill(_path, _winding);
},
canvas_stroke: function(i) {
let _i = A.g(i);
_i.stroke();
},
canvas_stroke_1: function(i, path) {
let _i = A.g(i);
let _path = A.g(path);
_i.stroke(_path);
},
canvas_clip: function(i) {
let _i = A.g(i);
_i.clip();
},
canvas_clip_1: function(i, winding) {
let _i = A.g(i);
let _winding = A.g(winding);
_i.clip(_winding);
},
canvas_clip_2: function(i, path, winding) {
let _i = A.g(i);
let _path = A.g(path);
let _winding = A.g(winding);
_i.clip(_path, _winding);
},
canvas_is_point_in_path: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
return _i.isPointInPath(_x, _y) ? 1 : 0;
},
canvas_is_point_in_path_1: function(i, x, y, winding) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _winding = A.g(winding);
return _i.isPointInPath(_x, _y, _winding) ? 1 : 0;
},
canvas_is_point_in_path_2: function(i, path, x, y) {
let _i = A.g(i);
let _path = A.g(path);
let _x = x;
let _y = y;
return _i.isPointInPath(_path, _x, _y) ? 1 : 0;
},
canvas_is_point_in_path_3: function(i, path, x, y, winding) {
let _i = A.g(i);
let _path = A.g(path);
let _x = x;
let _y = y;
let _winding = A.g(winding);
return _i.isPointInPath(_path, _x, _y, _winding) ? 1 : 0;
},
canvas_is_point_in_stroke: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
return _i.isPointInStroke(_x, _y) ? 1 : 0;
},
canvas_is_point_in_stroke_1: function(i, path, x, y) {
let _i = A.g(i);
let _path = A.g(path);
let _x = x;
let _y = y;
return _i.isPointInStroke(_path, _x, _y) ? 1 : 0;
},
canvas_draw_focus_if_needed: function(i, element) {
let _i = A.g(i);
let _element = A.g(element);
_i.drawFocusIfNeeded(_element);
},
canvas_fill_text: function(i, text, x, y) {
let _i = A.g(i);
let _text = this.s(text);
let _x = x;
let _y = y;
_i.fillText(_text, _x, _y);
},
canvas_fill_text_1: function(i, text, x, y, maxWidth) {
let _i = A.g(i);
let _text = this.s(text);
let _x = x;
let _y = y;
let _maxWidth = maxWidth;
_i.fillText(_text, _x, _y, _maxWidth);
},
canvas_stroke_text: function(i, text, x, y) {
let _i = A.g(i);
let _text = this.s(text);
let _x = x;
let _y = y;
_i.strokeText(_text, _x, _y);
},
canvas_stroke_text_1: function(i, text, x, y, maxWidth) {
let _i = A.g(i);
let _text = this.s(text);
let _x = x;
let _y = y;
let _maxWidth = maxWidth;
_i.strokeText(_text, _x, _y, _maxWidth);
},
canvas_measure_text: function(i, text) {
let _i = A.g(i);
let _text = this.s(text);
return A.a(_i.measureText(_text));
},
canvas_draw_image: function(i, image, dx, dy) {
let _i = A.g(i);
let _image = A.g(image);
let _dx = dx;
let _dy = dy;
_i.drawImage(_image, _dx, _dy);
},
canvas_draw_image_1: function(i, image, dx, dy, dw, dh) {
let _i = A.g(i);
let _image = A.g(image);
let _dx = dx;
let _dy = dy;
let _dw = dw;
let _dh = dh;
_i.drawImage(_image, _dx, _dy, _dw, _dh);
},
canvas_draw_image_2: function(i, image, sx, sy, sw, sh, dx, dy, dw, dh) {
let _i = A.g(i);
let _image = A.g(image);
let _sx = sx;
let _sy = sy;
let _sw = sw;
let _sh = sh;
let _dx = dx;
let _dy = dy;
let _dw = dw;
let _dh = dh;
_i.drawImage(_image, _sx, _sy, _sw, _sh, _dx, _dy, _dw, _dh);
},
canvas_create_image_data: function(i, sw, sh) {
let _i = A.g(i);
let _sw = sw;
let _sh = sh;
return A.a(_i.createImageData(_sw, _sh));
},
canvas_create_image_data_1: function(i, imagedata) {
let _i = A.g(i);
let _imagedata = A.g(imagedata);
return A.a(_i.createImageData(_imagedata));
},
canvas_get_image_data: function(i, sx, sy, sw, sh) {
let _i = A.g(i);
let _sx = sx;
let _sy = sy;
let _sw = sw;
let _sh = sh;
return A.a(_i.getImageData(_sx, _sy, _sw, _sh));
},
canvas_put_image_data: function(i, imagedata, dx, dy) {
let _i = A.g(i);
let _imagedata = A.g(imagedata);
let _dx = dx;
let _dy = dy;
_i.putImageData(_imagedata, _dx, _dy);
},
canvas_put_image_data_1: function(
i,
imagedata,
dx,
dy,
dirtyX,
dirtyY,
dirtyWidth,
dirtyHeight
) {
let _i = A.g(i);
let _imagedata = A.g(imagedata);
let _dx = dx;
let _dy = dy;
let _dirtyX = dirtyX;
let _dirtyY = dirtyY;
let _dirtyWidth = dirtyWidth;
let _dirtyHeight = dirtyHeight;
_i.putImageData(
_imagedata,
_dx,
_dy,
_dirtyX,
_dirtyY,
_dirtyWidth,
_dirtyHeight
);
},
canvas_get_line_width: function(i) {
let _i = A.g(i);
return _i.lineWidth;
},
canvas_set_line_width: function(i, v) {
let _i = A.g(i);
_i.lineWidth = v;
},
canvas_get_line_cap: function(i) {
let _i = A.g(i);
return this.ms(_i.lineCap);
},
canvas_set_line_cap: function(i, v) {
let _i = A.g(i);
_i.lineCap = this.s(v);
},
canvas_get_line_join: function(i) {
let _i = A.g(i);
return this.ms(_i.lineJoin);
},
canvas_set_line_join: function(i, v) {
let _i = A.g(i);
_i.lineJoin = this.s(v);
},
canvas_get_miter_limit: function(i) {
let _i = A.g(i);
return _i.miterLimit;
},
canvas_set_miter_limit: function(i, v) {
let _i = A.g(i);
_i.miterLimit = v;
},
canvas_set_line_dash: function(i, segments) {
let _i = A.g(i);
let _segments = A.g(segments);
_i.setLineDash(_segments);
},
canvas_get_line_dash: function(i) {
let _i = A.g(i);
return A.a(_i.getLineDash());
},
canvas_get_line_dash_offset: function(i) {
let _i = A.g(i);
return _i.lineDashOffset;
},
canvas_set_line_dash_offset: function(i, v) {
let _i = A.g(i);
_i.lineDashOffset = v;
},
canvas_get_font: function(i) {
let _i = A.g(i);
return this.ms(_i.font);
},
canvas_set_font: function(i, v) {
let _i = A.g(i);
_i.font = this.s(v);
},
canvas_get_text_align: function(i) {
let _i = A.g(i);
return this.ms(_i.textAlign);
},
canvas_set_text_align: function(i, v) {
let _i = A.g(i);
_i.textAlign = this.s(v);
},
canvas_get_text_baseline: function(i) {
let _i = A.g(i);
return this.ms(_i.textBaseline);
},
canvas_set_text_baseline: function(i, v) {
let _i = A.g(i);
_i.textBaseline = this.s(v);
},
canvas_close_path: function(i) {
let _i = A.g(i);
_i.closePath();
},
canvas_move_to: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
_i.moveTo(_x, _y);
},
canvas_line_to: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
_i.lineTo(_x, _y);
},
canvas_quadratic_curve_to: function(i, cpx, cpy, x, y) {
let _i = A.g(i);
let _cpx = cpx;
let _cpy = cpy;
let _x = x;
let _y = y;
_i.quadraticCurveTo(_cpx, _cpy, _x, _y);
},
canvas_bezier_curve_to: function(i, cp1x, cp1y, cp2x, cp2y, x, y) {
let _i = A.g(i);
let _cp1x = cp1x;
let _cp1y = cp1y;
let _cp2x = cp2x;
let _cp2y = cp2y;
let _x = x;
let _y = y;
_i.bezierCurveTo(_cp1x, _cp1y, _cp2x, _cp2y, _x, _y);
},
canvas_arc_to: function(i, x1, y1, x2, y2, radius) {
let _i = A.g(i);
let _x1 = x1;
let _y1 = y1;
let _x2 = x2;
let _y2 = y2;
let _radius = radius;
_i.arcTo(_x1, _y1, _x2, _y2, _radius);
},
canvas_rect: function(i, x, y, w, h) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _w = w;
let _h = h;
_i.rect(_x, _y, _w, _h);
},
canvas_arc: function(i, x, y, radius, startAngle, endAngle) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _radius = radius;
let _startAngle = startAngle;
let _endAngle = endAngle;
_i.arc(_x, _y, _radius, _startAngle, _endAngle);
},
canvas_arc_1: function(
i,
x,
y,
radius,
startAngle,
endAngle,
anticlockwise
) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _radius = radius;
let _startAngle = startAngle;
let _endAngle = endAngle;
let _anticlockwise = 0 != anticlockwise;
_i.arc(_x, _y, _radius, _startAngle, _endAngle, _anticlockwise);
},
canvas_ellipse: function(
i,
x,
y,
radiusX,
radiusY,
rotation,
startAngle,
endAngle,
anticlockwise
) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _radiusX = radiusX;
let _radiusY = radiusY;
let _rotation = rotation;
let _startAngle = startAngle;
let _endAngle = endAngle;
let _anticlockwise = 0 != anticlockwise;
_i.ellipse(
_x,
_y,
_radiusX,
_radiusY,
_rotation,
_startAngle,
_endAngle,
_anticlockwise
);
},
canvas_add_hit_region: function(i, options) {
let _i = A.g(i);
let _options = A.g(options);
_i.addHitRegion(_options);
},
canvas_remove_hit_region: function(i, id) {
let _i = A.g(i);
let _id = this.s(id);
_i.removeHitRegion(_id);
},
canvas_clear_hit_regions: function(i) {
let _i = A.g(i);
_i.clearHitRegions();
},
canvasgradient_add_color_stop: function(i, offset, color) {
let _i = A.g(i);
let _offset = offset;
let _color = this.s(color);
_i.addColorStop(_offset, _color);
},
canvaspattern_set_transform: function(i, matrix) {
let _i = A.g(i);
let _matrix = A.g(matrix);
_i.setTransform(_matrix);
},
textmetrics_get_width: function(i) {
let _i = A.g(i);
return _i.width;
},
textmetrics_set_width: function(i, v) {
let _i = A.g(i);
_i.width = v;
},
path2d_add_path: function(i, path) {
let _i = A.g(i);
let _path = A.g(path);
_i.addPath(_path);
},
path2d_add_path_1: function(i, path, transformation) {
let _i = A.g(i);
let _path = A.g(path);
let _transformation = A.g(transformation);
_i.addPath(_path, _transformation);
},
path2d_close_path: function(i) {
let _i = A.g(i);
_i.closePath();
},
path2d_move_to: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
_i.moveTo(_x, _y);
},
path2d_line_to: function(i, x, y) {
let _i = A.g(i);
let _x = x;
let _y = y;
_i.lineTo(_x, _y);
},
path2d_quadratic_curve_to: function(i, cpx, cpy, x, y) {
let _i = A.g(i);
let _cpx = cpx;
let _cpy = cpy;
let _x = x;
let _y = y;
_i.quadraticCurveTo(_cpx, _cpy, _x, _y);
},
path2d_bezier_curve_to: function(i, cp1x, cp1y, cp2x, cp2y, x, y) {
let _i = A.g(i);
let _cp1x = cp1x;
let _cp1y = cp1y;
let _cp2x = cp2x;
let _cp2y = cp2y;
let _x = x;
let _y = y;
_i.bezierCurveTo(_cp1x, _cp1y, _cp2x, _cp2y, _x, _y);
},
path2d_arc_to: function(i, x1, y1, x2, y2, radius) {
let _i = A.g(i);
let _x1 = x1;
let _y1 = y1;
let _x2 = x2;
let _y2 = y2;
let _radius = radius;
_i.arcTo(_x1, _y1, _x2, _y2, _radius);
},
path2d_rect: function(i, x, y, w, h) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _w = w;
let _h = h;
_i.rect(_x, _y, _w, _h);
},
path2d_arc: function(i, x, y, radius, startAngle, endAngle) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _radius = radius;
let _startAngle = startAngle;
let _endAngle = endAngle;
_i.arc(_x, _y, _radius, _startAngle, _endAngle);
},
path2d_arc_1: function(
i,
x,
y,
radius,
startAngle,
endAngle,
anticlockwise
) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _radius = radius;
let _startAngle = startAngle;
let _endAngle = endAngle;
let _anticlockwise = 0 != anticlockwise;
_i.arc(_x, _y, _radius, _startAngle, _endAngle, _anticlockwise);
},
path2d_ellipse: function(
i,
x,
y,
radiusX,
radiusY,
rotation,
startAngle,
endAngle,
anticlockwise
) {
let _i = A.g(i);
let _x = x;
let _y = y;
let _radiusX = radiusX;
let _radiusY = radiusY;
let _rotation = rotation;
let _startAngle = startAngle;
let _endAngle = endAngle;
let _anticlockwise = 0 != anticlockwise;
_i.ellipse(
_x,
_y,
_radiusX,
_radiusY,
_rotation,
_startAngle,
_endAngle,
_anticlockwise
);
},
console_assert: function(condition, message) {
let _condition = 0 != condition;
let _message = this.s(message);
console.assert(_condition, _message);
},
console_clear: function() {
console.clear();
},
console_count: function(label) {
let _label = this.s(label);
console.count(_label);
},
console_count_reset: function(label) {
let _label = this.s(label);
console.countReset(_label);
},
console_debug: function(message) {
let _message = this.s(message);
console.debug(_message);
},
console_error: function(message) {
let _message = this.s(message);
console.error(_message);
},
console_info: function(message) {
let _message = this.s(message);
console.info(_message);
},
console_log: function(message) {
let _message = this.s(message);
console.log(_message);
},
console_table: function(message) {
let _message = this.s(message);
console.table(_message);
},
console_trace: function(message) {
let _message = this.s(message);
console.trace(_message);
},
console_warn: function(message) {
let _message = this.s(message);
console.warn(_message);
},
console_dir: function(message) {
let _message = this.s(message);
console.dir(_message);
},
console_dirxml: function(message) {
let _message = this.s(message);
console.dirxml(_message);
},
console_group: function(message) {
let _message = this.s(message);
console.group(_message);
},
console_group_collapsed: function(message) {
let _message = this.s(message);
console.groupCollapsed(_message);
},
console_group_end: function() {
console.groupEnd();
},
console_time: function(label) {
let _label = this.s(label);
console.time(_label);
},
console_time_log: function(label, message) {
let _label = this.s(label);
let _message = this.s(message);
console.timeLog(_label, _message);
},
console_time_end: function(label) {
let _label = this.s(label);
console.timeEnd(_label);
},
console_exception: function(message) {
let _message = this.s(message);
console.exception(_message);
},
console_time_stamp: function(message) {
let _message = this.s(message);
console.timeStamp(_message);
},
console_profile: function(message) {
let _message = this.s(message);
console.profile(_message);
},
console_profile_end: function(message) {
let _message = this.s(message);
console.profileEnd(_message);
},
consoleinstance_assert: function(i, condition, message) {
let _i = A.g(i);
let _condition = 0 != condition;
let _message = this.s(message);
_i.assert(_condition, _message);
},
consoleinstance_clear: function(i) {
let _i = A.g(i);
_i.clear();
},
consoleinstance_count: function(i, label) {
let _i = A.g(i);
let _label = this.s(label);
_i.count(_label);
},
consoleinstance_count_reset: function(i, label) {
let _i = A.g(i);
let _label = this.s(label);
_i.countReset(_label);
},
consoleinstance_debug: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.debug(_message);
},
consoleinstance_error: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.error(_message);
},
consoleinstance_info: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.info(_message);
},
consoleinstance_log: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.log(_message);
},
consoleinstance_table: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.table(_message);
},
consoleinstance_trace: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.trace(_message);
},
consoleinstance_warn: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.warn(_message);
},
consoleinstance_dir: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.dir(_message);
},
consoleinstance_dirxml: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.dirxml(_message);
},
consoleinstance_group: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.group(_message);
},
consoleinstance_group_collapsed: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.groupCollapsed(_message);
},
consoleinstance_group_end: function(i) {
let _i = A.g(i);
_i.groupEnd();
},
consoleinstance_time: function(i, label) {
let _i = A.g(i);
let _label = this.s(label);
_i.time(_label);
},
consoleinstance_time_log: function(i, label, message) {
let _i = A.g(i);
let _label = this.s(label);
let _message = this.s(message);
_i.timeLog(_label, _message);
},
consoleinstance_time_end: function(i, label) {
let _i = A.g(i);
let _label = this.s(label);
_i.timeEnd(_label);
},
consoleinstance_exception: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.exception(_message);
},
consoleinstance_time_stamp: function(i, data) {
let _i = A.g(i);
let _data = A.g(data);
_i.timeStamp(_data);
},
consoleinstance_profile: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.profile(_message);
},
consoleinstance_profile_end: function(i, message) {
let _i = A.g(i);
let _message = this.s(message);
_i.profileEnd(_message);
},
consoleinstance_report_for_service_worker_scope: function(
i,
scope,
message,
filename,
lineNumber,
columnNumber,
level
) {
let _i = A.g(i);
let _scope = this.s(scope);
let _message = this.s(message);
let _filename = this.s(filename);
let _lineNumber = lineNumber;
let _columnNumber = columnNumber;
let _level = A.g(level);
_i.reportForServiceWorkerScope(
_scope,
_message,
_filename,
_lineNumber,
_columnNumber,
_level
);
},
document_get_implementation: function(i) {
let _i = A.g(i);
return A.a(_i.implementation);
},
document_set_implementation: function(i, v) {
let _i = A.g(i);
_i.implementation = A.g(v);
},
document_get_url: function(i) {
let _i = A.g(i);
return this.ms(_i.URL);
},
document_set_url: function(i, v) {
let _i = A.g(i);
_i.URL = this.s(v);
},
document_get_document_uri: function(i) {
let _i = A.g(i);
return this.ms(_i.documentURI);
},
document_set_document_uri: function(i, v) {
let _i = A.g(i);
_i.documentURI = this.s(v);
},
document_get_compat_mode: function(i) {
let _i = A.g(i);
return this.ms(_i.compatMode);
},
document_set_compat_mode: function(i, v) {
let _i = A.g(i);
_i.compatMode = this.s(v);
},
document_get_character_set: function(i) {
let _i = A.g(i);
return this.ms(_i.characterSet);
},
document_set_character_set: function(i, v) {
let _i = A.g(i);
_i.characterSet = this.s(v);
},
document_get_charset: function(i) {
let _i = A.g(i);
return this.ms(_i.charset);
},
document_set_charset: function(i, v) {
let _i = A.g(i);
_i.charset = this.s(v);
},
document_get_input_encoding: function(i) {
let _i = A.g(i);
return this.ms(_i.inputEncoding);
},
document_set_input_encoding: function(i, v) {
let _i = A.g(i);
_i.inputEncoding = this.s(v);
},
document_get_content_type: function(i) {
let _i = A.g(i);
return this.ms(_i.contentType);
},
document_set_content_type: function(i, v) {
let _i = A.g(i);
_i.contentType = this.s(v);
},
document_get_doctype: function(i) {
let _i = A.g(i);
return A.a(_i.doctype);
},
document_set_doctype: function(i, v) {
let _i = A.g(i);
_i.doctype = A.g(v);
},
document_get_document_element: function(i) {
let _i = A.g(i);
return A.a(_i.documentElement);
},
document_set_document_element: function(i, v) {
let _i = A.g(i);
_i.documentElement = A.g(v);
},
document_get_elements_by_tag_name: function(i, localName) {
let _i = A.g(i);
let _localName = this.s(localName);
return A.a(_i.getElementsByTagName(_localName));
},
document_get_elements_by_tag_name_n_s: function(i, namespace, localName) {
let _i = A.g(i);
let _namespace = this.s(namespace);
let _localName = this.s(localName);
return A.a(_i.getElementsByTagNameNS(_namespace, _localName));
},
document_get_elements_by_class_name: function(i, classNames) {
let _i = A.g(i);
let _classNames = this.s(classNames);
return A.a(_i.getElementsByClassName(_classNames));
},
document_get_element_by_id: function(i, elementId) {
let _i = A.g(i);
let _elementId = this.s(elementId);
return A.a(_i.getElementById(_elementId));
},
document_create_element: function(i, localName) {
let _i = A.g(i);
let _localName = this.s(localName);
return A.a(_i.createElement(_localName));
},
document_create_element_1: function(i, localName, options) {
let _i = A.g(i);
let _localName = this.s(localName);
let _options = A.g(options);
return A.a(_i.createElement(_localName, _options));
},
document_create_element_n_s: function(
i,
namespace,
qualifiedName,
options
) {
let _i = A.g(i);
let _namespace = this.s(namespace);
let _qualifiedName = this.s(qualifiedName);
let _options = A.g(options);
return A.a(_i.createElementNS(_namespace, _qualifiedName, _options));
},
document_create_document_fragment: function(i) {
let _i = A.g(i);
return A.a(_i.createDocumentFragment());
},
document_create_text_node: function(i, data) {
let _i = A.g(i);
let _data = this.s(data);
return A.a(_i.createTextNode(_data));
},
document_create_comment: function(i, data) {
let _i = A.g(i);
let _data = this.s(data);
return A.a(_i.createComment(_data));
},
document_create_processing_instruction: function(i, target, data) {
let _i = A.g(i);
let _target = this.s(target);
let _data = this.s(data);
return A.a(_i.createProcessingInstruction(_target, _data));
},
document_import_node: function(i, node, deep) {
let _i = A.g(i);
let _node = A.g(node);
let _deep = 0 != deep;
return A.a(_i.importNode(_node, _deep));
},
document_adopt_node: function(i, node) {
let _i = A.g(i);
let _node = A.g(node);
return A.a(_i.adoptNode(_node));
},
document_create_event: function(i, name) {
let _i = A.g(i);
let _name = this.s(name);
return A.a(_i.createEvent(_name));
},
document_create_range: function(i) {
let _i = A.g(i);
return A.a(_i.createRange());
},
document_create_node_iterator: function(i, root, whatToShow, filter) {
let _i = A.g(i);
let _root = A.g(root);
let _whatToShow = whatToShow;
let _filter = A.g(filter);
return A.a(_i.createNodeIterator(_root, _whatToShow, _filter));
},
document_create_tree_walker: function(i, root, whatToShow, filter) {
let _i = A.g(i);
let _root = A.g(root);
let _whatToShow = whatToShow;
let _filter = A.g(filter);
return A.a(_i.createTreeWalker(_root, _whatToShow, _filter));
},
document_create_c_d_a_t_a_section: function(i, data) {
let _i = A.g(i);
let _data = this.s(data);
return A.a(_i.createCDATASection(_data));
},
document_create_attribute: function(i, name) {
let _i = A.g(i);
let _name = this.s(name);
return A.a(_i.createAttribute(_name));
},
document_create_attribute_n_s: function(i, namespace, name) {
let _i = A.g(i);
let _namespace = this.s(namespace);
let _name = this.s(name);
return A.a(_i.createAttributeNS(_namespace, _name));
},
document_get_location: function(i) {
let _i = A.g(i);
return A.a(_i.location);
},
document_set_location: function(i, v) {
let _i = A.g(i);
_i.location = A.g(v);
},
document_get_referrer: function(i) {
let _i = A.g(i);
return this.ms(_i.referrer);
},
document_set_referrer: function(i, v) {
let _i = A.g(i);
_i.referrer = this.s(v);
},
document_get_last_modified: function(i) {
let _i = A.g(i);
return this.ms(_i.lastModified);
},
document_set_last_modified: function(i, v) {
let _i = A.g(i);
_i.lastModified = this.s(v);
},
document_get_ready_state: function(i) {
let _i = A.g(i);
return this.ms(_i.readyState);
},
document_set_ready_state: function(i, v) {
let _i = A.g(i);
_i.readyState = this.s(v);
},
document_get_title: function(i) {
let _i = A.g(i);
return this.ms(_i.title);
},
document_set_title: function(i, v) {
let _i = A.g(i);
_i.title = this.s(v);
},
document_get_dir: function(i) {
let _i = A.g(i);
return this.ms(_i.dir);
},
document_set_dir: function(i, v) {
let _i = A.g(i);
_i.dir = this.s(v);
},
document_get_body: function(i) {
let _i = A.g(i);
return A.a(_i.body);
},
document_set_body: function(i, v) {
let _i = A.g(i);
_i.body = A.g(v);
},
document_get_head: function(i) {
let _i = A.g(i);
return A.a(_i.head);
},
document_set_head: function(i, v) {
let _i = A.g(i);
_i.head = A.g(v);
},
document_get_images: function(i) {
let _i = A.g(i);
return A.a(_i.images);
},
document_set_images: function(i, v) {
let _i = A.g(i);
_i.images = A.g(v);
},
document_get_embeds: function(i) {
let _i = A.g(i);
return A.a(_i.embeds);
},
document_set_embeds: function(i, v) {
let _i = A.g(i);
_i.embeds = A.g(v);
},
document_get_plugins: function(i) {
let _i = A.g(i);
return A.a(_i.plugins);
},
document_set_plugins: function(i, v) {
let _i = A.g(i);
_i.plugins = A.g(v);
},
document_get_links: function(i) {
let _i = A.g(i);
return A.a(_i.links);
},
document_set_links: function(i, v) {
let _i = A.g(i);
_i.links = A.g(v);
},
document_get_forms: function(i) {
let _i = A.g(i);
return A.a(_i.forms);
},
document_set_forms: function(i, v) {
let _i = A.g(i);
_i.forms = A.g(v);
},
document_get_scripts: function(i) {
let _i = A.g(i);
return A.a(_i.scripts);
},
document_set_scripts: function(i, v) {
let _i = A.g(i);
_i.scripts = A.g(v);
},
document_get_elements_by_name: function(i, elementName) {
let _i = A.g(i);
let _elementName = this.s(elementName);
return A.a(_i.getElementsByName(_elementName));
},
document_get_default_view: function(i) {
let _i = A.g(i);
return A.a(_i.defaultView);
},
document_set_default_view: function(i, v) {
let _i = A.g(i);
_i.defaultView = A.g(v);
},
document_has_focus: function(i) {
let _i = A.g(i);
return _i.hasFocus() ? 1 : 0;
},
document_get_onreadystatechange: function(i) {
let _i = A.g(i);
return A.a(_i.onreadystatechange);
},
document_set_onreadystatechange: function(i, v) {
let _i = A.g(i);
_i.onreadystatechange = A.g(v);
},
document_get_onbeforescriptexecute: function(i) {
let _i = A.g(i);
return A.a(_i.onbeforescriptexecute);
},
document_set_onbeforescriptexecute: function(i, v) {
let _i = A.g(i);
_i.onbeforescriptexecute = A.g(v);
},
document_get_onafterscriptexecute: function(i) {
let _i = A.g(i);
return A.a(_i.onafterscriptexecute);
},
document_set_onafterscriptexecute: function(i, v) {
let _i = A.g(i);
_i.onafterscriptexecute = A.g(v);
},
document_get_onselectionchange: function(i) {
let _i = A.g(i);
return A.a(_i.onselectionchange);
},
document_set_onselectionchange: function(i, v) {
let _i = A.g(i);
_i.onselectionchange = A.g(v);
},
document_