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/program | |
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 '')
-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(); |