This commit is contained in:
2025-06-24 03:16:24 +02:00
parent 52f4dcfb2f
commit f72959bcee
9 changed files with 78 additions and 807 deletions
+27 -11
View File
@@ -1,15 +1,31 @@
use osui::prelude::*;
use osui::{
output::{OutputExtension, RenderAble},
run, Args, BaseElement,
};
fn main() -> Result<()> {
let mut con = init(true)?;
pub struct MyElem(*mut Vec<Box<dyn osui::ElementComponent>>);
impl BaseElement for MyElem {
fn init(&mut self) {
unsafe {
(*self.0).push(RenderAble::new(|| String::from("value")));
}
}
con.run(app())?;
con.end()
}
pub fn app() -> Element {
rsx! {
btn { "Click me" } (x-center y-center)
fn get_components<'a>(&'a mut self) -> &'a mut Vec<Box<dyn osui::ElementComponent>> {
unsafe { &mut *self.0 }
}
}
impl MyElem {
pub fn new(mut v: Vec<Box<dyn osui::ElementComponent>>) -> Box<MyElem> {
Box::new(MyElem(&mut v))
}
}
fn main() {
let args = Args {
tick_rate: 40,
base_elements: vec![],
};
run(args, vec![Box::new(OutputExtension)]);
}