Fix horizontal text alignment

This commit is contained in:
Héctor Ramón Jiménez 2025-03-11 00:43:51 +01:00
parent 35c0e14452
commit 179a34d37b
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
23 changed files with 141 additions and 67 deletions

View file

@ -336,7 +336,7 @@ impl geometry::frame::Backend for Frame {
size,
line_height: line_height.to_absolute(size),
font: text.font,
horizontal_alignment: text.horizontal_alignment,
horizontal_alignment: Some(text.horizontal_alignment),
vertical_alignment: text.vertical_alignment,
shaping: text.shaping,
clip_bounds: self.clip_bounds,

View file

@ -417,7 +417,7 @@ impl Renderer {
size: Pixels(20.0),
line_height: core::text::LineHeight::default(),
font: Font::MONOSPACE,
horizontal_alignment: alignment::Horizontal::Left,
horizontal_alignment: None,
vertical_alignment: alignment::Vertical::Top,
shaping: core::text::Shaping::Basic,
wrapping: core::text::Wrapping::Word,

View file

@ -540,7 +540,7 @@ fn prepare(
(
editor.buffer(),
Rectangle::new(*position, editor.bounds()),
alignment::Horizontal::Left,
None,
alignment::Vertical::Top,
*color,
*clip_bounds,
@ -591,7 +591,7 @@ fn prepare(
height.unwrap_or(layer_bounds.height),
),
),
alignment::Horizontal::Left,
None,
alignment::Vertical::Top,
raw.color,
raw.clip_bounds,
@ -603,9 +603,11 @@ fn prepare(
let bounds = bounds * transformation * layer_transformation;
let left = match horizontal_alignment {
alignment::Horizontal::Left => bounds.x,
alignment::Horizontal::Center => bounds.x - bounds.width / 2.0,
alignment::Horizontal::Right => bounds.x - bounds.width,
None | Some(alignment::Horizontal::Left) => bounds.x,
Some(alignment::Horizontal::Center) => {
bounds.x - bounds.width / 2.0
}
Some(alignment::Horizontal::Right) => bounds.x - bounds.width,
};
let top = match vertical_alignment {