1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
mod draw_command; mod draw_list; mod input_handler; mod style; mod types; mod ui; pub mod widgets; pub use draw_list::{DrawList, Vertex}; pub use input_handler::{InputHandler, KeyCode}; pub use style::Style; pub use types::{Color, Rect, Vector2}; pub use ui::{Drag, Layout, Ui}; pub type Id = u64; #[macro_export] macro_rules! hash { ($s:expr) => {{ use std::collections::hash_map::DefaultHasher; use std::hash::{Hash, Hasher}; let id = $s; let mut s = DefaultHasher::new(); id.hash(&mut s); s.finish() }}; () => {{ let id = concat!(file!(), line!(), column!()); hash!(id) }}; ($($s:expr),*) => {{ let mut s: u128 = 0; $(s += $crate::hash!($s) as u128;)* $crate::hash!(s) }}; }