summaryrefslogtreecommitdiffstats
path: root/core/src/widget
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2023-05-02 03:30:06 +0200
committerLibravatar GitHub <noreply@github.com>2023-05-02 03:30:06 +0200
commit2d7d9a130ece3fb6fa4cd52f9b32b4abd7887cf5 (patch)
tree6acba55171f28af1a3c9c4e65a99ad10abc11c65 /core/src/widget
parent57a276e16539d6aeca0619e0c5e36d0b1c1b5ef9 (diff)
parentedf3432bf5176be13437b9fd5d25b890ec9dbe69 (diff)
downloadiced-2d7d9a130ece3fb6fa4cd52f9b32b4abd7887cf5.tar.gz
iced-2d7d9a130ece3fb6fa4cd52f9b32b4abd7887cf5.tar.bz2
iced-2d7d9a130ece3fb6fa4cd52f9b32b4abd7887cf5.zip
Merge pull request #1822 from iced-rs/basic-shaping
`text::Shaping` strategy selection
Diffstat (limited to 'core/src/widget')
-rw-r--r--core/src/widget/text.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/src/widget/text.rs b/core/src/widget/text.rs
index 3193ba84..f0392168 100644
--- a/core/src/widget/text.rs
+++ b/core/src/widget/text.rs
@@ -24,6 +24,7 @@ where
horizontal_alignment: alignment::Horizontal,
vertical_alignment: alignment::Vertical,
font: Option<Renderer::Font>,
+ shaping: text::Shaping,
style: <Renderer::Theme as StyleSheet>::Style,
}
@@ -42,6 +43,7 @@ where
height: Length::Shrink,
horizontal_alignment: alignment::Horizontal::Left,
vertical_alignment: alignment::Vertical::Top,
+ shaping: text::Shaping::Basic,
style: Default::default(),
}
}
@@ -98,6 +100,12 @@ where
self.vertical_alignment = alignment;
self
}
+
+ /// Sets the [`text::Shaping`] strategy of the [`Text`].
+ pub fn shaping(mut self, shaping: text::Shaping) -> Self {
+ self.shaping = shaping;
+ self
+ }
}
impl<'a, Message, Renderer> Widget<Message, Renderer> for Text<'a, Renderer>
@@ -129,6 +137,7 @@ where
size,
self.font.unwrap_or_else(|| renderer.default_font()),
bounds,
+ self.shaping,
);
let size = limits.resolve(Size::new(width, height));
@@ -156,6 +165,7 @@ where
theme.appearance(self.style.clone()),
self.horizontal_alignment,
self.vertical_alignment,
+ self.shaping,
);
}
}
@@ -180,6 +190,7 @@ pub fn draw<Renderer>(
appearance: Appearance,
horizontal_alignment: alignment::Horizontal,
vertical_alignment: alignment::Vertical,
+ shaping: text::Shaping,
) where
Renderer: text::Renderer,
{
@@ -205,6 +216,7 @@ pub fn draw<Renderer>(
font: font.unwrap_or_else(|| renderer.default_font()),
horizontal_alignment,
vertical_alignment,
+ shaping,
});
}
@@ -234,6 +246,7 @@ where
vertical_alignment: self.vertical_alignment,
font: self.font,
style: self.style.clone(),
+ shaping: self.shaping,
}
}
}