diff options
author | 2022-05-14 01:47:55 +0200 | |
---|---|---|
committer | 2022-05-14 01:56:32 +0200 | |
commit | 664251f3f5c7b76f69a97683af1468094bba887f (patch) | |
tree | f43a495036ed117ce5dbb479c62652d872a6d273 /lazy | |
parent | 5de337f214530faab1d5fe47784afd7006c3f7f0 (diff) | |
download | iced-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.rs | 13 | ||||
-rw-r--r-- | lazy/src/pure/component.rs | 5 | ||||
-rw-r--r-- | lazy/src/pure/responsive.rs | 10 | ||||
-rw-r--r-- | lazy/src/responsive.rs | 5 |
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); }); } |