diff --git a/TODO.md b/TODO.md index 9f8714d1..5614deeb 100644 --- a/TODO.md +++ b/TODO.md @@ -3,7 +3,6 @@ We need to make it easy to make your own library using emigui_wasm. Maybe we can use build.rs to generate needed stuff, e.g. index.hmtl? # Code -* Try it on iPhone * Read TTF from browser? * requestAnimationFrame diff --git a/build_and_run.sh b/build_and_run.sh index 855c1aef..bc878529 100755 --- a/build_and_run.sh +++ b/build_and_run.sh @@ -1,6 +1,9 @@ #!/bin/bash set -eu +cargo check --all-features +cargo clippy + # ./build_wasm.sh # open "docs/index.html" diff --git a/emigui/src/layout.rs b/emigui/src/layout.rs index 5a8d21af..463ab4c7 100644 --- a/emigui/src/layout.rs +++ b/emigui/src/layout.rs @@ -308,6 +308,10 @@ impl Region { self.available_space.y } + pub fn size(&self) -> Vec2 { + self.available_space + } + pub fn direction(&self) -> Direction { self.dir } diff --git a/emigui/src/math.rs b/emigui/src/math.rs index 3e700cab..0066deb7 100644 --- a/emigui/src/math.rs +++ b/emigui/src/math.rs @@ -40,6 +40,14 @@ impl Vec2 { } } +impl std::ops::Neg for Vec2 { + type Output = Vec2; + + fn neg(self) -> Vec2 { + vec2(-self.x, -self.y) + } +} + impl std::ops::AddAssign for Vec2 { fn add_assign(&mut self, rhs: Vec2) { *self = Vec2 { diff --git a/emigui/src/types.rs b/emigui/src/types.rs index 0fd1ea40..09142f2d 100644 --- a/emigui/src/types.rs +++ b/emigui/src/types.rs @@ -83,7 +83,7 @@ pub struct Outline { pub color: Color, } -#[derive(Clone, Debug, Serialize)] // TODO: copy +#[derive(Clone, Debug, Serialize)] #[serde(rename_all = "snake_case", tag = "kind")] pub enum PaintCmd { Circle { diff --git a/emigui/src/widgets.rs b/emigui/src/widgets.rs index 457df985..13389903 100644 --- a/emigui/src/widgets.rs +++ b/emigui/src/widgets.rs @@ -247,7 +247,7 @@ impl Widget for RadioButton { // ---------------------------------------------------------------------------- pub struct Slider<'a> { - get_set_value: Box<'a + FnMut(Option) -> f32>, + get_set_value: Box) -> f32>, min: f32, max: f32, id: Option, diff --git a/emigui_glium/src/painter.rs b/emigui_glium/src/painter.rs index 65d57c20..62c2bcb1 100644 --- a/emigui_glium/src/painter.rs +++ b/emigui_glium/src/painter.rs @@ -10,7 +10,7 @@ pub struct Painter { } impl Painter { - pub fn new(facade: &glium::backend::Facade) -> Painter { + pub fn new(facade: &dyn glium::backend::Facade) -> Painter { let program = program!(facade, 140 => { vertex: " @@ -127,7 +127,7 @@ impl Painter { } } - fn upload_texture(&mut self, facade: &glium::backend::Facade, texture: &emigui::Texture) { + fn upload_texture(&mut self, facade: &dyn glium::backend::Facade, texture: &emigui::Texture) { if self.current_texture_id == Some(texture.id) { return; // No change } diff --git a/example_wasm/src/app.rs b/example_wasm/src/app.rs index 4a94db04..0d3fdba4 100644 --- a/example_wasm/src/app.rs +++ b/example_wasm/src/app.rs @@ -1,4 +1,4 @@ -use emigui::{label, math::*, types::*, widgets::*, Align, Region, TextStyle}; +use emigui::{color::*, label, math::*, types::*, widgets::*, Align, Region, TextStyle}; pub fn show_value_gui(value: &mut usize, gui: &mut Region) { gui.add(Slider::usize(value, 1, 1000)); diff --git a/example_wasm/src/lib.rs b/example_wasm/src/lib.rs index b6efc357..22afa816 100644 --- a/example_wasm/src/lib.rs +++ b/example_wasm/src/lib.rs @@ -7,7 +7,7 @@ extern crate emigui; extern crate emigui_wasm; use { - emigui::{label, types::srgba, widgets::Label, Align, Emigui, RawInput}, + emigui::{color::srgba, label, widgets::Label, Emigui, RawInput}, emigui_wasm::now_sec, };