diff options
author | 2022-07-09 02:28:52 +0200 | |
---|---|---|
committer | 2022-07-09 02:28:52 +0200 | |
commit | e053e25d2ccb17f7a162685a106a8bbd915a873f (patch) | |
tree | 5304f3ea2712e8889c7278ec5e57418f484d8f6c /native/src/program/state.rs | |
parent | 66eb6263003c1bbedd1fd14d6b12f172d20a6211 (diff) | |
parent | 7105db97a53d90adf429091298f31c90974d8f08 (diff) | |
download | iced-e053e25d2ccb17f7a162685a106a8bbd915a873f.tar.gz iced-e053e25d2ccb17f7a162685a106a8bbd915a873f.tar.bz2 iced-e053e25d2ccb17f7a162685a106a8bbd915a873f.zip |
Merge pull request #1362 from iced-rs/theming
Theming
Diffstat (limited to 'native/src/program/state.rs')
-rw-r--r-- | native/src/program/state.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/native/src/program/state.rs b/native/src/program/state.rs index cb87a628..7ec2a04f 100644 --- a/native/src/program/state.rs +++ b/native/src/program/state.rs @@ -1,4 +1,6 @@ +use crate::application; use crate::mouse; +use crate::renderer; use crate::user_interface::{self, UserInterface}; use crate::{Clipboard, Command, Debug, Event, Point, Program, Size}; @@ -19,6 +21,7 @@ where impl<P> State<P> where P: Program + 'static, + <P::Renderer as crate::Renderer>::Theme: application::StyleSheet, { /// Creates a new [`State`] with the provided [`Program`], initializing its /// primitive with the given logical bounds and renderer. @@ -86,6 +89,8 @@ where bounds: Size, cursor_position: Point, renderer: &mut P::Renderer, + theme: &<P::Renderer as crate::Renderer>::Theme, + style: &renderer::Style, clipboard: &mut dyn Clipboard, debug: &mut Debug, ) -> Option<Command<P::Message>> { @@ -115,7 +120,7 @@ where if messages.is_empty() { debug.draw_started(); self.mouse_interaction = - user_interface.draw(renderer, cursor_position); + user_interface.draw(renderer, theme, style, cursor_position); debug.draw_finished(); self.cache = Some(user_interface.into_cache()); @@ -147,7 +152,7 @@ where debug.draw_started(); self.mouse_interaction = - user_interface.draw(renderer, cursor_position); + user_interface.draw(renderer, theme, style, cursor_position); debug.draw_finished(); self.cache = Some(user_interface.into_cache()); @@ -163,7 +168,10 @@ fn build_user_interface<'a, P: Program>( renderer: &mut P::Renderer, size: Size, debug: &mut Debug, -) -> UserInterface<'a, P::Message, P::Renderer> { +) -> UserInterface<'a, P::Message, P::Renderer> +where + <P::Renderer as crate::Renderer>::Theme: application::StyleSheet, +{ debug.view_started(); let view = program.view(); debug.view_finished(); |