Skip to content
/ too Public

a different kind of tui framework

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

museun/too

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

too

Documentation Crates

too -- a different kind of tui library

Feature flags

Flag Description Default
terminal enable the terminal backend true
sync enable Send+Sync wrappers false
profile enable profiling support false

Simple examples

Centering some text:

fn main() -> std::io::Result<()> {
    too::run(|ui| {
        ui.center(|ui| ui.label("hello world"));
    })
}

A pair of buttons to increment and decrement a counter

fn main() -> std::io::Result<()> {
    let mut counter = 0;
    too::run(|ui| {
        ui.vertical(|ui|{
            ui.horizontal(|ui|{
                if ui.button("add 1").clicked() {
                    counter += 1;
                }
                if ui.button("subtract 1").clicked() {
                    counter -= 1;
                }
            });
            ui.label(counter)
        });
    })
}

Storing state in a struct

use too::view::Ui;

#[derive(Default)]
struct App {
    value: f32
}

impl App {
    fn view(&mut self, ui: &Ui) {
        ui.slider(&mut self.value);
    }
}

fn main() -> std::io::Result<()> {
    let mut app = App::default();
    too::run(|ui| app.view(ui))
}

Storing state seperately from an application

use too::view::Ui;

#[derive(Default)]
struct State {
    value: f32
}

struct App;

impl App {
    fn view(&self, state: &mut State, ui: &Ui) {
        ui.slider(&mut state.value);
    }
}

fn main() -> std::io::Result<()> {
    let app = App;
    let mut state = State::default();
    too::run(|ui| app.view(&mut state, ui))
}

Some pre-made views are provided in: too::views


License: MIT OR Apache-2.0

About

a different kind of tui framework

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages