#![doc(html_logo_url = "https://raw.githubusercontent.com/griffi-gh/hui/master/.assets/hui.svg")]
//!
//! Simple UI library for games and other interactive applications
//!
//! # Features
#![doc = document_features::document_features!()]
#![forbid(unsafe_code)]
#![forbid(unsafe_op_in_unsafe_fn)]
mod instance;
pub mod layout;
pub mod rectangle;
pub mod element;
pub mod event;
pub mod input;
pub mod draw;
pub mod measure;
pub mod state;
pub mod text;
pub use instance::UiInstance;
pub trait IfModified {
fn if_modified(&self) -> Option<&T>;
}
#[allow(deprecated)]
#[deprecated(since = "0.1.0-alpha.3", note = "will be removed in the next release")]
pub struct ElementList(Vec>);
#[allow(deprecated)]
#[deprecated(since = "0.1.0-alpha.3", note = "will be removed in the next release")]
impl ElementList {
pub fn add(&mut self, element: impl element::UiElement + 'static) {
self.0.push(Box::new(element));
}
}
#[allow(deprecated)]
#[deprecated(since = "0.1.0-alpha.3", note = "will be removed in the next release")]
pub fn elements(f: impl FnOnce(&mut ElementList)) -> Vec> {
let mut elements = ElementList(Vec::new());
f(&mut elements);
elements.0
}