|
|
@ -1,10 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
// IDEA: render to a cache buffer, then if not changed, copy the buf into the parent
|
|
|
|
// IDEA: render to a cache buffer, then if not changed, copy the buf into the parent
|
|
|
|
|
|
|
|
type Surface = ();
|
|
|
|
pub trait Component {
|
|
|
|
pub trait Component {
|
|
|
|
/// Process input events, return true if handled.
|
|
|
|
/// Process input events, return true if handled.
|
|
|
|
fn process_event(&mut self, event: crossterm::event::Event, args) -> bool;
|
|
|
|
fn process_event(&mut self, event: crossterm::event::Event, args: ()) -> bool;
|
|
|
|
/// Should redraw? Useful for saving redraw cycles if we know component didn't change.
|
|
|
|
/// Should redraw? Useful for saving redraw cycles if we know component didn't change.
|
|
|
|
fn should_update(&self) -> bool { true }
|
|
|
|
fn should_update(&self) -> bool {
|
|
|
|
|
|
|
|
true
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
fn render(&mut self, surface: &mut Surface, args: ());
|
|
|
|
fn render(&mut self, surface: &mut Surface, args: ());
|
|
|
|
}
|
|
|
|
}
|
|
|
|