Convert Renderer::Theme to generic Widget type

This commit is contained in:
Héctor Ramón Jiménez 2024-01-21 17:56:01 +01:00
parent 545cc909c9
commit 7a50e9e8fb
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
88 changed files with 1219 additions and 1153 deletions

View file

@ -12,19 +12,17 @@ use crate::text;
use crate::Primitive;
use std::borrow::Cow;
use std::marker::PhantomData;
/// A backend-agnostic renderer that supports all the built-in widgets.
#[derive(Debug)]
pub struct Renderer<B: Backend, Theme> {
pub struct Renderer<B: Backend> {
backend: B,
default_font: Font,
default_text_size: Pixels,
primitives: Vec<Primitive<B::Primitive>>,
theme: PhantomData<Theme>,
}
impl<B: Backend, T> Renderer<B, T> {
impl<B: Backend> Renderer<B> {
/// Creates a new [`Renderer`] from the given [`Backend`].
pub fn new(
backend: B,
@ -36,7 +34,6 @@ impl<B: Backend, T> Renderer<B, T> {
default_font,
default_text_size,
primitives: Vec::new(),
theme: PhantomData,
}
}
@ -93,9 +90,7 @@ impl<B: Backend, T> Renderer<B, T> {
}
}
impl<B: Backend, T> iced_core::Renderer for Renderer<B, T> {
type Theme = T;
impl<B: Backend> iced_core::Renderer for Renderer<B> {
fn with_layer(&mut self, bounds: Rectangle, f: impl FnOnce(&mut Self)) {
let current = self.start_layer();
@ -134,7 +129,7 @@ impl<B: Backend, T> iced_core::Renderer for Renderer<B, T> {
}
}
impl<B, T> core::text::Renderer for Renderer<B, T>
impl<B> core::text::Renderer for Renderer<B>
where
B: Backend + backend::Text,
{
@ -210,7 +205,7 @@ where
}
}
impl<B, T> image::Renderer for Renderer<B, T>
impl<B> image::Renderer for Renderer<B>
where
B: Backend + backend::Image,
{
@ -234,7 +229,7 @@ where
}
}
impl<B, T> svg::Renderer for Renderer<B, T>
impl<B> svg::Renderer for Renderer<B>
where
B: Backend + backend::Svg,
{