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
mod draw_list; mod input_handler; mod style; mod types; mod ui; pub mod widgets; pub use draw_list::DrawCommand; pub use input_handler::InputHandler; 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 += hash!($s) as u128;)* hash!(s) }}; }