diff options
author | 2024-03-21 22:27:17 +0100 | |
---|---|---|
committer | 2024-03-21 22:27:17 +0100 | |
commit | 3645d34d6a1ba1247238e830e9eefd52d9e5b986 (patch) | |
tree | 2d38961161df0a85c1667474b2b696aab86b7160 /widget/src/qr_code.rs | |
parent | 7e4ae8450e1f28c15717ca5ca9748981af9c9541 (diff) | |
download | iced-3645d34d6a1ba1247238e830e9eefd52d9e5b986.tar.gz iced-3645d34d6a1ba1247238e830e9eefd52d9e5b986.tar.bz2 iced-3645d34d6a1ba1247238e830e9eefd52d9e5b986.zip |
Implement composable, type-safe renderer fallback
Diffstat (limited to 'widget/src/qr_code.rs')
-rw-r--r-- | widget/src/qr_code.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/widget/src/qr_code.rs b/widget/src/qr_code.rs index 90c0c970..bc46aaaa 100644 --- a/widget/src/qr_code.rs +++ b/widget/src/qr_code.rs @@ -8,7 +8,6 @@ use crate::core::{ Color, Element, Layout, Length, Point, Rectangle, Size, Theme, Vector, Widget, }; -use crate::graphics::geometry::Renderer as _; use crate::Renderer; use std::cell::RefCell; @@ -92,6 +91,8 @@ impl<'a, Message, Theme> Widget<Message, Theme, Renderer> _cursor: mouse::Cursor, _viewport: &Rectangle, ) { + use canvas::Frame; + let state = tree.state.downcast_ref::<State>(); let bounds = layout.bounds(); @@ -142,7 +143,7 @@ impl<'a, Message, Theme> Widget<Message, Theme, Renderer> renderer.with_translation( bounds.position() - Point::ORIGIN, |renderer| { - renderer.draw(vec![geometry]); + renderer.draw_geometry(vec![geometry]); }, ); } @@ -161,11 +162,11 @@ where /// The data of a [`QRCode`]. /// /// It stores the contents that will be displayed. -#[derive(Debug)] +#[allow(missing_debug_implementations)] pub struct Data { contents: Vec<qrcode::Color>, width: usize, - cache: canvas::Cache, + cache: canvas::Cache<Renderer>, } impl Data { |