summaryrefslogtreecommitdiffstats
path: root/graphics/src/widget/qr_code.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2021-11-07 15:15:33 +0700
committerLibravatar GitHub <noreply@github.com>2021-11-07 15:15:33 +0700
commiteafad00af2a9bae9f3ed8124e2a6f6e59ee5d253 (patch)
tree76413948c9c9723075189d51d4c2e02c0f8fdd23 /graphics/src/widget/qr_code.rs
parent61c747b53589d98f477fea95f85d2ea5349666d3 (diff)
parent07b5097bc92ced376d09115d787ff1d2ebe00836 (diff)
downloadiced-eafad00af2a9bae9f3ed8124e2a6f6e59ee5d253.tar.gz
iced-eafad00af2a9bae9f3ed8124e2a6f6e59ee5d253.tar.bz2
iced-eafad00af2a9bae9f3ed8124e2a6f6e59ee5d253.zip
Merge pull request #1110 from iced-rs/remove-renderer-traits
Reduce the surface of the `Renderer` APIs
Diffstat (limited to 'graphics/src/widget/qr_code.rs')
-rw-r--r--graphics/src/widget/qr_code.rs28
1 files changed, 15 insertions, 13 deletions
diff --git a/graphics/src/widget/qr_code.rs b/graphics/src/widget/qr_code.rs
index b3a01dd7..285b8622 100644
--- a/graphics/src/widget/qr_code.rs
+++ b/graphics/src/widget/qr_code.rs
@@ -1,10 +1,12 @@
//! Encode and display information in a QR code.
use crate::canvas;
-use crate::{Backend, Defaults, Primitive, Renderer, Vector};
+use crate::renderer::{self, Renderer};
+use crate::Backend;
+use iced_native::layout;
use iced_native::{
- layout, mouse, Color, Element, Hasher, Layout, Length, Point, Rectangle,
- Size, Widget,
+ Color, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector,
+ Widget,
};
use thiserror::Error;
@@ -80,12 +82,14 @@ where
fn draw(
&self,
- _renderer: &mut Renderer<B>,
- _defaults: &Defaults,
+ renderer: &mut Renderer<B>,
+ _style: &renderer::Style,
layout: Layout<'_>,
_cursor_position: Point,
_viewport: &Rectangle,
- ) -> (Primitive, mouse::Interaction) {
+ ) {
+ use iced_native::Renderer as _;
+
let bounds = layout.bounds();
let side_length = self.state.width + 2 * QUIET_ZONE;
@@ -122,13 +126,11 @@ where
});
});
- (
- Primitive::Translate {
- translation: Vector::new(bounds.x, bounds.y),
- content: Box::new(geometry.into_primitive()),
- },
- mouse::Interaction::default(),
- )
+ let translation = Vector::new(bounds.x, bounds.y);
+
+ renderer.with_translation(translation, |renderer| {
+ renderer.draw_primitive(geometry.into_primitive());
+ });
}
}