Update to egui/eframe 0.16.0

This commit is contained in:
Emil Ernerfeldt 2021-12-29 12:28:52 +01:00
parent 71211e0110
commit 797a3f5afa
7 changed files with 459 additions and 623 deletions

523
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,9 @@
[package]
name = "eframe_template"
version = "0.1.0"
authors = ["Emil Ernerfeldt <emilernerfeldt@gmail.com>"]
edition = "2018"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
edition = "2021"
rust-version = "1.56"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -10,7 +11,7 @@ edition = "2018"
crate-type = ["cdylib", "rlib"]
[dependencies]
eframe = "0.15.0" # Gives us egui, epi and web+native backends
eframe = "0.16.0" # Gives us egui, epi and web+native backends
serde = { version = "1", features = ["derive"], optional = true }

View file

@ -25,11 +25,13 @@ The official egui docs are at <https://docs.rs/egui>. If you prefer watching a v
On Linux you need to first run:
`sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev jq`
`sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev`
On Fedora Rawhide you need to run:
`dnf install clang clang-devel clang-tools-extra speech-dispatcher-devel libxkbcommon-devel pkg-config openssl-devel jq`
`dnf install clang clang-devel clang-tools-extra speech-dispatcher-devel libxkbcommon-devel pkg-config openssl-devel`
For running the `build_web.sh` script you also need to install `jq` and `binaryena` with your packet manager of choice.
### Compiling for the web

View file

@ -1,5 +1,32 @@
#!/bin/bash
set -eu
script_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd "$script_path"
OPEN=false
FAST=false
while test $# -gt 0; do
case "$1" in
-h|--help)
echo "build_web.sh [--fast] [--open]"
echo " --fast: skip optimization step"
echo " --open: open the result in a browser"
exit 0
;;
--fast)
shift
FAST=true
;;
--open)
shift
OPEN=true
;;
*)
break
;;
esac
done
# ./setup_web.sh # <- call this first!
@ -17,7 +44,8 @@ rm -f docs/${CRATE_NAME_SNAKE_CASE}_bg.wasm
echo "Building rust…"
BUILD=release
cargo build --release -p ${CRATE_NAME} --lib --target wasm32-unknown-unknown
cargo build -p ${CRATE_NAME} --release --lib --target wasm32-unknown-unknown
# Get the output directory (in the workspace it is in another location)
TARGET=`cargo metadata --format-version=1 | jq --raw-output .target_directory`
@ -26,19 +54,23 @@ TARGET_NAME="${CRATE_NAME_SNAKE_CASE}.wasm"
wasm-bindgen "${TARGET}/wasm32-unknown-unknown/${BUILD}/${TARGET_NAME}" \
--out-dir docs --no-modules --no-typescript
# to get wasm-opt: apt/brew/dnf install binaryen
# echo "Optimizing wasm…"
# wasm-opt docs/${CRATE_NAME_SNAKE_CASE}_bg.wasm -O2 --fast-math -o docs/${CRATE_NAME_SNAKE_CASE}_bg.wasm # add -g to get debug symbols
if [ "${FAST}" = false ]; then
echo "Optimizing wasm…"
# to get wasm-opt: apt/brew/dnf install binaryen
wasm-opt docs/${CRATE_NAME}_bg.wasm -O2 --fast-math -o docs/${CRATE_NAME}_bg.wasm # add -g to get debug symbols
fi
echo "Finished: docs/${CRATE_NAME_SNAKE_CASE}.wasm"
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
# Linux, ex: Fedora
xdg-open http://localhost:8080/index.html
elif [[ "$OSTYPE" == "msys" ]]; then
# Windows
start http://localhost:8080/index.html
else
# Darwin/MacOS, or something else
open http://localhost:8080/index.html
if [ "${OPEN}" = true ]; then
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
# Linux, ex: Fedora
xdg-open http://localhost:8080/index.html
elif [[ "$OSTYPE" == "msys" ]]; then
# Windows
start http://localhost:8080/index.html
else
# Darwin/MacOS, or something else
open http://localhost:8080/index.html
fi
fi

