From 4407385fbe629eb079b0166649492da5f689ea95 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 8 Jul 2022 23:38:34 +0200 Subject: Make `Element` aliases in `iced` compatible with `iced_native` and `iced_pure` --- src/application.rs | 8 +++++--- src/element.rs | 4 ++-- src/pure.rs | 4 ++-- src/pure/application.rs | 8 ++++++-- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/application.rs b/src/application.rs index 4edfb063..e8d8e982 100644 --- a/src/application.rs +++ b/src/application.rs @@ -139,7 +139,9 @@ pub trait Application: Sized { /// Returns the widgets to display in the [`Application`]. /// /// These widgets can produce __messages__ based on user interaction. - fn view(&mut self) -> Element<'_, Self::Message, Self::Theme>; + fn view( + &mut self, + ) -> Element<'_, Self::Message, crate::Renderer>; /// Returns the current [`Theme`] of the [`Application`]. /// @@ -239,14 +241,14 @@ impl iced_winit::Program for Instance where A: Application, { - type Renderer = crate::renderer::Renderer; + type Renderer = crate::Renderer; type Message = A::Message; fn update(&mut self, message: Self::Message) -> Command { self.0.update(message) } - fn view(&mut self) -> Element<'_, Self::Message, A::Theme> { + fn view(&mut self) -> Element<'_, Self::Message, Self::Renderer> { self.0.view() } } diff --git a/src/element.rs b/src/element.rs index 439a4508..6851bc4e 100644 --- a/src/element.rs +++ b/src/element.rs @@ -1,5 +1,5 @@ /// A generic widget. /// /// This is an alias of an `iced_native` element with a default `Renderer`. -pub type Element<'a, Message, Theme = iced_native::Theme> = - crate::runtime::Element<'a, Message, crate::Renderer>; +pub type Element<'a, Message, Renderer = crate::Renderer> = + crate::runtime::Element<'a, Message, Renderer>; diff --git a/src/pure.rs b/src/pure.rs index 1efacdf4..ca805ecc 100644 --- a/src/pure.rs +++ b/src/pure.rs @@ -108,5 +108,5 @@ pub use iced_pure::Widget; pub use iced_pure::{Pure, State}; /// A generic, pure [`Widget`]. -pub type Element<'a, Message, Theme = crate::Theme> = - iced_pure::Element<'a, Message, crate::Renderer>; +pub type Element<'a, Message, Renderer = crate::Renderer> = + iced_pure::Element<'a, Message, Renderer>; diff --git a/src/pure/application.rs b/src/pure/application.rs index af9b078b..396854ad 100644 --- a/src/pure/application.rs +++ b/src/pure/application.rs @@ -60,7 +60,9 @@ pub trait Application: Sized { /// Returns the widgets to display in the [`Application`]. /// /// These widgets can produce __messages__ based on user interaction. - fn view(&self) -> pure::Element<'_, Self::Message, Self::Theme>; + fn view( + &self, + ) -> pure::Element<'_, Self::Message, crate::Renderer>; /// Returns the current [`Theme`] of the [`Application`]. fn theme(&self) -> Self::Theme { @@ -167,7 +169,9 @@ where A::subscription(&self.application) } - fn view(&mut self) -> crate::Element<'_, Self::Message, Self::Theme> { + fn view( + &mut self, + ) -> crate::Element<'_, Self::Message, crate::Renderer> { let content = A::view(&self.application); Pure::new(&mut self.state, content).into() -- cgit