typst_library/layout/
mod.rs

1//! Composable layouts.
2
3mod abs;
4mod align;
5mod angle;
6mod axes;
7mod columns;
8mod container;
9mod corners;
10mod dir;
11mod em;
12mod fr;
13mod fragment;
14mod frame;
15pub mod grid;
16mod hide;
17#[path = "layout.rs"]
18mod layout_;
19mod length;
20#[path = "measure.rs"]
21mod measure_;
22mod pad;
23mod page;
24mod place;
25mod point;
26mod ratio;
27mod rect;
28mod regions;
29mod rel;
30mod repeat;
31mod sides;
32mod size;
33mod spacing;
34mod stack;
35mod transform;
36
37pub use self::abs::*;
38pub use self::align::*;
39pub use self::angle::*;
40pub use self::axes::*;
41pub use self::columns::*;
42pub use self::container::*;
43pub use self::corners::*;
44pub use self::dir::*;
45pub use self::em::*;
46pub use self::fr::*;
47pub use self::fragment::*;
48pub use self::frame::*;
49pub use self::grid::*;
50pub use self::hide::*;
51pub use self::layout_::*;
52pub use self::length::*;
53pub use self::measure_::*;
54pub use self::pad::*;
55pub use self::page::*;
56pub use self::place::*;
57pub use self::point::*;
58pub use self::ratio::*;
59pub use self::rect::*;
60pub use self::regions::*;
61pub use self::rel::*;
62pub use self::repeat::*;
63pub use self::sides::*;
64pub use self::size::*;
65pub use self::spacing::*;
66pub use self::stack::*;
67pub use self::transform::*;
68
69use crate::foundations::Scope;
70
71/// Hook up all `layout` definitions.
72pub fn define(global: &mut Scope) {
73    global.start_category(crate::Category::Layout);
74    global.define_type::<Length>();
75    global.define_type::<Angle>();
76    global.define_type::<Ratio>();
77    global.define_type::<Rel<Length>>();
78    global.define_type::<Fr>();
79    global.define_type::<Dir>();
80    global.define_type::<Alignment>();
81    global.define_elem::<PageElem>();
82    global.define_elem::<PagebreakElem>();
83    global.define_elem::<VElem>();
84    global.define_elem::<HElem>();
85    global.define_elem::<BoxElem>();
86    global.define_elem::<BlockElem>();
87    global.define_elem::<StackElem>();
88    global.define_elem::<GridElem>();
89    global.define_elem::<ColumnsElem>();
90    global.define_elem::<ColbreakElem>();
91    global.define_elem::<PlaceElem>();
92    global.define_elem::<AlignElem>();
93    global.define_elem::<PadElem>();
94    global.define_elem::<RepeatElem>();
95    global.define_elem::<MoveElem>();
96    global.define_elem::<ScaleElem>();
97    global.define_elem::<RotateElem>();
98    global.define_elem::<SkewElem>();
99    global.define_elem::<HideElem>();
100    global.define_func::<measure>();
101    global.define_func::<layout>();
102    global.reset_category();
103}