add minimal example

This commit is contained in:
2025-12-04 14:46:34 -05:00
parent f7b100e00c
commit db888416b6
3 changed files with 22 additions and 1 deletions

20
examples/minimal.rs Normal file
View File

@@ -0,0 +1,20 @@
use iris::{prelude::*, winit::*};
struct State {
ui: DefaultUi,
}
fn main() {
UiApp::<State>::run();
}
impl DefaultUiState for State {
fn new(mut ui: DefaultUi, _proxy: Proxy<Self::Event>) -> Self {
rect(Color::RED).set_root(&mut ui);
Self { ui }
}
fn ui(&mut self) -> &mut DefaultUi {
&mut self.ui
}
}

View File

@@ -9,6 +9,7 @@
#![feature(const_destruct)] #![feature(const_destruct)]
#![feature(portable_simd)] #![feature(portable_simd)]
#![feature(gen_blocks)] #![feature(gen_blocks)]
#![feature(associated_type_defaults)]
pub mod core; pub mod core;
pub mod layout; pub mod layout;

View File

@@ -31,7 +31,7 @@ pub struct DefaultUi {
} }
pub trait DefaultUiState: 'static { pub trait DefaultUiState: 'static {
type Event: 'static; type Event: 'static = ();
fn new(ui: DefaultUi, proxy: Proxy<Self::Event>) -> Self; fn new(ui: DefaultUi, proxy: Proxy<Self::Event>) -> Self;
fn ui(&mut self) -> &mut DefaultUi; fn ui(&mut self) -> &mut DefaultUi;
#[allow(unused_variables)] #[allow(unused_variables)]