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 {
16 self.then(
17 Self::with_element(AlignmentElement::box_alignment(alignment)).with_inspector_metadata(
18 inspector_metadata("align", move |info| {
19 info.add_alignment("boxAlignment", alignment);
20 }),
21 ),
22 )
23 }
24
25 #[expect(non_snake_case)]
27 pub fn alignInBox(self, alignment: Alignment) -> Self {
28 self.align(alignment)
29 }
30
31 #[expect(non_snake_case)]
33 pub fn alignInColumn(self, alignment: HorizontalAlignment) -> Self {
34 let modifier = Self::with_element(AlignmentElement::column_alignment(alignment))
35 .with_inspector_metadata(inspector_metadata("alignInColumn", move |info| {
36 info.add_alignment("columnAlignment", alignment);
37 }));
38 self.then(modifier)
39 }
40
41 #[expect(non_snake_case)]
43 pub fn alignInRow(self, alignment: VerticalAlignment) -> Self {
44 let modifier = Self::with_element(AlignmentElement::row_alignment(alignment))
45 .with_inspector_metadata(inspector_metadata("alignInRow", move |info| {
46 info.add_alignment("rowAlignment", alignment);
47 }));
48 self.then(modifier)
49 }
50}