summaryrefslogtreecommitdiffstats
path: root/graphics/src/renderer.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-07-09 02:28:52 +0200
committerLibravatar GitHub <noreply@github.com>2022-07-09 02:28:52 +0200
commite053e25d2ccb17f7a162685a106a8bbd915a873f (patch)
tree5304f3ea2712e8889c7278ec5e57418f484d8f6c /graphics/src/renderer.rs
parent66eb6263003c1bbedd1fd14d6b12f172d20a6211 (diff)
parent7105db97a53d90adf429091298f31c90974d8f08 (diff)
downloadiced-e053e25d2ccb17f7a162685a106a8bbd915a873f.tar.gz
iced-e053e25d2ccb17f7a162685a106a8bbd915a873f.tar.bz2
iced-e053e25d2ccb17f7a162685a106a8bbd915a873f.zip
Merge pull request #1362 from iced-rs/theming
Theming
Diffstat (limited to 'graphics/src/renderer.rs')
-rw-r--r--graphics/src/renderer.rs18
1 files changed, 12 insertions, 6 deletions
diff --git a/graphics/src/renderer.rs b/graphics/src/renderer.rs
index cb31ea5f..3c19fbfb 100644
--- a/graphics/src/renderer.rs
+++ b/graphics/src/renderer.rs
@@ -10,19 +10,23 @@ use iced_native::{Background, Element, Font, Point, Rectangle, Size};
pub use iced_native::renderer::Style;
+use std::marker::PhantomData;
+
/// A backend-agnostic renderer that supports all the built-in widgets.
#[derive(Debug)]
-pub struct Renderer<B: Backend> {
+pub struct Renderer<B: Backend, Theme> {
backend: B,
primitives: Vec<Primitive>,
+ theme: PhantomData<Theme>,
}
-impl<B: Backend> Renderer<B> {
+impl<B: Backend, T> Renderer<B, T> {
/// Creates a new [`Renderer`] from the given [`Backend`].
pub fn new(backend: B) -> Self {
Self {
backend,
primitives: Vec::new(),
+ theme: PhantomData,
}
}
@@ -43,10 +47,12 @@ impl<B: Backend> Renderer<B> {
}
}
-impl<B> iced_native::Renderer for Renderer<B>
+impl<B, T> iced_native::Renderer for Renderer<B, T>
where
B: Backend,
{
+ type Theme = T;
+
fn layout<'a, Message>(
&mut self,
element: &Element<'a, Message, Self>,
@@ -114,7 +120,7 @@ where
}
}
-impl<B> text::Renderer for Renderer<B>
+impl<B, T> text::Renderer for Renderer<B, T>
where
B: Backend + backend::Text,
{
@@ -171,7 +177,7 @@ where
}
}
-impl<B> image::Renderer for Renderer<B>
+impl<B, T> image::Renderer for Renderer<B, T>
where
B: Backend + backend::Image,
{
@@ -186,7 +192,7 @@ where
}
}
-impl<B> svg::Renderer for Renderer<B>
+impl<B, T> svg::Renderer for Renderer<B, T>
where
B: Backend + backend::Svg,
{