From db888416b690c82d481b897ed7723ee180678a7f Mon Sep 17 00:00:00 2001 From: shadow cat Date: Thu, 4 Dec 2025 14:46:34 -0500 Subject: [PATCH] add minimal example --- examples/minimal.rs | 20 ++++++++++++++++++++ src/lib.rs | 1 + src/winit/mod.rs | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 examples/minimal.rs diff --git a/examples/minimal.rs b/examples/minimal.rs new file mode 100644 index 0000000..8af2188 --- /dev/null +++ b/examples/minimal.rs @@ -0,0 +1,20 @@ +use iris::{prelude::*, winit::*}; + +struct State { + ui: DefaultUi, +} + +fn main() { + UiApp::::run(); +} + +impl DefaultUiState for State { + fn new(mut ui: DefaultUi, _proxy: Proxy) -> Self { + rect(Color::RED).set_root(&mut ui); + Self { ui } + } + + fn ui(&mut self) -> &mut DefaultUi { + &mut self.ui + } +} diff --git a/src/lib.rs b/src/lib.rs index b8906f2..61bfdf3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,6 +9,7 @@ #![feature(const_destruct)] #![feature(portable_simd)] #![feature(gen_blocks)] +#![feature(associated_type_defaults)] pub mod core; pub mod layout; diff --git a/src/winit/mod.rs b/src/winit/mod.rs index 7f769df..ebac0f1 100644 --- a/src/winit/mod.rs +++ b/src/winit/mod.rs @@ -31,7 +31,7 @@ pub struct DefaultUi { } pub trait DefaultUiState: 'static { - type Event: 'static; + type Event: 'static = (); fn new(ui: DefaultUi, proxy: Proxy) -> Self; fn ui(&mut self) -> &mut DefaultUi; #[allow(unused_variables)]