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 regions;
28mod rel;
29mod repeat;
30mod sides;
31mod size;
32mod spacing;
33mod stack;
34mod transform;
35
36pub use self::abs::*;
37pub use self::align::*;
38pub use self::angle::*;
39pub use self::axes::*;
40pub use self::columns::*;
41pub use self::container::*;
42pub use self::corners::*;
43pub use self::dir::*;
44pub use self::em::*;
45pub use self::fr::*;
46pub use self::fragment::*;
47pub use self::frame::*;
48pub use self::grid::*;
49pub use self::hide::*;
50pub use self::layout_::*;
51pub use self::length::*;
52pub use self::measure_::*;
53pub use self::pad::*;
54pub use self::page::*;
55pub use self::place::*;
56pub use self::point::*;
57pub use self::ratio::*;
58pub use self::regions::*;
59pub use self::rel::*;
60pub use self::repeat::*;
61pub use self::sides::*;
62pub use self::size::*;
63pub use self::spacing::*;
64pub use self::stack::*;
65pub use self::transform::*;
66
67use crate::foundations::Scope;
68
69/// Hook up all `layout` definitions.
70pub fn define(global: &mut Scope) {
71    global.start_category(crate::Category::Layout);
72    global.define_type::<Length>();
73    global.define_type::<Angle>();
74    global.define_type::<Ratio>();
75    global.define_type::<Rel<Length>>();
76    global.define_type::<Fr>();
77    global.define_type::<Dir>();
78    global.define_type::<Alignment>();
79    global.define_elem::<PageElem>();
80    global.define_elem::<PagebreakElem>();
81    global.define_elem::<VElem>();
82    global.define_elem::<HElem>();
83    global.define_elem::<BoxElem>();
84    global.define_elem::<BlockElem>();
85    global.define_elem::<StackElem>();
86    global.define_elem::<GridElem>();
87    global.define_elem::<ColumnsElem>();
88    global.define_elem::<ColbreakElem>();
89    global.define_elem::<PlaceElem>();
90    global.define_elem::<AlignElem>();
91    global.define_elem::<PadElem>();
92    global.define_elem::<RepeatElem>();
93    global.define_elem::<MoveElem>();
94    global.define_elem::<ScaleElem>();
95    global.define_elem::<RotateElem>();
96    global.define_elem::<SkewElem>();
97    global.define_elem::<HideElem>();
98    global.define_func::<measure>();
99    global.define_func::<layout>();
100    global.reset_category();
101}