From e84070acef84f883ca42d965c577e54ce60c3f2a Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sat, 3 Aug 2024 16:20:12 +0200 Subject: Implement `From<&Handle>` for `image::Handle` --- widget/src/image.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'widget/src') diff --git a/widget/src/image.rs b/widget/src/image.rs index 80e17263..f1571400 100644 --- a/widget/src/image.rs +++ b/widget/src/image.rs @@ -43,7 +43,7 @@ pub struct Image { impl Image { /// Creates a new [`Image`] with the given path. - pub fn new>(handle: T) -> Self { + pub fn new(handle: impl Into) -> Self { Image { handle: handle.into(), width: Length::Shrink, -- cgit From 92bd3ecd6b4a6618f0fc725dea3694c3b40e5314 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 4 Aug 2024 04:30:12 +0200 Subject: Introduce `Image` struct in `core::image` --- widget/src/canvas.rs | 4 ++-- widget/src/image.rs | 15 +++++++++------ widget/src/image/viewer.rs | 15 +++++++++------ 3 files changed, 20 insertions(+), 14 deletions(-) (limited to 'widget/src') diff --git a/widget/src/canvas.rs b/widget/src/canvas.rs index 73cef087..185fa082 100644 --- a/widget/src/canvas.rs +++ b/widget/src/canvas.rs @@ -8,8 +8,8 @@ pub use program::Program; pub use crate::graphics::cache::Group; pub use crate::graphics::geometry::{ - fill, gradient, path, stroke, Fill, Gradient, LineCap, LineDash, LineJoin, - Path, Stroke, Style, Text, + fill, gradient, path, stroke, Fill, Gradient, Image, LineCap, LineDash, + LineJoin, Path, Stroke, Style, Text, }; use crate::core; diff --git a/widget/src/image.rs b/widget/src/image.rs index f1571400..55dd9816 100644 --- a/widget/src/image.rs +++ b/widget/src/image.rs @@ -8,8 +8,8 @@ use crate::core::mouse; use crate::core::renderer; use crate::core::widget::Tree; use crate::core::{ - ContentFit, Element, Layout, Length, Point, Rectangle, Rotation, Size, - Vector, Widget, + self, ContentFit, Element, Layout, Length, Point, Rectangle, Rotation, + Size, Vector, Widget, }; pub use image::{FilterMethod, Handle}; @@ -181,11 +181,14 @@ pub fn draw( let render = |renderer: &mut Renderer| { renderer.draw_image( - handle.clone(), - filter_method, + core::Image { + handle: handle.clone(), + filter_method, + rotation: rotation.radians(), + opacity, + snap: true, + }, drawing_bounds, - rotation.radians(), - opacity, ); }; diff --git a/widget/src/image/viewer.rs b/widget/src/image/viewer.rs index b8b69b60..b1aad22c 100644 --- a/widget/src/image/viewer.rs +++ b/widget/src/image/viewer.rs @@ -6,8 +6,8 @@ use crate::core::mouse; use crate::core::renderer; use crate::core::widget::tree::{self, Tree}; use crate::core::{ - Clipboard, ContentFit, Element, Layout, Length, Pixels, Point, Radians, - Rectangle, Shell, Size, Vector, Widget, + Clipboard, ContentFit, Element, Image, Layout, Length, Pixels, Point, + Radians, Rectangle, Shell, Size, Vector, Widget, }; /// A frame that displays an image with the ability to zoom in/out and pan. @@ -349,11 +349,14 @@ where let render = |renderer: &mut Renderer| { renderer.with_translation(translation, |renderer| { renderer.draw_image( - self.handle.clone(), - self.filter_method, + Image { + handle: self.handle.clone(), + filter_method: self.filter_method, + rotation: Radians(0.0), + opacity: 1.0, + snap: true, + }, drawing_bounds, - Radians(0.0), - 1.0, ); }); }; -- cgit From d4b08462e5a25929ec4df32f242898986902af56 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 4 Aug 2024 04:52:55 +0200 Subject: Introduce `Svg` struct in `core::svg` --- widget/src/image.rs | 6 +++--- widget/src/svg.rs | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'widget/src') diff --git a/widget/src/image.rs b/widget/src/image.rs index 55dd9816..e04f2d6f 100644 --- a/widget/src/image.rs +++ b/widget/src/image.rs @@ -8,8 +8,8 @@ use crate::core::mouse; use crate::core::renderer; use crate::core::widget::Tree; use crate::core::{ - self, ContentFit, Element, Layout, Length, Point, Rectangle, Rotation, - Size, Vector, Widget, + ContentFit, Element, Layout, Length, Point, Rectangle, Rotation, Size, + Vector, Widget, }; pub use image::{FilterMethod, Handle}; @@ -181,7 +181,7 @@ pub fn draw( let render = |renderer: &mut Renderer| { renderer.draw_image( - core::Image { + image::Image { handle: handle.clone(), filter_method, rotation: rotation.radians(), diff --git a/widget/src/svg.rs b/widget/src/svg.rs index 4551bcad..bec0090f 100644 --- a/widget/src/svg.rs +++ b/widget/src/svg.rs @@ -211,11 +211,13 @@ where let render = |renderer: &mut Renderer| { renderer.draw_svg( - self.handle.clone(), - style.color, + svg::Svg { + handle: self.handle.clone(), + color: style.color, + rotation: self.rotation.radians(), + opacity: self.opacity, + }, drawing_bounds, - self.rotation.radians(), - self.opacity, ); }; -- cgit