You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

551 lines
16 KiB

(function() {
var wasm;
const __exports = {};
let cachedTextEncoder = new TextEncoder('utf-8');
let cachegetUint8Memory = null;
function getUint8Memory() {
if (cachegetUint8Memory === null || cachegetUint8Memory.buffer !== wasm.memory.buffer) {
cachegetUint8Memory = new Uint8Array(wasm.memory.buffer);
}
return cachegetUint8Memory;
}
let WASM_VECTOR_LEN = 0;
function passStringToWasm(arg) {
const buf = cachedTextEncoder.encode(arg);
const ptr = wasm.__wbindgen_malloc(buf.length);
getUint8Memory().set(buf, ptr);
WASM_VECTOR_LEN = buf.length;
return ptr;
}
/**
* @param {string} arg0
* @param {number} arg1
* @returns {State}
*/
__exports.new_webgl_gui = function(arg0, arg1) {
const ptr0 = passStringToWasm(arg0);
const len0 = WASM_VECTOR_LEN;
try {
return State.__wrap(wasm.new_webgl_gui(ptr0, len0, arg1));
} finally {
wasm.__wbindgen_free(ptr0, len0 * 1);
}
};
/**
* @param {State} arg0
* @param {string} arg1
* @returns {void}
*/
__exports.run_gui = function(arg0, arg1) {
const ptr1 = passStringToWasm(arg1);
const len1 = WASM_VECTOR_LEN;
try {
return wasm.run_gui(arg0.ptr, ptr1, len1);
} finally {
wasm.__wbindgen_free(ptr1, len1 * 1);
}
};
const heap = new Array(32);
heap.fill(undefined);
heap.push(undefined, null, true, false);
function getObject(idx) { return heap[idx]; }
let cachedTextDecoder = new TextDecoder('utf-8');
function getStringFromWasm(ptr, len) {
return cachedTextDecoder.decode(getUint8Memory().subarray(ptr, ptr + len));
}
let heap_next = heap.length;
function addHeapObject(obj) {
if (heap_next === heap.length) heap.push(heap.length + 1);
const idx = heap_next;
heap_next = heap[idx];
heap[idx] = obj;
return idx;
}
function isLikeNone(x) {
return x === undefined || x === null;
}
__exports.__widl_f_get_element_by_id_Document = function(arg0, arg1, arg2) {
let varg1 = getStringFromWasm(arg1, arg2);
const val = getObject(arg0).getElementById(varg1);
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__widl_instanceof_HTMLCanvasElement = function(idx) {
return getObject(idx) instanceof HTMLCanvasElement ? 1 : 0;
};
let cachegetUint32Memory = null;
function getUint32Memory() {
if (cachegetUint32Memory === null || cachegetUint32Memory.buffer !== wasm.memory.buffer) {
cachegetUint32Memory = new Uint32Array(wasm.memory.buffer);
}
return cachegetUint32Memory;
}
__exports.__widl_f_get_context_HTMLCanvasElement = function(arg0, arg1, arg2, exnptr) {
let varg1 = getStringFromWasm(arg1, arg2);
try {
const val = getObject(arg0).getContext(varg1);
return isLikeNone(val) ? 0 : addHeapObject(val);
} catch (e) {
const view = getUint32Memory();
view[exnptr / 4] = 1;
view[exnptr / 4 + 1] = addHeapObject(e);
}
};
__exports.__widl_f_width_HTMLCanvasElement = function(arg0) {
return getObject(arg0).width;
};
__exports.__widl_f_height_HTMLCanvasElement = function(arg0) {
return getObject(arg0).height;
};
__exports.__widl_f_now_Performance = function(arg0) {
return getObject(arg0).now();
};
__exports.__widl_instanceof_WebGLRenderingContext = function(idx) {
return getObject(idx) instanceof WebGLRenderingContext ? 1 : 0;
};
__exports.__widl_f_buffer_data_with_array_buffer_view_WebGLRenderingContext = function(arg0, arg1, arg2, arg3) {
getObject(arg0).bufferData(arg1, getObject(arg2), arg3);
};
function getArrayU8FromWasm(ptr, len) {
return getUint8Memory().subarray(ptr / 1, ptr / 1 + len);
}
__exports.__widl_f_tex_image_2d_with_i32_and_i32_and_i32_and_format_and_type_and_opt_u8_array_WebGLRenderingContext = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, exnptr) {
let varg9 = arg9 == 0 ? undefined : getArrayU8FromWasm(arg9, arg10);
try {
getObject(arg0).texImage2D(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, varg9);
} catch (e) {
const view = getUint32Memory();
view[exnptr / 4] = 1;
view[exnptr / 4 + 1] = addHeapObject(e);
}
};
__exports.__widl_f_active_texture_WebGLRenderingContext = function(arg0, arg1) {
getObject(arg0).activeTexture(arg1);
};
__exports.__widl_f_attach_shader_WebGLRenderingContext = function(arg0, arg1, arg2) {
getObject(arg0).attachShader(getObject(arg1), getObject(arg2));
};
__exports.__widl_f_bind_buffer_WebGLRenderingContext = function(arg0, arg1, arg2) {
getObject(arg0).bindBuffer(arg1, getObject(arg2));
};
__exports.__widl_f_bind_texture_WebGLRenderingContext = function(arg0, arg1, arg2) {
getObject(arg0).bindTexture(arg1, getObject(arg2));
};
__exports.__widl_f_blend_func_WebGLRenderingContext = function(arg0, arg1, arg2) {
getObject(arg0).blendFunc(arg1, arg2);
};
__exports.__widl_f_clear_WebGLRenderingContext = function(arg0, arg1) {
getObject(arg0).clear(arg1);
};
__exports.__widl_f_clear_color_WebGLRenderingContext = function(arg0, arg1, arg2, arg3, arg4) {
getObject(arg0).clearColor(arg1, arg2, arg3, arg4);
};
__exports.__widl_f_compile_shader_WebGLRenderingContext = function(arg0, arg1) {
getObject(arg0).compileShader(getObject(arg1));
};
__exports.__widl_f_create_buffer_WebGLRenderingContext = function(arg0) {
const val = getObject(arg0).createBuffer();
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__widl_f_create_program_WebGLRenderingContext = function(arg0) {
const val = getObject(arg0).createProgram();
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__widl_f_create_shader_WebGLRenderingContext = function(arg0, arg1) {
const val = getObject(arg0).createShader(arg1);
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__widl_f_create_texture_WebGLRenderingContext = function(arg0) {
const val = getObject(arg0).createTexture();
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__widl_f_draw_elements_with_i32_WebGLRenderingContext = function(arg0, arg1, arg2, arg3, arg4) {
getObject(arg0).drawElements(arg1, arg2, arg3, arg4);
};
__exports.__widl_f_enable_WebGLRenderingContext = function(arg0, arg1) {
getObject(arg0).enable(arg1);
};
__exports.__widl_f_enable_vertex_attrib_array_WebGLRenderingContext = function(arg0, arg1) {
getObject(arg0).enableVertexAttribArray(arg1);
};
__exports.__widl_f_get_attrib_location_WebGLRenderingContext = function(arg0, arg1, arg2, arg3) {
let varg2 = getStringFromWasm(arg2, arg3);
return getObject(arg0).getAttribLocation(getObject(arg1), varg2);
};
__exports.__widl_f_get_program_info_log_WebGLRenderingContext = function(ret, arg0, arg1) {
const val = getObject(arg0).getProgramInfoLog(getObject(arg1));
const retptr = isLikeNone(val) ? [0, 0] : passStringToWasm(val);
const retlen = WASM_VECTOR_LEN;
const mem = getUint32Memory();
mem[ret / 4] = retptr;
mem[ret / 4 + 1] = retlen;
};
__exports.__widl_f_get_program_parameter_WebGLRenderingContext = function(arg0, arg1, arg2) {
return addHeapObject(getObject(arg0).getProgramParameter(getObject(arg1), arg2));
};
__exports.__widl_f_get_shader_info_log_WebGLRenderingContext = function(ret, arg0, arg1) {
const val = getObject(arg0).getShaderInfoLog(getObject(arg1));
const retptr = isLikeNone(val) ? [0, 0] : passStringToWasm(val);
const retlen = WASM_VECTOR_LEN;
const mem = getUint32Memory();
mem[ret / 4] = retptr;
mem[ret / 4 + 1] = retlen;
};
__exports.__widl_f_get_shader_parameter_WebGLRenderingContext = function(arg0, arg1, arg2) {
return addHeapObject(getObject(arg0).getShaderParameter(getObject(arg1), arg2));
};
__exports.__widl_f_get_uniform_location_WebGLRenderingContext = function(arg0, arg1, arg2, arg3) {
let varg2 = getStringFromWasm(arg2, arg3);
const val = getObject(arg0).getUniformLocation(getObject(arg1), varg2);
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__widl_f_link_program_WebGLRenderingContext = function(arg0, arg1) {
getObject(arg0).linkProgram(getObject(arg1));
};
__exports.__widl_f_shader_source_WebGLRenderingContext = function(arg0, arg1, arg2, arg3) {
let varg2 = getStringFromWasm(arg2, arg3);
getObject(arg0).shaderSource(getObject(arg1), varg2);
};
__exports.__widl_f_tex_parameteri_WebGLRenderingContext = function(arg0, arg1, arg2, arg3) {
getObject(arg0).texParameteri(arg1, arg2, arg3);
};
__exports.__widl_f_uniform1i_WebGLRenderingContext = function(arg0, arg1, arg2) {
getObject(arg0).uniform1i(getObject(arg1), arg2);
};
__exports.__widl_f_uniform2f_WebGLRenderingContext = function(arg0, arg1, arg2, arg3) {
getObject(arg0).uniform2f(getObject(arg1), arg2, arg3);
};
__exports.__widl_f_use_program_WebGLRenderingContext = function(arg0, arg1) {
getObject(arg0).useProgram(getObject(arg1));
};
__exports.__widl_f_vertex_attrib_pointer_with_i32_WebGLRenderingContext = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
getObject(arg0).vertexAttribPointer(arg1, arg2, arg3, arg4 !== 0, arg5, arg6);
};
__exports.__widl_f_viewport_WebGLRenderingContext = function(arg0, arg1, arg2, arg3, arg4) {
getObject(arg0).viewport(arg1, arg2, arg3, arg4);
};
__exports.__widl_f_drawing_buffer_width_WebGLRenderingContext = function(arg0) {
return getObject(arg0).drawingBufferWidth;
};
__exports.__widl_f_drawing_buffer_height_WebGLRenderingContext = function(arg0) {
return getObject(arg0).drawingBufferHeight;
};
__exports.__widl_instanceof_Window = function(idx) {
return getObject(idx) instanceof Window ? 1 : 0;
};
__exports.__widl_f_document_Window = function(arg0) {
const val = getObject(arg0).document;
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__widl_f_performance_Window = function(arg0) {
const val = getObject(arg0).performance;
return isLikeNone(val) ? 0 : addHeapObject(val);
};
__exports.__wbg_new_f49b071a6847bcff = function(arg0) {
return addHeapObject(new Float32Array(getObject(arg0)));
};
__exports.__wbg_subarray_f8934b42fec7ca7c = function(arg0, arg1, arg2) {
return addHeapObject(getObject(arg0).subarray(arg1, arg2));
};
__exports.__wbg_newnoargs_43c5f57b77232284 = function(arg0, arg1) {
let varg0 = getStringFromWasm(arg0, arg1);
return addHeapObject(new Function(varg0));
};
__exports.__wbg_call_7ac13208e630ddeb = function(arg0, arg1, exnptr) {
try {
return addHeapObject(getObject(arg0).call(getObject(arg1)));
} catch (e) {
const view = getUint32Memory();
view[exnptr / 4] = 1;
view[exnptr / 4 + 1] = addHeapObject(e);
}
};
__exports.__wbg_new_efed94c530925533 = function(arg0) {
return addHeapObject(new Int16Array(getObject(arg0)));
};
__exports.__wbg_subarray_b6e319a511351c70 = function(arg0, arg1, arg2) {
return addHeapObject(getObject(arg0).subarray(arg1, arg2));
};
__exports.__wbg_new_a999fd72f5304154 = function(arg0) {
return addHeapObject(new Uint8Array(getObject(arg0)));
};
__exports.__wbg_subarray_1cd21da1682e7d1e = function(arg0, arg1, arg2) {
return addHeapObject(getObject(arg0).subarray(arg1, arg2));
};
__exports.__wbg_new_12076896685e5e56 = function(arg0) {
return addHeapObject(new Uint16Array(getObject(arg0)));
};
__exports.__wbg_subarray_a860cdd7b04efc31 = function(arg0, arg1, arg2) {
return addHeapObject(getObject(arg0).subarray(arg1, arg2));
};
__exports.__wbg_instanceof_Memory_ed5a1f7b9a0e05a3 = function(idx) {
return getObject(idx) instanceof WebAssembly.Memory ? 1 : 0;
};
__exports.__wbg_buffer_efdca35786c3eb75 = function(arg0) {
return addHeapObject(getObject(arg0).buffer);
};
__exports.__wbindgen_object_clone_ref = function(idx) {
return addHeapObject(getObject(idx));
};
function dropObject(idx) {
if (idx < 36) return;
heap[idx] = heap_next;
heap_next = idx;
}
__exports.__wbindgen_object_drop_ref = function(i) { dropObject(i); };
__exports.__wbindgen_string_new = function(p, l) {
return addHeapObject(getStringFromWasm(p, l));
};
__exports.__wbindgen_boolean_get = function(i) {
let v = getObject(i);
if (typeof(v) === 'boolean') {
return v ? 1 : 0;
} else {
return 2;
}
};
__exports.__wbindgen_debug_string = function(i, len_ptr) {
const toString = Object.prototype.toString;
const debug_str = val => {
// primitive types
const type = typeof val;
if (type == 'number' || type == 'boolean' || val == null) {
return `${val}`;
}
if (type == 'string') {
return `"${val}"`;
}
if (type == 'symbol') {
const description = val.description;
if (description == null) {
return 'Symbol';
} else {
return `Symbol(${description})`;
}
}
if (type == 'function') {
const name = val.name;
if (typeof name == 'string' && name.length > 0) {
return `Function(${name})`;
} else {
return 'Function';
}
}
// objects
if (Array.isArray(val)) {
const length = val.length;
let debug = '[';
if (length > 0) {
debug += debug_str(val[0]);
}
for(let i = 1; i < length; i++) {
debug += ', ' + debug_str(val[i]);
}
debug += ']';
return debug;
}
// Test for built-in
const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
let className;
if (builtInMatches.length > 1) {
className = builtInMatches[1];
} else {
// Failed to match the standard '[object ClassName]'
return toString.call(val);
}
if (className == 'Object') {
// we're a user defined class or Object
// JSON.stringify avoids problems with cycles, and is generally much
// easier than looping through ownProperties of `val`.
try {
return 'Object(' + JSON.stringify(val) + ')';
} catch (_) {
return 'Object';
}
}
// errors
if (val instanceof Error) {
return `${val.name}: ${val.message}
${val.stack}`;
}
// TODO we could test for more things here, like `Set`s and `Map`s.
return className;
};
const val = getObject(i);
const debug = debug_str(val);
const ptr = passStringToWasm(debug);
getUint32Memory()[len_ptr / 4] = WASM_VECTOR_LEN;
return ptr;
};
__exports.__wbindgen_memory = function() { return addHeapObject(wasm.memory); };
function takeObject(idx) {
const ret = getObject(idx);
dropObject(idx);
return ret;
}
__exports.__wbindgen_rethrow = function(idx) { throw takeObject(idx); };
function freeState(ptr) {
wasm.__wbg_state_free(ptr);
}
/**
*/
class State {
static __wrap(ptr) {
const obj = Object.create(State.prototype);
obj.ptr = ptr;
return obj;
}
free() {
const ptr = this.ptr;
this.ptr = 0;
freeState(ptr);
}
}
__exports.State = State;
__exports.__wbindgen_throw = function(ptr, len) {
throw new Error(getStringFromWasm(ptr, len));
};
function init(path_or_module) {
let instantiation;
const imports = { './example': __exports };
if (path_or_module instanceof WebAssembly.Module) {
instantiation = WebAssembly.instantiate(path_or_module, imports)
.then(instance => {
return { instance, module: path_or_module }
});
} else {
const data = fetch(path_or_module);
if (typeof WebAssembly.instantiateStreaming === 'function') {
instantiation = WebAssembly.instantiateStreaming(data, imports);
} else {
instantiation = data
.then(response => response.arrayBuffer())
.then(buffer => WebAssembly.instantiate(buffer, imports));
}
}
return instantiation.then(({instance}) => {
wasm = init.wasm = instance.exports;
});
};
self.wasm_bindgen = Object.assign(init, __exports);
})();