diff options
Diffstat (limited to '')
-rw-r--r-- | runtime/src/program.rs | 5 | ||||
-rw-r--r-- | runtime/src/program/state.rs | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/runtime/src/program.rs b/runtime/src/program.rs index 44585cc5..6c1b8f07 100644 --- a/runtime/src/program.rs +++ b/runtime/src/program.rs @@ -13,6 +13,9 @@ pub trait Program: Sized { /// The graphics backend to use to draw the [`Program`]. type Renderer: Renderer + text::Renderer; + /// The theme used to draw the [`Program`]. + type Theme; + /// The type of __messages__ your [`Program`] will produce. type Message: std::fmt::Debug + Send; @@ -29,5 +32,5 @@ pub trait Program: Sized { /// Returns the widgets to display in the [`Program`]. /// /// These widgets can produce __messages__ based on user interaction. - fn view(&self) -> Element<'_, Self::Message, Self::Renderer>; + fn view(&self) -> Element<'_, Self::Message, Self::Theme, Self::Renderer>; } diff --git a/runtime/src/program/state.rs b/runtime/src/program/state.rs index 6f8f4063..d685b07c 100644 --- a/runtime/src/program/state.rs +++ b/runtime/src/program/state.rs @@ -91,7 +91,7 @@ where bounds: Size, cursor: mouse::Cursor, renderer: &mut P::Renderer, - theme: &<P::Renderer as iced_core::Renderer>::Theme, + theme: &P::Theme, style: &renderer::Style, clipboard: &mut dyn Clipboard, debug: &mut Debug, @@ -219,7 +219,7 @@ 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::Theme, P::Renderer> { debug.view_started(); let view = program.view(); debug.view_finished(); |