View file

@ -68,6 +68,61 @@ function getInt32Memory0() {
return cachegetInt32Memory0;
}
let WASM_VECTOR_LEN = 0;
let cachedTextEncoder = new TextEncoder('utf-8');
const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
? function (arg, view) {
return cachedTextEncoder.encodeInto(arg, view);
}
: function (arg, view) {
const buf = cachedTextEncoder.encode(arg);
view.set(buf);
return {
read: arg.length,
written: buf.length
};
});
function passStringToWasm0(arg, malloc, realloc) {
if (realloc === undefined) {
const buf = cachedTextEncoder.encode(arg);
const ptr = malloc(buf.length);
getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
WASM_VECTOR_LEN = buf.length;
return ptr;
}
let len = arg.length;
let ptr = malloc(len);
const mem = getUint8Memory0();
let offset = 0;
for (; offset < len; offset++) {
const code = arg.charCodeAt(offset);
if (code > 0x7F) break;
mem[ptr + offset] = code;
}
if (offset !== len) {
if (offset !== 0) {
arg = arg.slice(offset);
}
ptr = realloc(ptr, len, len = offset + arg.length * 3);
const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
const ret = encodeString(arg, view);
offset += ret.written;
}
WASM_VECTOR_LEN = offset;
return ptr;
}
function debugString(val) {
// primitive types
const type = typeof val;
@ -133,61 +188,6 @@ function debugString(val) {
return className;
}
let WASM_VECTOR_LEN = 0;
let cachedTextEncoder = new TextEncoder('utf-8');
const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
? function (arg, view) {
return cachedTextEncoder.encodeInto(arg, view);
}
: function (arg, view) {
const buf = cachedTextEncoder.encode(arg);
view.set(buf);
return {
read: arg.length,
written: buf.length
};
});
function passStringToWasm0(arg, malloc, realloc) {
if (realloc === undefined) {
const buf = cachedTextEncoder.encode(arg);
const ptr = malloc(buf.length);
getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
WASM_VECTOR_LEN = buf.length;
return ptr;
}
let len = arg.length;
let ptr = malloc(len);
const mem = getUint8Memory0();
let offset = 0;
for (; offset < len; offset++) {
const code = arg.charCodeAt(offset);
if (code > 0x7F) break;
mem[ptr + offset] = code;
}
if (offset !== len) {
if (offset !== 0) {
arg = arg.slice(offset);
}
ptr = realloc(ptr, len, len = offset + arg.length * 3);
const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
const ret = encodeString(arg, view);
offset += ret.written;
}
WASM_VECTOR_LEN = offset;
return ptr;
}
function makeMutClosure(arg0, arg1, dtor, f) {
const state = { a: arg0, b: arg1, cnt: 1, dtor };
const real = (...args) => {
@ -212,48 +212,48 @@ function makeMutClosure(arg0, arg1, dtor, f) {
return real;
}
function __wbg_adapter_24(arg0, arg1) {
wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h03e5c9f27faaa1ac(arg0, arg1);
function __wbg_adapter_26(arg0, arg1) {
wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h82daea18f996a61e(arg0, arg1);
}
function __wbg_adapter_27(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_29(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_30(arg0, arg1) {
wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4b4c1a159dbb4022(arg0, arg1);
function __wbg_adapter_32(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_33(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_35(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_36(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_38(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_39(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_41(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_42(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_44(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_45(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_47(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_48(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_50(arg0, arg1) {
wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he8468c0457df91ee(arg0, arg1);
}
function __wbg_adapter_51(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0dc69bb0c19e78f2(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_53(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h02380ceefaeb445c(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_54(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0c96f6941929e60c(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_56(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha61e5578eca01976(arg0, arg1, addHeapObject(arg2));
}
/**
@ -350,6 +350,14 @@ async function init(input) {
var ret = getObject(arg0);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_string_get = function(arg0, arg1) {
const obj = getObject(arg1);
var ret = typeof(obj) === 'string' ? obj : undefined;
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbindgen_boolean_get = function(arg0) {
const v = getObject(arg0);
var ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;
@ -576,80 +584,6 @@ async function init(input) {
var ret = getObject(arg0).setTimeout(getObject(arg1), arg2);
return ret;
}, arguments) };
imports.wbg.__wbg_items_0e0d8664cb0c227c = function(arg0) {
var ret = getObject(arg0).items;
return addHeapObject(ret);
};
imports.wbg.__wbg_files_d148fafe4f8ef096 = function(arg0) {
var ret = getObject(arg0).files;
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_getData_a4934f84b4074e8b = function() { return handleError(function (arg0, arg1, arg2, arg3) {
var ret = getObject(arg1).getData(getStringFromWasm0(arg2, arg3));
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
}, arguments) };
imports.wbg.__wbg_length_b3892c671bcff0a9 = function(arg0) {
var ret = getObject(arg0).length;
return ret;
};
imports.wbg.__wbg_get_eb708b1d3ad92ce5 = function(arg0, arg1) {
var ret = getObject(arg0)[arg1 >>> 0];
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_name_6af1a38f3edc1522 = function(arg0, arg1) {
var ret = getObject(arg1).name;
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbg_lastModified_c61609c3c6a0bd88 = function(arg0) {
var ret = getObject(arg0).lastModified;
return ret;
};
imports.wbg.__wbg_length_a2870b8b80e120c3 = function(arg0) {
var ret = getObject(arg0).length;
return ret;
};
imports.wbg.__wbg_get_b84d80d476cf15e4 = function(arg0, arg1) {
var ret = getObject(arg0)[arg1 >>> 0];
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_now_559193109055ebad = function(arg0) {
var ret = getObject(arg0).now();
return ret;
};
imports.wbg.__wbg_identifier_87ee1c4654593a75 = function(arg0) {
var ret = getObject(arg0).identifier;
return ret;
};
imports.wbg.__wbg_pageX_e47dc88281930930 = function(arg0) {
var ret = getObject(arg0).pageX;
return ret;
};
imports.wbg.__wbg_pageY_b6b579adcea2948f = function(arg0) {
var ret = getObject(arg0).pageY;
return ret;
};
imports.wbg.__wbg_force_c47d39a3ad56c12f = function(arg0) {
var ret = getObject(arg0).force;
return ret;
};
imports.wbg.__wbg_length_1d27563e3515722e = function(arg0) {
var ret = getObject(arg0).length;
return ret;
};
imports.wbg.__wbg_item_a23b382195352a8a = function(arg0, arg1) {
var ret = getObject(arg0).item(arg1 >>> 0);
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_get_20b719b18767c76e = function(arg0, arg1) {
var ret = getObject(arg0)[arg1 >>> 0];
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_type_7a49279491e15d0a = function(arg0, arg1) {
var ret = getObject(arg1).type;
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@ -663,28 +597,14 @@ async function init(input) {
imports.wbg.__wbg_stopPropagation_ae76be6b0f664ee8 = function(arg0) {
getObject(arg0).stopPropagation();
};
imports.wbg.__wbg_instanceof_HtmlCanvasElement_25d964a0dde6717e = function(arg0) {
var ret = getObject(arg0) instanceof HTMLCanvasElement;
imports.wbg.__wbg_length_a2870b8b80e120c3 = function(arg0) {
var ret = getObject(arg0).length;
return ret;
};
imports.wbg.__wbg_width_555f63ab09ba7d3f = function(arg0) {
var ret = getObject(arg0).width;
return ret;
};
imports.wbg.__wbg_setwidth_c1a7061891b71f25 = function(arg0, arg1) {
getObject(arg0).width = arg1 >>> 0;
};
imports.wbg.__wbg_height_7153faec70fbaf7b = function(arg0) {
var ret = getObject(arg0).height;
return ret;
};
imports.wbg.__wbg_setheight_88894b05710ff752 = function(arg0, arg1) {
getObject(arg0).height = arg1 >>> 0;
};
imports.wbg.__wbg_getContext_f701d0231ae22393 = function() { return handleError(function (arg0, arg1, arg2) {
var ret = getObject(arg0).getContext(getStringFromWasm0(arg1, arg2));
imports.wbg.__wbg_get_b84d80d476cf15e4 = function(arg0, arg1) {
var ret = getObject(arg0)[arg1 >>> 0];
return isLikeNone(ret) ? 0 : addHeapObject(ret);
}, arguments) };
};
imports.wbg.__wbg_keyCode_490ed69472addfdc = function(arg0) {
var ret = getObject(arg0).keyCode;
return ret;
@ -716,6 +636,51 @@ async function init(input) {
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbg_length_1d27563e3515722e = function(arg0) {
var ret = getObject(arg0).length;
return ret;
};
imports.wbg.__wbg_item_a23b382195352a8a = function(arg0, arg1) {
var ret = getObject(arg0).item(arg1 >>> 0);
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_get_20b719b18767c76e = function(arg0, arg1) {
var ret = getObject(arg0)[arg1 >>> 0];
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_name_6af1a38f3edc1522 = function(arg0, arg1) {
var ret = getObject(arg1).name;
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbg_lastModified_c61609c3c6a0bd88 = function(arg0) {
var ret = getObject(arg0).lastModified;
return ret;
};
imports.wbg.__wbg_instanceof_HtmlCanvasElement_25d964a0dde6717e = function(arg0) {
var ret = getObject(arg0) instanceof HTMLCanvasElement;
return ret;
};
imports.wbg.__wbg_width_555f63ab09ba7d3f = function(arg0) {
var ret = getObject(arg0).width;
return ret;
};
imports.wbg.__wbg_setwidth_c1a7061891b71f25 = function(arg0, arg1) {
getObject(arg0).width = arg1 >>> 0;
};
imports.wbg.__wbg_height_7153faec70fbaf7b = function(arg0) {
var ret = getObject(arg0).height;
return ret;
};
imports.wbg.__wbg_setheight_88894b05710ff752 = function(arg0, arg1) {
getObject(arg0).height = arg1 >>> 0;
};
imports.wbg.__wbg_getContext_f701d0231ae22393 = function() { return handleError(function (arg0, arg1, arg2) {
var ret = getObject(arg0).getContext(getStringFromWasm0(arg1, arg2));
return isLikeNone(ret) ? 0 : addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_touches_3bcd168150040d19 = function(arg0) {
var ret = getObject(arg0).touches;
return addHeapObject(ret);
@ -743,6 +708,18 @@ async function init(input) {
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
}, arguments) };
imports.wbg.__wbg_width_d55d3698a2514ec1 = function(arg0) {
var ret = getObject(arg0).width;
return ret;
};
imports.wbg.__wbg_height_df08a93b45ce76ec = function(arg0) {
var ret = getObject(arg0).height;
return ret;
};
imports.wbg.__wbg_appendChild_d318db34c4559916 = function() { return handleError(function (arg0, arg1) {
var ret = getObject(arg0).appendChild(getObject(arg1));
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_size_3d49b94127cdd6ed = function(arg0) {
var ret = getObject(arg0).size;
return ret;
@ -751,10 +728,6 @@ async function init(input) {
var ret = getObject(arg0).arrayBuffer();
return addHeapObject(ret);
};
imports.wbg.__wbg_appendChild_d318db34c4559916 = function() { return handleError(function (arg0, arg1) {
var ret = getObject(arg0).appendChild(getObject(arg1));
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_hash_0fff5255cf3c317c = function() { return handleError(function (arg0, arg1) {
var ret = getObject(arg1).hash;
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@ -762,6 +735,23 @@ async function init(input) {
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
}, arguments) };
imports.wbg.__wbg_data_dbff09eb89176161 = function(arg0, arg1) {
var ret = getObject(arg1).data;
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbg_setProperty_1460c660bc329763 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
getObject(arg0).setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
}, arguments) };
imports.wbg.__wbg_type_a6fcda966902940d = function(arg0, arg1) {
var ret = getObject(arg1).type;
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbg_clientX_97ff0f5c7b19e687 = function(arg0) {
var ret = getObject(arg0).clientX;
return ret;
@ -811,6 +801,14 @@ async function init(input) {
var ret = getObject(arg0).scrollLeft;
return ret;
};
imports.wbg.__wbg_clientWidth_4d9e01af2b5b9f21 = function(arg0) {
var ret = getObject(arg0).clientWidth;
return ret;
};
imports.wbg.__wbg_clientHeight_87c209f0cacf2e97 = function(arg0) {
var ret = getObject(arg0).clientHeight;
return ret;
};
imports.wbg.__wbg_getBoundingClientRect_2fba0402ea2a6ec4 = function(arg0) {
var ret = getObject(arg0).getBoundingClientRect();
return addHeapObject(ret);
@ -918,6 +916,10 @@ async function init(input) {
var ret = getObject(arg0).getExtension(getStringFromWasm0(arg1, arg2));
return isLikeNone(ret) ? 0 : addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_getParameter_6412bd2d0602696d = function() { return handleError(function (arg0, arg1) {
var ret = getObject(arg0).getParameter(arg1 >>> 0);
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_getProgramInfoLog_b60e82d52c200cbd = function(arg0, arg1, arg2) {
var ret = getObject(arg1).getProgramInfoLog(getObject(arg2));
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@ -1016,27 +1018,17 @@ async function init(input) {
imports.wbg.__wbg_focus_00530e359f44fc6e = function() { return handleError(function (arg0) {
getObject(arg0).focus();
}, arguments) };
imports.wbg.__wbg_data_dbff09eb89176161 = function(arg0, arg1) {
var ret = getObject(arg1).data;
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbg_setProperty_1460c660bc329763 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
getObject(arg0).setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
}, arguments) };
imports.wbg.__wbg_type_a6fcda966902940d = function(arg0, arg1) {
var ret = getObject(arg1).type;
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
imports.wbg.__wbg_clipboardData_d717f7cf398c0dd9 = function(arg0) {
var ret = getObject(arg0).clipboardData;
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_dataTransfer_ebba35c1049e694f = function(arg0) {
var ret = getObject(arg0).dataTransfer;
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_addEventListener_52721772cc0a7f30 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));
}, arguments) };
imports.wbg.__wbg_deltaX_8cfc6cd15e97d97c = function(arg0) {
var ret = getObject(arg0).deltaX;
return ret;
@ -1049,21 +1041,6 @@ async function init(input) {
var ret = getObject(arg0).deltaMode;
return ret;
};
imports.wbg.__wbg_writeText_3b86a6dbc18b261b = function(arg0, arg1, arg2) {
var ret = getObject(arg0).writeText(getStringFromWasm0(arg1, arg2));
return addHeapObject(ret);
};
imports.wbg.__wbg_clipboardData_d717f7cf398c0dd9 = function(arg0) {
var ret = getObject(arg0).clipboardData;
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_addEventListener_52721772cc0a7f30 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));
}, arguments) };
imports.wbg.__wbg_matches_76fae292b8cd60a6 = function(arg0) {
var ret = getObject(arg0).matches;
return ret;
};
imports.wbg.__wbg_instanceof_HtmlInputElement_8cafe5f30dfdb6bc = function(arg0) {
var ret = getObject(arg0) instanceof HTMLInputElement;
return ret;
@ -1084,6 +1061,57 @@ async function init(input) {
imports.wbg.__wbg_setvalue_2459f62386b6967f = function(arg0, arg1, arg2) {
getObject(arg0).value = getStringFromWasm0(arg1, arg2);
};
imports.wbg.__wbg_writeText_3b86a6dbc18b261b = function(arg0, arg1, arg2) {
var ret = getObject(arg0).writeText(getStringFromWasm0(arg1, arg2));
return addHeapObject(ret);
};
imports.wbg.__wbg_items_0e0d8664cb0c227c = function(arg0) {
var ret = getObject(arg0).items;
return addHeapObject(ret);
};
imports.wbg.__wbg_files_d148fafe4f8ef096 = function(arg0) {
var ret = getObject(arg0).files;
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_getData_a4934f84b4074e8b = function() { return handleError(function (arg0, arg1, arg2, arg3) {
var ret = getObject(arg1).getData(getStringFromWasm0(arg2, arg3));
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
}, arguments) };
imports.wbg.__wbg_length_b3892c671bcff0a9 = function(arg0) {
var ret = getObject(arg0).length;
return ret;
};
imports.wbg.__wbg_get_eb708b1d3ad92ce5 = function(arg0, arg1) {
var ret = getObject(arg0)[arg1 >>> 0];
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_matches_76fae292b8cd60a6 = function(arg0) {
var ret = getObject(arg0).matches;
return ret;
};
imports.wbg.__wbg_now_559193109055ebad = function(arg0) {
var ret = getObject(arg0).now();
return ret;
};
imports.wbg.__wbg_identifier_87ee1c4654593a75 = function(arg0) {
var ret = getObject(arg0).identifier;
return ret;
};
imports.wbg.__wbg_pageX_e47dc88281930930 = function(arg0) {
var ret = getObject(arg0).pageX;
return ret;
};
imports.wbg.__wbg_pageY_b6b579adcea2948f = function(arg0) {
var ret = getObject(arg0).pageY;
return ret;
};
imports.wbg.__wbg_force_c47d39a3ad56c12f = function(arg0) {
var ret = getObject(arg0).force;
return ret;
};
imports.wbg.__wbg_newnoargs_be86524d73f67598 = function(arg0, arg1) {
var ret = new Function(getStringFromWasm0(arg0, arg1));
return addHeapObject(ret);
@ -1180,48 +1208,48 @@ async function init(input) {
var ret = wasm.memory;
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper515 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_24);
imports.wbg.__wbindgen_closure_wrapper565 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_26);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper516 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_27);
imports.wbg.__wbindgen_closure_wrapper566 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_29);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper518 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_30);
imports.wbg.__wbindgen_closure_wrapper568 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_32);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper520 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_33);
imports.wbg.__wbindgen_closure_wrapper570 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_35);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper522 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_36);
imports.wbg.__wbindgen_closure_wrapper573 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_38);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper524 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_39);
imports.wbg.__wbindgen_closure_wrapper575 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_41);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper526 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_42);
imports.wbg.__wbindgen_closure_wrapper577 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_44);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper529 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_45);
imports.wbg.__wbindgen_closure_wrapper579 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_47);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper531 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_48);
imports.wbg.__wbindgen_closure_wrapper581 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_50);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper533 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 137, __wbg_adapter_51);
imports.wbg.__wbindgen_closure_wrapper583 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 158, __wbg_adapter_53);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper647 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 200, __wbg_adapter_54);
imports.wbg.__wbindgen_closure_wrapper668 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 195, __wbg_adapter_56);
return addHeapObject(ret);
};

Binary file not shown.

View file

@ -31,7 +31,7 @@ impl epi::App for TemplateApp {
fn setup(
&mut self,
_ctx: &egui::CtxRef,
_frame: &mut epi::Frame<'_>,
_frame: &epi::Frame,
_storage: Option<&dyn epi::Storage>,
) {
// Load previous app state (if any).
@ -51,7 +51,7 @@ impl epi::App for TemplateApp {
/// Called each time the UI needs repainting, which may be many times per second.
/// Put your widgets into a `SidePanel`, `TopPanel`, `CentralPanel`, `Window` or `Area`.
fn update(&mut self, ctx: &egui::CtxRef, frame: &mut epi::Frame<'_>) {
fn update(&mut self, ctx: &egui::CtxRef, frame: &epi::Frame) {
let Self { label, value } = self;
// Examples of how to create different panels and windows.
@ -62,7 +62,7 @@ impl epi::App for TemplateApp {
egui::TopBottomPanel::top("top_panel").show(ctx, |ui| {
// The top panel is often a good place for a menu bar:
egui::menu::bar(ui, |ui| {
egui::menu::menu(ui, "File", |ui| {
ui.menu_button("File", |ui| {
if ui.button("Quit").clicked() {
frame.quit();
}