diff --git a/egui/src/layout.rs b/egui/src/layout.rs index 087f2b2e..c0425c65 100644 --- a/egui/src/layout.rs +++ b/egui/src/layout.rs @@ -151,6 +151,9 @@ impl Default for Layout { /// ## Constructors impl Layout { + /// Place elements horizontally, left to right. + /// + /// Elements will be centered vertically. #[inline(always)] pub fn left_to_right() -> Self { Self { @@ -163,6 +166,9 @@ impl Layout { } } + /// Place elements horizontally, right to left. + /// + /// Elements will be centered vertically. #[inline(always)] pub fn right_to_left() -> Self { Self { @@ -175,6 +181,9 @@ impl Layout { } } + /// Place elements vertically, top to bottom. + /// + /// Use the provided horizontal alignmen. #[inline(always)] pub fn top_down(cross_align: Align) -> Self { Self { @@ -193,6 +202,9 @@ impl Layout { Self::top_down(cross_align).with_cross_justify(true) } + /// Place elements vertically, bottom up. + /// + /// Use the provided horizontal alignmen. #[inline(always)] pub fn bottom_up(cross_align: Align) -> Self { Self { @@ -217,6 +229,8 @@ impl Layout { } } + /// For when you want to add a single widget to a layout, and that widget + /// should use up all available space. #[inline(always)] pub fn centered_and_justified(main_dir: Direction) -> Self { Self { @@ -229,11 +243,19 @@ impl Layout { } } + /// Wrap widgets when we overflow the main axis? + /// + /// For instance, for left-to-right layouts, setting this to `true` will + /// put widgets on a new row if we would overflow the right side of [`crate::Ui::max_rect`]. #[inline(always)] pub fn with_main_wrap(self, main_wrap: bool) -> Self { Self { main_wrap, ..self } } + /// The aligmnet to use on the cross axis. + /// + /// The "cross" axis is the one orthogonal to the main axis. + /// For instance: in left-to-right layout, the main axis is horizontal and the cross axis is vertical. #[inline(always)] pub fn with_cross_align(self, cross_align: Align) -> Self { Self { @@ -242,6 +264,9 @@ impl Layout { } } + /// Justify widgets on the main axis? + /// + /// Justify here means "take up all available space". #[inline(always)] pub fn with_main_justify(self, main_justify: bool) -> Self { Self { @@ -250,6 +275,12 @@ impl Layout { } } + /// Justify widgets along the cross axis? + /// + /// Justify here means "take up all available space". + /// + /// The "cross" axis is the one orthogonal to the main axis. + /// For instance: in left-to-right layout, the main axis is horizontal and the cross axis is vertical. #[inline(always)] pub fn with_cross_justify(self, cross_justify: bool) -> Self { Self {