cranpose_ui/modifier/
alignment.rs1use super::{Alignment, HorizontalAlignment, Modifier, VerticalAlignment, inspector_metadata};
2use crate::modifier_nodes::AlignmentElement;
3
4impl Modifier {
5 pub fn align_by_baseline(self) -> Self {
8 self.then(
9 Self::with_element(AlignmentElement::row_baseline())
10 .with_inspector_metadata(inspector_metadata("alignByBaseline", |_| {})),
11 )
12 }
13
14 pub fn align(self, alignment: Alignment) -> Self {
15 self.then(
16 Self::with_element(AlignmentElement::box_alignment(alignment)).with_inspector_metadata(
17 inspector_metadata("align", move |info| {
18 info.add_alignment("boxAlignment", alignment);
19 }),
20 ),
21 )
22 }
23
24 #[expect(non_snake_case)]
25 pub fn alignInBox(self, alignment: Alignment) -> Self {
26 self.align(alignment)
27 }
28
29 #[expect(non_snake_case)]
30 pub fn alignInColumn(self, alignment: HorizontalAlignment) -> Self {
31 let modifier = Self::with_element(AlignmentElement::column_alignment(alignment))
32 .with_inspector_metadata(inspector_metadata("alignInColumn", move |info| {
33 info.add_alignment("columnAlignment", alignment);
34 }));
35 self.then(modifier)
36 }
37
38 #[expect(non_snake_case)]
39 pub fn alignInRow(self, alignment: VerticalAlignment) -> Self {
40 let modifier = Self::with_element(AlignmentElement::row_alignment(alignment))
41 .with_inspector_metadata(inspector_metadata("alignInRow", move |info| {
42 info.add_alignment("rowAlignment", alignment);
43 }));
44 self.then(modifier)
45 }
46}