diff options
author | 2024-07-17 18:47:58 +0200 | |
---|---|---|
committer | 2024-07-17 18:50:53 +0200 | |
commit | ffb520fb3703ce4ece9fb6d5ee2c7aa0b846879f (patch) | |
tree | 2f840fba3f2bb72e3d255c2778f88dd324cc0f4e /core/src/widget | |
parent | 616689ca54942a13aac3615e571ae995ad4571b6 (diff) | |
download | iced-ffb520fb3703ce4ece9fb6d5ee2c7aa0b846879f.tar.gz iced-ffb520fb3703ce4ece9fb6d5ee2c7aa0b846879f.tar.bz2 iced-ffb520fb3703ce4ece9fb6d5ee2c7aa0b846879f.zip |
Decouple caching from `Paragraph` API
Diffstat (limited to 'core/src/widget')
-rw-r--r-- | core/src/widget/text.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/core/src/widget/text.rs b/core/src/widget/text.rs index 91c9893d..2aeb0765 100644 --- a/core/src/widget/text.rs +++ b/core/src/widget/text.rs @@ -3,7 +3,8 @@ use crate::alignment; use crate::layout; use crate::mouse; use crate::renderer; -use crate::text::{self, Paragraph}; +use crate::text; +use crate::text::paragraph::{self, Paragraph}; use crate::widget::tree::{self, Tree}; use crate::{ Color, Element, Layout, Length, Pixels, Point, Rectangle, Size, Theme, @@ -155,7 +156,7 @@ where /// The internal state of a [`Text`] widget. #[derive(Debug, Default)] -pub struct State<P: Paragraph>(P); +pub struct State<P: Paragraph>(paragraph::Plain<P>); impl<'a, Message, Theme, Renderer> Widget<Message, Theme, Renderer> for Text<'a, Theme, Renderer> @@ -168,7 +169,9 @@ where } fn state(&self) -> tree::State { - tree::State::new(State(Renderer::Paragraph::default())) + tree::State::new(State::<Renderer::Paragraph>( + paragraph::Plain::default(), + )) } fn size(&self) -> Size<Length> { @@ -294,7 +297,7 @@ pub fn draw<Renderer>( }; renderer.fill_paragraph( - paragraph, + paragraph.raw(), Point::new(x, y), appearance.color.unwrap_or(style.text_color), *viewport, |