diff options
Diffstat (limited to 'examples/ggez/renderer/text.rs')
-rw-r--r-- | examples/ggez/renderer/text.rs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/examples/ggez/renderer/text.rs b/examples/ggez/renderer/text.rs index bfdedf74..a6f782fc 100644 --- a/examples/ggez/renderer/text.rs +++ b/examples/ggez/renderer/text.rs @@ -9,16 +9,16 @@ impl text::Renderer<Color> for Renderer<'_> { fn node(&self, style: iced::Style, content: &str, size: f32) -> iced::Node { let font_cache = graphics::font_cache(self.context); let content = String::from(content); + + // TODO: Investigate why stretch tries to measure this MANY times + // with every ancestor's bounds. + // Bug? Using the library wrong? I should probably open an issue on + // the stretch repository. + // I noticed that the first measure is the one that matters in + // practice. Here, we use a RefCell to store the cached measurement. let measure = RefCell::new(None); iced::Node::with_measure(style, move |bounds| { - // TODO: Investigate why stretch tries to measure this MANY times - // with every ancestor's bounds. - // Bug? Using the library wrong? I should probably open an issue on - // the stretch repository. - // I noticed that the first measure is the one that matters in - // practice. Here, we use a RefCell to store the cached - // measurement. let mut measure = measure.borrow_mut(); if measure.is_none() { @@ -47,7 +47,7 @@ impl text::Renderer<Color> for Renderer<'_> { Align::Left, ); - let (width, height) = text.dimensions(&font_cache); + let (width, height) = font_cache.dimensions(&text); let size = iced::Size { width: width as f32, @@ -69,10 +69,10 @@ impl text::Renderer<Color> for Renderer<'_> { fn draw( &mut self, - bounds: iced::Rectangle<f32>, + bounds: iced::Rectangle, content: &str, size: f32, - color: Color, + color: Option<Color>, horizontal_alignment: text::HorizontalAlignment, _vertical_alignment: text::VerticalAlignment, ) { @@ -101,7 +101,7 @@ impl text::Renderer<Color> for Renderer<'_> { x: bounds.x, y: bounds.y, }, - Some(color), + color, ); } } |