diff --git a/crates/egui/src/widgets/label.rs b/crates/egui/src/widgets/label.rs index d2085d4fb49..55e20136379 100644 --- a/crates/egui/src/widgets/label.rs +++ b/crates/egui/src/widgets/label.rs @@ -26,6 +26,7 @@ pub struct Label { wrap_mode: Option, sense: Option, selectable: Option, + halign: Option, } impl Label { @@ -35,6 +36,7 @@ impl Label { wrap_mode: None, sense: None, selectable: None, + halign: None, } } @@ -76,6 +78,13 @@ impl Label { self } + /// Sets the horizontal alignment of the Label to the given `Align` value. + #[inline] + pub fn halign(mut self, align: Align) -> Self { + self.halign = Some(align); + self + } + /// Can the user select the text with the mouse? /// /// Overrides [`crate::style::Interaction::selectable_labels`]. @@ -211,7 +220,7 @@ impl Label { layout_job.halign = Align::LEFT; layout_job.justify = false; } else { - layout_job.halign = ui.layout().horizontal_placement(); + layout_job.halign = self.halign.unwrap_or(ui.layout().horizontal_placement()); layout_job.justify = ui.layout().horizontal_justify(); };