From 7a50e9e8fbb8d37e53a42c1dd5936b97463ead53 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 21 Jan 2024 17:56:01 +0100 Subject: Convert `Renderer::Theme` to generic `Widget` type --- renderer/src/compositor.rs | 14 +++++++------- renderer/src/geometry.rs | 2 +- renderer/src/geometry/cache.rs | 4 ++-- renderer/src/lib.rs | 29 +++++++++++++---------------- 4 files changed, 23 insertions(+), 26 deletions(-) (limited to 'renderer') diff --git a/renderer/src/compositor.rs b/renderer/src/compositor.rs index f10ed048..dc2c50ff 100644 --- a/renderer/src/compositor.rs +++ b/renderer/src/compositor.rs @@ -5,10 +5,10 @@ use crate::{Renderer, Settings}; use std::env; -pub enum Compositor { - TinySkia(iced_tiny_skia::window::Compositor), +pub enum Compositor { + TinySkia(iced_tiny_skia::window::Compositor), #[cfg(feature = "wgpu")] - Wgpu(iced_wgpu::window::Compositor), + Wgpu(iced_wgpu::window::Compositor), } pub enum Surface { @@ -17,9 +17,9 @@ pub enum Surface { Wgpu(iced_wgpu::window::Surface<'static>), } -impl crate::graphics::Compositor for Compositor { +impl crate::graphics::Compositor for Compositor { type Settings = Settings; - type Renderer = Renderer; + type Renderer = Renderer; type Surface = Surface; fn new( @@ -225,11 +225,11 @@ impl Candidate { ) } - fn build( + fn build( self, settings: Settings, _compatible_window: W, - ) -> Result, Error> { + ) -> Result { match self { Self::TinySkia => { let compositor = iced_tiny_skia::window::compositor::new( diff --git a/renderer/src/geometry.rs b/renderer/src/geometry.rs index 1ecb0a43..19ac87da 100644 --- a/renderer/src/geometry.rs +++ b/renderer/src/geometry.rs @@ -29,7 +29,7 @@ macro_rules! delegate { } impl Frame { - pub fn new(renderer: &Renderer, size: Size) -> Self { + pub fn new(renderer: &Renderer, size: Size) -> Self { match renderer { Renderer::TinySkia(_) => { Frame::TinySkia(iced_tiny_skia::geometry::Frame::new(size)) diff --git a/renderer/src/geometry/cache.rs b/renderer/src/geometry/cache.rs index d4bb04b3..3aff76b9 100644 --- a/renderer/src/geometry/cache.rs +++ b/renderer/src/geometry/cache.rs @@ -54,9 +54,9 @@ impl Cache { /// Otherwise, the previously stored [`Geometry`] will be returned. The /// [`Cache`] is not cleared in this case. In other words, it will keep /// returning the stored [`Geometry`] if needed. - pub fn draw( + pub fn draw( &self, - renderer: &Renderer, + renderer: &Renderer, bounds: Size, draw_fn: impl FnOnce(&mut Frame), ) -> Geometry { diff --git a/renderer/src/lib.rs b/renderer/src/lib.rs index f2acfa00..a7df414b 100644 --- a/renderer/src/lib.rs +++ b/renderer/src/lib.rs @@ -32,10 +32,10 @@ use std::borrow::Cow; /// The default graphics renderer for [`iced`]. /// /// [`iced`]: https://github.com/iced-rs/iced -pub enum Renderer { - TinySkia(iced_tiny_skia::Renderer), +pub enum Renderer { + TinySkia(iced_tiny_skia::Renderer), #[cfg(feature = "wgpu")] - Wgpu(iced_wgpu::Renderer), + Wgpu(iced_wgpu::Renderer), } macro_rules! delegate { @@ -48,7 +48,7 @@ macro_rules! delegate { }; } -impl Renderer { +impl Renderer { pub fn draw_mesh(&mut self, mesh: Mesh) { match self { Self::TinySkia(_) => { @@ -64,9 +64,7 @@ impl Renderer { } } -impl core::Renderer for Renderer { - type Theme = T; - +impl core::Renderer for Renderer { fn with_layer(&mut self, bounds: Rectangle, f: impl FnOnce(&mut Self)) { match self { Self::TinySkia(renderer) => { @@ -148,15 +146,14 @@ impl core::Renderer for Renderer { } } -impl text::Renderer for Renderer { +impl text::Renderer for Renderer { type Font = Font; type Paragraph = Paragraph; type Editor = Editor; - const ICON_FONT: Font = iced_tiny_skia::Renderer::::ICON_FONT; - const CHECKMARK_ICON: char = iced_tiny_skia::Renderer::::CHECKMARK_ICON; - const ARROW_DOWN_ICON: char = - iced_tiny_skia::Renderer::::ARROW_DOWN_ICON; + const ICON_FONT: Font = iced_tiny_skia::Renderer::ICON_FONT; + const CHECKMARK_ICON: char = iced_tiny_skia::Renderer::CHECKMARK_ICON; + const ARROW_DOWN_ICON: char = iced_tiny_skia::Renderer::ARROW_DOWN_ICON; fn default_font(&self) -> Self::Font { delegate!(self, renderer, renderer.default_font()) @@ -214,7 +211,7 @@ impl text::Renderer for Renderer { } #[cfg(feature = "image")] -impl crate::core::image::Renderer for Renderer { +impl crate::core::image::Renderer for Renderer { type Handle = crate::core::image::Handle; fn dimensions( @@ -235,7 +232,7 @@ impl crate::core::image::Renderer for Renderer { } #[cfg(feature = "svg")] -impl crate::core::svg::Renderer for Renderer { +impl crate::core::svg::Renderer for Renderer { fn dimensions(&self, handle: &crate::core::svg::Handle) -> core::Size { delegate!(self, renderer, renderer.dimensions(handle)) } @@ -251,7 +248,7 @@ impl crate::core::svg::Renderer for Renderer { } #[cfg(feature = "geometry")] -impl crate::graphics::geometry::Renderer for Renderer { +impl crate::graphics::geometry::Renderer for Renderer { type Geometry = crate::Geometry; fn draw(&mut self, layers: Vec) { @@ -283,7 +280,7 @@ impl crate::graphics::geometry::Renderer for Renderer { } #[cfg(feature = "wgpu")] -impl iced_wgpu::primitive::pipeline::Renderer for Renderer { +impl iced_wgpu::primitive::pipeline::Renderer for Renderer { fn draw_pipeline_primitive( &mut self, bounds: Rectangle, -- cgit