ming_wm_lib/components/
mod.rs1use std::vec::Vec;
2
3use crate::themes::ThemeInfo;
4use crate::messages::WindowMessage;
5use crate::window_manager_types::DrawInstructions;
6
7pub mod toggle_button;
8pub mod highlight_button;
9pub mod paragraph;
10pub mod press_button;
11
12pub trait Component<T> {
13 fn handle_message(&mut self, message: WindowMessage) -> Option<T>;
14 fn draw(&self, theme_info: &ThemeInfo) -> Vec<DrawInstructions>;
15
16 fn focusable(&self) -> bool;
20 fn clickable(&self) -> bool;
21 fn name(&self) -> &String; }
24