diff --git a/src/demos/mod.rs b/examples/tour.rs similarity index 91% rename from src/demos/mod.rs rename to examples/tour.rs index 0cee7f5..ffeed5b 100644 --- a/src/demos/mod.rs +++ b/examples/tour.rs @@ -2,6 +2,16 @@ use std::sync::Arc; use osui::prelude::*; +fn main() -> std::io::Result<()> { + let screen = Screen::new(); + screen.extension(InputExtension); + screen.extension(RelativeFocusExtension::new()); + + app(screen.clone()).draw(&screen); + + screen.run() +} + pub fn app(screen: Arc) -> Rsx { let count = use_state(0); diff --git a/src/extensions/mod.rs b/src/extensions/mod.rs index 7624606..2e375cf 100644 --- a/src/extensions/mod.rs +++ b/src/extensions/mod.rs @@ -96,7 +96,7 @@ impl Context { } } - pub fn get_widgets(&self) -> MutexGuard>> { + pub fn get_widgets(&'_ self) -> MutexGuard<'_, Vec>> { self.screen.widgets.lock().unwrap() } diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index c915f8e..0000000 --- a/src/main.rs +++ /dev/null @@ -1,12 +0,0 @@ -mod demos; -use osui::prelude::*; - -fn main() -> std::io::Result<()> { - let screen = Screen::new(); - screen.extension(InputExtension); - screen.extension(RelativeFocusExtension::new()); - - demos::app(screen.clone()).draw(&screen); - - screen.run() -} diff --git a/src/widget.rs b/src/widget.rs index ed8e802..58b27d1 100644 --- a/src/widget.rs +++ b/src/widget.rs @@ -166,7 +166,7 @@ impl Widget { } } - pub fn get_elem(&self) -> MutexGuard { + pub fn get_elem(&'_ self) -> MutexGuard<'_, BoxedElement> { match self { Widget::Static(w) => w.get_elem(), Widget::Dynamic(w) => w.get_elem(), @@ -284,7 +284,7 @@ impl Widget { impl StaticWidget { fn after_render(&self) {} - fn get_elem(&self) -> MutexGuard { + fn get_elem(&'_ self) -> MutexGuard<'_, BoxedElement> { self.element.lock().unwrap() } } @@ -325,7 +325,7 @@ impl StaticWidget { impl DynWidget { fn after_render(&self) {} - fn get_elem(&self) -> MutexGuard { + fn get_elem(&'_ self) -> MutexGuard<'_, BoxedElement> { self.element.lock().unwrap() } }