mirror of https://github.com/emilk/egui.git
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
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);
|
|
})();
|
|
|