summaryrefslogtreecommitdiffstats
path: root/lazy
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-05-14 01:47:55 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-05-14 01:56:32 +0200
commit664251f3f5c7b76f69a97683af1468094bba887f (patch)
treef43a495036ed117ce5dbb479c62652d872a6d273 /lazy
parent5de337f214530faab1d5fe47784afd7006c3f7f0 (diff)
downloadiced-664251f3f5c7b76f69a97683af1468094bba887f.tar.gz
iced-664251f3f5c7b76f69a97683af1468094bba887f.tar.bz2
iced-664251f3f5c7b76f69a97683af1468094bba887f.zip
Draft first-class `Theme` support
RFC: https://github.com/iced-rs/rfcs/pull/6
Diffstat (limited to 'lazy')
-rw-r--r--lazy/src/component.rs13
-rw-r--r--lazy/src/pure/component.rs5
-rw-r--r--lazy/src/pure/responsive.rs10
-rw-r--r--lazy/src/responsive.rs5
4 files changed, 27 insertions, 6 deletions
diff --git a/lazy/src/component.rs b/lazy/src/component.rs
index 9e5937e9..3f22bc7d 100644
--- a/lazy/src/component.rs
+++ b/lazy/src/component.rs
@@ -206,13 +206,21 @@ where
fn draw(
&self,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
viewport: &Rectangle,
) {
self.with_element(|element| {
- element.draw(renderer, style, layout, cursor_position, viewport);
+ element.draw(
+ renderer,
+ theme,
+ style,
+ layout,
+ cursor_position,
+ viewport,
+ );
});
}
@@ -337,12 +345,13 @@ where
fn draw(
&self,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
) {
self.with_overlay_maybe(|overlay| {
- overlay.draw(renderer, style, layout, cursor_position);
+ overlay.draw(renderer, theme, style, layout, cursor_position);
});
}
diff --git a/lazy/src/pure/component.rs b/lazy/src/pure/component.rs
index 2971d2b7..b19913ae 100644
--- a/lazy/src/pure/component.rs
+++ b/lazy/src/pure/component.rs
@@ -233,6 +233,7 @@ where
&self,
tree: &Tree,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
@@ -242,6 +243,7 @@ where
element.as_widget().draw(
&tree.children[0],
renderer,
+ theme,
style,
layout,
cursor_position,
@@ -376,12 +378,13 @@ where
fn draw(
&self,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
) {
self.with_overlay_maybe(|overlay| {
- overlay.draw(renderer, style, layout, cursor_position);
+ overlay.draw(renderer, theme, style, layout, cursor_position);
});
}
diff --git a/lazy/src/pure/responsive.rs b/lazy/src/pure/responsive.rs
index e464d156..96b89fd6 100644
--- a/lazy/src/pure/responsive.rs
+++ b/lazy/src/pure/responsive.rs
@@ -53,7 +53,10 @@ struct Content<'a, Message, Renderer> {
element: Element<'a, Message, Renderer>,
}
-impl<'a, Message, Renderer> Content<'a, Message, Renderer> {
+impl<'a, Message, Renderer> Content<'a, Message, Renderer>
+where
+ Renderer: iced_native::Renderer,
+{
fn update(
&mut self,
tree: &mut Tree,
@@ -174,6 +177,7 @@ where
&self,
tree: &Tree,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
@@ -191,6 +195,7 @@ where
element.as_widget().draw(
tree,
renderer,
+ theme,
style,
layout,
cursor_position,
@@ -331,12 +336,13 @@ where
fn draw(
&self,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
) {
self.with_overlay_maybe(|overlay| {
- overlay.draw(renderer, style, layout, cursor_position);
+ overlay.draw(renderer, theme, style, layout, cursor_position);
});
}
diff --git a/lazy/src/responsive.rs b/lazy/src/responsive.rs
index 20a80dac..86c8db6b 100644
--- a/lazy/src/responsive.rs
+++ b/lazy/src/responsive.rs
@@ -119,6 +119,7 @@ where
fn draw(
&self,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
@@ -129,6 +130,7 @@ where
internal.resolve(renderer, |state, renderer, content| {
content.draw(
renderer,
+ theme,
style,
state.layout(layout),
cursor_position,
@@ -356,12 +358,13 @@ where
fn draw(
&self,
renderer: &mut Renderer,
+ theme: &Renderer::Theme,
style: &renderer::Style,
layout: Layout<'_>,
cursor_position: Point,
) {
self.with_overlay_maybe(|overlay| {
- overlay.draw(renderer, style, layout, cursor_position);
+ overlay.draw(renderer, theme, style, layout, cursor_position);
});
}