Move web app contents to own window

This commit is contained in:
Emil Ernerfeldt 2020-07-19 01:09:37 +02:00
parent 57ae03f52d
commit cb6b3bb58f
4 changed files with 44 additions and 27 deletions

View file

@ -219,12 +219,12 @@ function __wbg_adapter_32(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(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__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2));
function __wbg_adapter_35(arg0, arg1) {
wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5402719cc6dde927(arg0, arg1);
}
function __wbg_adapter_38(arg0, arg1) {
wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5402719cc6dde927(arg0, arg1);
function __wbg_adapter_38(arg0, arg1, arg2) {
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_41(arg0, arg1, arg2) {
@ -725,28 +725,28 @@ async function init(input) {
var ret = wasm.memory;
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper387 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 74, __wbg_adapter_26);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper383 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 72, __wbg_adapter_41);
var ret = makeMutClosure(arg0, arg1, 74, __wbg_adapter_32);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper380 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 74, __wbg_adapter_38);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper385 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 72, __wbg_adapter_35);
var ret = makeMutClosure(arg0, arg1, 74, __wbg_adapter_29);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper375 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 72, __wbg_adapter_38);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper376 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 72, __wbg_adapter_26);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper381 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 72, __wbg_adapter_29);
imports.wbg.__wbindgen_closure_wrapper389 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 74, __wbg_adapter_41);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper379 = function(arg0, arg1, arg2) {
var ret = makeMutClosure(arg0, arg1, 72, __wbg_adapter_32);
var ret = makeMutClosure(arg0, arg1, 74, __wbg_adapter_35);
return addHeapObject(ret);
};

BIN
docs/example_wasm_bg.wasm Normal file

Binary file not shown.

View file

@ -77,6 +77,16 @@ impl<'open> Window<'open> {
self
}
pub fn default_width(mut self, default_width: f32) -> Self {
self.resize = self.resize.default_width(default_width);
self
}
pub fn default_height(mut self, default_height: f32) -> Self {
self.resize = self.resize.default_height(default_height);
self
}
pub fn default_rect(self, rect: Rect) -> Self {
self.default_pos(rect.min).default_size(rect.size())
}

View file

@ -1,7 +1,7 @@
#![deny(warnings)]
#![warn(clippy::all)]
use egui::{label, Align, Layout, TextStyle};
use egui::{label, TextStyle};
use wasm_bindgen::prelude::*;
@ -25,17 +25,12 @@ pub struct MyApp {
frames_painted: u64,
}
impl egui_web::App for MyApp {
fn ui(&mut self, ui: &mut egui::Ui, backend: &mut egui_web::Backend, info: &egui_web::WebInfo) {
self.example_app.ui(ui, &info.web_location_hash);
let mut ui = ui.centered_column(ui.available().width().min(480.0));
ui.set_layout(Layout::vertical(Align::Min));
ui.add(label!("Egui!").text_style(TextStyle::Heading));
impl MyApp {
fn window_ui(&mut self, ui: &mut egui::Ui, backend: &mut egui_web::Backend) {
ui.label("Egui is an immediate mode GUI written in Rust, compiled to WebAssembly, rendered with WebGL.");
ui.label(
"Everything you see is rendered as textured triangles. There is no DOM. There are no HTML elements."
);
"Everything you see is rendered as textured triangles. There is no DOM. There are no HTML elements."
);
ui.label("This is not JavaScript. This is Rust, running at 60 FPS. This is the web page, reinvented with game tech.");
ui.label("This is also work in progress, and not ready for production... yet :)");
ui.horizontal(|ui| {
@ -82,3 +77,15 @@ impl egui_web::App for MyApp {
ui.label(format!("Total frames painted: {}", self.frames_painted));
}
}
impl egui_web::App for MyApp {
fn ui(&mut self, ui: &mut egui::Ui, backend: &mut egui_web::Backend, info: &egui_web::WebInfo) {
egui::Window::new("Egui")
.default_width(500.0)
.show(ui.ctx(), |ui| {
self.window_ui(ui, backend);
});
self.example_app.ui(ui, &info.web_location_hash);
}
}