From a88aae5e04e0a92457e5dd617a86af823e90af6c Mon Sep 17 00:00:00 2001 From: Malte Veerman Date: Fri, 6 Dec 2019 19:37:56 +0100 Subject: Added an `Icon` widget to native. --- wgpu/src/renderer/widget/icon.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 wgpu/src/renderer/widget/icon.rs (limited to 'wgpu/src/renderer/widget') diff --git a/wgpu/src/renderer/widget/icon.rs b/wgpu/src/renderer/widget/icon.rs new file mode 100644 index 00000000..a271bb47 --- /dev/null +++ b/wgpu/src/renderer/widget/icon.rs @@ -0,0 +1,21 @@ +use crate::{svg::Handle, Primitive, Renderer}; +use iced_native::{ + icon, MouseCursor, Rectangle, +}; +use std::path::Path; + +impl icon::Renderer for Renderer { + fn draw( + &mut self, + bounds: Rectangle, + path: &Path, + ) -> Self::Output { + ( + Primitive::Svg { + handle: Handle::from_path(path), + bounds, + }, + MouseCursor::OutOfBounds, + ) + } +} \ No newline at end of file -- cgit From 5696afcadd5b3b89a532f4205efac30d8a24d558 Mon Sep 17 00:00:00 2001 From: Malte Veerman Date: Wed, 11 Dec 2019 22:13:29 +0100 Subject: Ran cargo_fmt over changed files. --- wgpu/src/renderer/widget/icon.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'wgpu/src/renderer/widget') diff --git a/wgpu/src/renderer/widget/icon.rs b/wgpu/src/renderer/widget/icon.rs index a271bb47..652e57a3 100644 --- a/wgpu/src/renderer/widget/icon.rs +++ b/wgpu/src/renderer/widget/icon.rs @@ -1,15 +1,9 @@ use crate::{svg::Handle, Primitive, Renderer}; -use iced_native::{ - icon, MouseCursor, Rectangle, -}; +use iced_native::{icon, MouseCursor, Rectangle}; use std::path::Path; impl icon::Renderer for Renderer { - fn draw( - &mut self, - bounds: Rectangle, - path: &Path, - ) -> Self::Output { + fn draw(&mut self, bounds: Rectangle, path: &Path) -> Self::Output { ( Primitive::Svg { handle: Handle::from_path(path), @@ -18,4 +12,4 @@ impl icon::Renderer for Renderer { MouseCursor::OutOfBounds, ) } -} \ No newline at end of file +} -- cgit From 895eaef99b52c24e6f3d804897ad850c1f1de960 Mon Sep 17 00:00:00 2001 From: Malte Veerman Date: Thu, 12 Dec 2019 01:14:54 +0100 Subject: Merged svg pipeline into image --- wgpu/src/renderer/widget/icon.rs | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 wgpu/src/renderer/widget/icon.rs (limited to 'wgpu/src/renderer/widget') diff --git a/wgpu/src/renderer/widget/icon.rs b/wgpu/src/renderer/widget/icon.rs deleted file mode 100644 index 652e57a3..00000000 --- a/wgpu/src/renderer/widget/icon.rs +++ /dev/null @@ -1,15 +0,0 @@ -use crate::{svg::Handle, Primitive, Renderer}; -use iced_native::{icon, MouseCursor, Rectangle}; -use std::path::Path; - -impl icon::Renderer for Renderer { - fn draw(&mut self, bounds: Rectangle, path: &Path) -> Self::Output { - ( - Primitive::Svg { - handle: Handle::from_path(path), - bounds, - }, - MouseCursor::OutOfBounds, - ) - } -} -- cgit From 09707f29fcf7fbd71570a43db214921043427c3f Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 15 Dec 2019 06:19:07 +0100 Subject: Rerasterize SVGs when resized and refactor a bit --- wgpu/src/renderer/widget/svg.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 wgpu/src/renderer/widget/svg.rs (limited to 'wgpu/src/renderer/widget') diff --git a/wgpu/src/renderer/widget/svg.rs b/wgpu/src/renderer/widget/svg.rs new file mode 100644 index 00000000..67bc3fe1 --- /dev/null +++ b/wgpu/src/renderer/widget/svg.rs @@ -0,0 +1,22 @@ +use crate::{Primitive, Renderer}; +use iced_native::{svg, Layout, MouseCursor}; + +impl svg::Renderer for Renderer { + fn dimensions(&self, handle: &svg::Handle) -> (u32, u32) { + self.image_pipeline.viewport_dimensions(handle) + } + + fn draw( + &mut self, + handle: svg::Handle, + layout: Layout<'_>, + ) -> Self::Output { + ( + Primitive::Svg { + handle, + bounds: layout.bounds(), + }, + MouseCursor::OutOfBounds, + ) + } +} -- cgit