diff options
author | 2024-01-22 11:48:38 +0100 | |
---|---|---|
committer | 2024-01-22 11:48:38 +0100 | |
commit | 416e0026c021a8222c925979053d985553f947a6 (patch) | |
tree | beb8bb6fd28459d6a0b4c39fb5812f9c126a035e /runtime/src/multi_window | |
parent | 545cc909c9f356dd733d273173694db9b8c28594 (diff) | |
parent | e695f7a04c16f786154f25a486b649ddbfd62939 (diff) | |
download | iced-416e0026c021a8222c925979053d985553f947a6.tar.gz iced-416e0026c021a8222c925979053d985553f947a6.tar.bz2 iced-416e0026c021a8222c925979053d985553f947a6.zip |
Merge pull request #2209 from iced-rs/remove-associated-theme
`Themer` widget
Diffstat (limited to 'runtime/src/multi_window')
-rw-r--r-- | runtime/src/multi_window/program.rs | 5 | ||||
-rw-r--r-- | runtime/src/multi_window/state.rs | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/runtime/src/multi_window/program.rs b/runtime/src/multi_window/program.rs index 591b3e9a..963a09d7 100644 --- a/runtime/src/multi_window/program.rs +++ b/runtime/src/multi_window/program.rs @@ -12,6 +12,9 @@ pub trait Program: Sized { /// The type of __messages__ your [`Program`] will produce. type Message: std::fmt::Debug + Send; + /// The theme used to draw the [`Program`]. + type Theme; + /// Handles a __message__ and updates the state of the [`Program`]. /// /// This is where you define your __update logic__. All the __messages__, @@ -28,5 +31,5 @@ pub trait Program: Sized { fn view( &self, window: window::Id, - ) -> Element<'_, Self::Message, Self::Renderer>; + ) -> Element<'_, Self::Message, Self::Theme, Self::Renderer>; } diff --git a/runtime/src/multi_window/state.rs b/runtime/src/multi_window/state.rs index 49f72c39..afd04519 100644 --- a/runtime/src/multi_window/state.rs +++ b/runtime/src/multi_window/state.rs @@ -92,7 +92,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, @@ -252,7 +252,7 @@ fn build_user_interfaces<'a, P: Program>( renderer: &mut P::Renderer, size: Size, debug: &mut Debug, -) -> Vec<UserInterface<'a, P::Message, P::Renderer>> { +) -> Vec<UserInterface<'a, P::Message, P::Theme, P::Renderer>> { caches .drain(..) .map(|cache| { @@ -267,7 +267,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(); |