#![warn(unused_extern_crates)]
#![feature(associated_type_defaults)]
#![feature(decl_macro)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[doc(hidden)] pub use serde;
#[doc(hidden)] pub use strum;
pub use id_tree as tree;
pub use tree::Tree;
pub use nsys::{geometry, math};
pub mod application;
pub mod interface;
pub mod presentation;
pub mod utils;
pub mod widget;
pub mod prelude;
pub use self::application::Application;
pub use self::interface::Interface;
pub use self::presentation::Presentation;
pub use self::utils::TreeHelper;
pub use self::widget::Widget;
#[doc(hidden)]
#[expect(unused_macros)]
pub (crate) macro debug {
($e:expr) => {
log::debug!("{}: {:?}", stringify!($e), $e);
}
}
#[doc(hidden)]
#[expect(unused_macros)]
pub (crate) macro pretty {
($e:expr) => {
log::debug!("{}: {:#?}", stringify!($e), $e);
}
}
#[expect(unused_imports)]
use log;
#[doc(hidden)]
macro_rules! show {
($e:expr) => { println!("{}: {:?}", stringify!($e), $e); }
}
pub fn report_sizes() {
use std::mem::size_of;
println!("gooey: report sizes...");
show!(size_of::<Interface>());
show!(size_of::<interface::Element>());
show!(size_of::<interface::Model>());
show!(size_of::<interface::Controller>());
show!(size_of::<interface::controller::Appearances>());
show!(size_of::<interface::controller::component::Layout>());
show!(size_of::<interface::View>());
show!(size_of::<interface::view::component::Canvas>());
show!(size_of::<interface::Action>());
show!(size_of::<interface::model::Event>());
show!(size_of::<interface::view::Input>());
#[cfg(feature="curses")]
show!(size_of::<Interface <application::Default, presentation::Curses>>());
#[cfg(feature="fmod")]
show!(size_of::<Interface <application::Default, presentation::Fmod>>());
println!("gooey: ...report sizes");
}