hover state
This commit is contained in:
+20
-4
@@ -3,17 +3,33 @@ use std::sync::Arc;
|
||||
use osmium_engine::prelude::*;
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let mut console = init(false)?;
|
||||
let mut console = init(true)?;
|
||||
|
||||
console.render(app())?;
|
||||
let ui = app();
|
||||
|
||||
crossterm::event::read()?;
|
||||
loop {
|
||||
console.render(ui.clone())?;
|
||||
if let crossterm::event::Event::Mouse(crossterm::event::MouseEvent {
|
||||
kind: crossterm::event::MouseEventKind::Moved,
|
||||
row,
|
||||
column,
|
||||
..
|
||||
}) = crossterm::event::read()?
|
||||
{
|
||||
console.mouse_position = Some((column, row));
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
console.close()
|
||||
}
|
||||
|
||||
pub fn app() -> Ui {
|
||||
Arc::new(|frame| {
|
||||
frame.draw(&"Hello, World", &Props::center());
|
||||
frame.draw(
|
||||
&"Hello, World",
|
||||
&Props::center().state("hover", Style { color: Color::Blue }),
|
||||
);
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user