Skip to main content

anathema_default_widgets/
lib.rs

1#[allow(unused_extern_crates)]
2extern crate anathema_state as anathema;
3use anathema_widgets::Factory;
4
5mod alignment;
6mod border;
7mod canvas;
8mod container;
9mod expand;
10mod layout;
11mod overflow;
12mod padding;
13mod position;
14mod spacer;
15mod stacks;
16mod text;
17
18#[cfg(test)]
19mod testing;
20
21pub(crate) const WIDTH: &str = "width";
22pub(crate) const HEIGHT: &str = "height";
23pub(crate) const MIN_WIDTH: &str = "min_width";
24pub(crate) const MIN_HEIGHT: &str = "min_height";
25pub(crate) const MAX_WIDTH: &str = "max_width";
26pub(crate) const MAX_HEIGHT: &str = "max_height";
27pub(crate) const TOP: &str = "top";
28pub(crate) const RIGHT: &str = "right";
29pub(crate) const BOTTOM: &str = "bottom";
30pub(crate) const LEFT: &str = "left";
31
32pub use alignment::Align;
33pub use border::Border;
34pub use canvas::{Canvas, CanvasBuffer};
35pub use expand::Expand;
36pub use overflow::Overflow;
37pub use padding::Padding;
38pub use position::Position;
39pub use stacks::{Column, HStack, Row, VStack};
40pub use text::Text;
41
42pub fn register_default_widgets(factory: &mut Factory) {
43    factory.register_default::<alignment::Align>("align");
44    factory.register_default::<expand::Expand>("expand");
45    factory.register_default::<canvas::Canvas>("canvas");
46    factory.register_default::<container::Container>("container");
47    factory.register_default::<padding::Padding>("padding");
48    factory.register_default::<position::Position>("position");
49    factory.register_default::<stacks::Column>("column");
50    factory.register_default::<spacer::Spacer>("spacer");
51    factory.register_default::<stacks::HStack>("hstack");
52    factory.register_default::<stacks::Row>("row");
53    factory.register_default::<stacks::VStack>("vstack");
54    factory.register_default::<stacks::ZStack>("zstack");
55    factory.register_default::<text::Span>("span");
56    factory.register_default::<text::Text>("text");
57    factory.register_default::<overflow::Overflow>("overflow");
58    factory.register_widget("border", border::make);
59}