Introduce text::Alignment with Justified support
This commit is contained in:
parent
e45d4b5cb6
commit
0e4a392731
30 changed files with 227 additions and 195 deletions
|
|
@ -30,9 +30,9 @@ pub struct Text {
|
|||
/// The font of the text
|
||||
pub font: Font,
|
||||
/// The horizontal alignment of the text
|
||||
pub horizontal_alignment: alignment::Horizontal,
|
||||
pub align_x: alignment::Horizontal,
|
||||
/// The vertical alignment of the text
|
||||
pub vertical_alignment: alignment::Vertical,
|
||||
pub align_y: alignment::Vertical,
|
||||
/// The shaping strategy of the text.
|
||||
pub shaping: Shaping,
|
||||
}
|
||||
|
|
@ -60,7 +60,7 @@ impl Text {
|
|||
4,
|
||||
);
|
||||
|
||||
let translation_x = match self.horizontal_alignment {
|
||||
let translation_x = match self.align_x {
|
||||
alignment::Horizontal::Left => self.position.x,
|
||||
alignment::Horizontal::Center | alignment::Horizontal::Right => {
|
||||
let mut line_width = 0.0f32;
|
||||
|
|
@ -69,7 +69,7 @@ impl Text {
|
|||
line_width = line_width.max(line.w);
|
||||
}
|
||||
|
||||
if self.horizontal_alignment == alignment::Horizontal::Center {
|
||||
if self.align_x == alignment::Horizontal::Center {
|
||||
self.position.x - line_width / 2.0
|
||||
} else {
|
||||
self.position.x - line_width
|
||||
|
|
@ -80,7 +80,7 @@ impl Text {
|
|||
let translation_y = {
|
||||
let line_height = self.line_height.to_absolute(self.size);
|
||||
|
||||
match self.vertical_alignment {
|
||||
match self.align_y {
|
||||
alignment::Vertical::Top => self.position.y,
|
||||
alignment::Vertical::Center => {
|
||||
self.position.y - line_height.0 / 2.0
|
||||
|
|
@ -180,8 +180,8 @@ impl Default for Text {
|
|||
size: Pixels(16.0),
|
||||
line_height: LineHeight::Relative(1.2),
|
||||
font: Font::default(),
|
||||
horizontal_alignment: alignment::Horizontal::Left,
|
||||
vertical_alignment: alignment::Vertical::Top,
|
||||
align_x: alignment::Horizontal::Left,
|
||||
align_y: alignment::Vertical::Top,
|
||||
shaping: Shaping::Basic,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue