diff options
Diffstat (limited to 'native/src/program')
-rw-r--r-- | native/src/program/state.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/native/src/program/state.rs b/native/src/program/state.rs index cb87a628..c881a64f 100644 --- a/native/src/program/state.rs +++ b/native/src/program/state.rs @@ -1,3 +1,4 @@ +use crate::application; use crate::mouse; use crate::user_interface::{self, UserInterface}; use crate::{Clipboard, Command, Debug, Event, Point, Program, Size}; @@ -19,6 +20,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 +88,7 @@ where bounds: Size, cursor_position: Point, renderer: &mut P::Renderer, + theme: &<P::Renderer as crate::Renderer>::Theme, clipboard: &mut dyn Clipboard, debug: &mut Debug, ) -> Option<Command<P::Message>> { @@ -115,7 +118,7 @@ where if messages.is_empty() { debug.draw_started(); self.mouse_interaction = - user_interface.draw(renderer, cursor_position); + user_interface.draw(renderer, theme, cursor_position); debug.draw_finished(); self.cache = Some(user_interface.into_cache()); @@ -147,7 +150,7 @@ where debug.draw_started(); self.mouse_interaction = - user_interface.draw(renderer, cursor_position); + user_interface.draw(renderer, theme, cursor_position); debug.draw_finished(); self.cache = Some(user_interface.into_cache()); @@ -163,7 +166,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(); |