Skip to main content
Version: 0.0.7

Introduction

Installation

On a cargo project run

cargo add osui

Simple app

src/main.rs
use osui::prelude::*;

fn main() {
launch!(app());
}

fn app() -> Element {
rsx! {
text { "Hello, World!" }
}
}

A slightly more advanced app (counter)

src/main.rs
use osui::prelude::*;

fn main() {
launch!(app());
}

fn app() -> Element {
rsx! {
// Create a button with a on_click handler
button {
on_click: fn(btn: &mut Button, _, document) {
if let Some(count) = document.get_element_by_id::<DataHolder<u32>>("count") {
count.data += 1;
btn.children.set_text(&count.data.to_string());
}
},

"0"
}

// Store the data (in this case count)
data_holder as u32 { id: "count" }
}
}