diff options
| author | 2024-01-21 17:56:01 +0100 | |
|---|---|---|
| committer | 2024-01-21 17:56:01 +0100 | |
| commit | 7a50e9e8fbb8d37e53a42c1dd5936b97463ead53 (patch) | |
| tree | c0960018f287bcb2043a1752ae85ad0d45e00f21 /renderer | |
| parent | 545cc909c9f356dd733d273173694db9b8c28594 (diff) | |
| download | iced-7a50e9e8fbb8d37e53a42c1dd5936b97463ead53.tar.gz iced-7a50e9e8fbb8d37e53a42c1dd5936b97463ead53.tar.bz2 iced-7a50e9e8fbb8d37e53a42c1dd5936b97463ead53.zip | |
Convert `Renderer::Theme` to generic `Widget` type
Diffstat (limited to '')
| -rw-r--r-- | renderer/src/compositor.rs | 14 | ||||
| -rw-r--r-- | renderer/src/geometry.rs | 2 | ||||
| -rw-r--r-- | renderer/src/geometry/cache.rs | 4 | ||||
| -rw-r--r-- | renderer/src/lib.rs | 29 | 
4 files changed, 23 insertions, 26 deletions
| 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<Theme> { -    TinySkia(iced_tiny_skia::window::Compositor<Theme>), +pub enum Compositor { +    TinySkia(iced_tiny_skia::window::Compositor),      #[cfg(feature = "wgpu")] -    Wgpu(iced_wgpu::window::Compositor<Theme>), +    Wgpu(iced_wgpu::window::Compositor),  }  pub enum Surface { @@ -17,9 +17,9 @@ pub enum Surface {      Wgpu(iced_wgpu::window::Surface<'static>),  } -impl<Theme> crate::graphics::Compositor for Compositor<Theme> { +impl crate::graphics::Compositor for Compositor {      type Settings = Settings; -    type Renderer = Renderer<Theme>; +    type Renderer = Renderer;      type Surface = Surface;      fn new<W: Window + Clone>( @@ -225,11 +225,11 @@ impl Candidate {          )      } -    fn build<Theme, W: Window>( +    fn build<W: Window>(          self,          settings: Settings,          _compatible_window: W, -    ) -> Result<Compositor<Theme>, Error> { +    ) -> Result<Compositor, Error> {          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<Theme>(renderer: &Renderer<Theme>, 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<Theme>( +    pub fn draw(          &self, -        renderer: &Renderer<Theme>, +        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<Theme> { -    TinySkia(iced_tiny_skia::Renderer<Theme>), +pub enum Renderer { +    TinySkia(iced_tiny_skia::Renderer),      #[cfg(feature = "wgpu")] -    Wgpu(iced_wgpu::Renderer<Theme>), +    Wgpu(iced_wgpu::Renderer),  }  macro_rules! delegate { @@ -48,7 +48,7 @@ macro_rules! delegate {      };  } -impl<T> Renderer<T> { +impl Renderer {      pub fn draw_mesh(&mut self, mesh: Mesh) {          match self {              Self::TinySkia(_) => { @@ -64,9 +64,7 @@ impl<T> Renderer<T> {      }  } -impl<T> core::Renderer for Renderer<T> { -    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<T> core::Renderer for Renderer<T> {      }  } -impl<T> text::Renderer for Renderer<T> { +impl text::Renderer for Renderer {      type Font = Font;      type Paragraph = Paragraph;      type Editor = Editor; -    const ICON_FONT: Font = iced_tiny_skia::Renderer::<T>::ICON_FONT; -    const CHECKMARK_ICON: char = iced_tiny_skia::Renderer::<T>::CHECKMARK_ICON; -    const ARROW_DOWN_ICON: char = -        iced_tiny_skia::Renderer::<T>::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<T> text::Renderer for Renderer<T> {  }  #[cfg(feature = "image")] -impl<T> crate::core::image::Renderer for Renderer<T> { +impl crate::core::image::Renderer for Renderer {      type Handle = crate::core::image::Handle;      fn dimensions( @@ -235,7 +232,7 @@ impl<T> crate::core::image::Renderer for Renderer<T> {  }  #[cfg(feature = "svg")] -impl<T> crate::core::svg::Renderer for Renderer<T> { +impl crate::core::svg::Renderer for Renderer {      fn dimensions(&self, handle: &crate::core::svg::Handle) -> core::Size<u32> {          delegate!(self, renderer, renderer.dimensions(handle))      } @@ -251,7 +248,7 @@ impl<T> crate::core::svg::Renderer for Renderer<T> {  }  #[cfg(feature = "geometry")] -impl<T> crate::graphics::geometry::Renderer for Renderer<T> { +impl crate::graphics::geometry::Renderer for Renderer {      type Geometry = crate::Geometry;      fn draw(&mut self, layers: Vec<Self::Geometry>) { @@ -283,7 +280,7 @@ impl<T> crate::graphics::geometry::Renderer for Renderer<T> {  }  #[cfg(feature = "wgpu")] -impl<T> iced_wgpu::primitive::pipeline::Renderer for Renderer<T> { +impl iced_wgpu::primitive::pipeline::Renderer for Renderer {      fn draw_pipeline_primitive(          &mut self,          bounds: Rectangle, | 
