Convert Renderer::Theme to generic Widget type
This commit is contained in:
parent
545cc909c9
commit
7a50e9e8fb
88 changed files with 1219 additions and 1153 deletions
|
|
@ -139,7 +139,7 @@ pub trait Application: Sized {
|
|||
/// Returns the widgets to display in the [`Application`].
|
||||
///
|
||||
/// These widgets can produce __messages__ based on user interaction.
|
||||
fn view(&self) -> Element<'_, Self::Message, crate::Renderer<Self::Theme>>;
|
||||
fn view(&self) -> Element<'_, Self::Message, Self::Theme, crate::Renderer>;
|
||||
|
||||
/// Returns the current [`Theme`] of the [`Application`].
|
||||
///
|
||||
|
|
@ -208,7 +208,7 @@ pub trait Application: Sized {
|
|||
Ok(crate::shell::application::run::<
|
||||
Instance<Self>,
|
||||
Self::Executor,
|
||||
crate::renderer::Compositor<Self::Theme>,
|
||||
crate::renderer::Compositor,
|
||||
>(settings.into(), renderer_settings)?)
|
||||
}
|
||||
}
|
||||
|
|
@ -219,14 +219,15 @@ impl<A> crate::runtime::Program for Instance<A>
|
|||
where
|
||||
A: Application,
|
||||
{
|
||||
type Renderer = crate::Renderer<A::Theme>;
|
||||
type Message = A::Message;
|
||||
type Theme = A::Theme;
|
||||
type Renderer = crate::Renderer;
|
||||
|
||||
fn update(&mut self, message: Self::Message) -> Command<Self::Message> {
|
||||
self.0.update(message)
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<'_, Self::Message, Self::Renderer> {
|
||||
fn view(&self) -> Element<'_, Self::Message, Self::Theme, Self::Renderer> {
|
||||
self.0.view()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
20
src/lib.rs
20
src/lib.rs
|
|
@ -271,8 +271,12 @@ pub mod overlay {
|
|||
/// This is an alias of an [`overlay::Element`] with a default `Renderer`.
|
||||
///
|
||||
/// [`overlay::Element`]: crate::core::overlay::Element
|
||||
pub type Element<'a, Message, Renderer = crate::Renderer> =
|
||||
crate::core::overlay::Element<'a, Message, Renderer>;
|
||||
pub type Element<
|
||||
'a,
|
||||
Message,
|
||||
Theme = crate::Renderer,
|
||||
Renderer = crate::Renderer,
|
||||
> = crate::core::overlay::Element<'a, Message, Theme, Renderer>;
|
||||
|
||||
pub use iced_widget::overlay::*;
|
||||
}
|
||||
|
|
@ -302,19 +306,21 @@ pub use error::Error;
|
|||
pub use event::Event;
|
||||
pub use executor::Executor;
|
||||
pub use font::Font;
|
||||
pub use renderer::Renderer;
|
||||
pub use sandbox::Sandbox;
|
||||
pub use settings::Settings;
|
||||
pub use subscription::Subscription;
|
||||
pub use theme::Theme;
|
||||
|
||||
/// The default renderer.
|
||||
pub type Renderer<Theme = style::Theme> = renderer::Renderer<Theme>;
|
||||
|
||||
/// A generic widget.
|
||||
///
|
||||
/// This is an alias of an `iced_native` element with a default `Renderer`.
|
||||
pub type Element<'a, Message, Renderer = crate::Renderer> =
|
||||
crate::core::Element<'a, Message, Renderer>;
|
||||
pub type Element<
|
||||
'a,
|
||||
Message,
|
||||
Theme = crate::Theme,
|
||||
Renderer = crate::Renderer,
|
||||
> = crate::core::Element<'a, Message, Theme, Renderer>;
|
||||
|
||||
/// The result of running an [`Application`].
|
||||
///
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ pub trait Application: Sized {
|
|||
fn view(
|
||||
&self,
|
||||
window: window::Id,
|
||||
) -> Element<'_, Self::Message, crate::Renderer<Self::Theme>>;
|
||||
) -> Element<'_, Self::Message, Self::Theme, crate::Renderer>;
|
||||
|
||||
/// Returns the current [`Theme`] of the `window` of the [`Application`].
|
||||
///
|
||||
|
|
@ -185,7 +185,7 @@ pub trait Application: Sized {
|
|||
Ok(crate::shell::multi_window::run::<
|
||||
Instance<Self>,
|
||||
Self::Executor,
|
||||
crate::renderer::Compositor<Self::Theme>,
|
||||
crate::renderer::Compositor,
|
||||
>(settings.into(), renderer_settings)?)
|
||||
}
|
||||
}
|
||||
|
|
@ -196,8 +196,9 @@ impl<A> crate::runtime::multi_window::Program for Instance<A>
|
|||
where
|
||||
A: Application,
|
||||
{
|
||||
type Renderer = crate::Renderer<A::Theme>;
|
||||
type Message = A::Message;
|
||||
type Theme = A::Theme;
|
||||
type Renderer = crate::Renderer;
|
||||
|
||||
fn update(&mut self, message: Self::Message) -> Command<Self::Message> {
|
||||
self.0.update(message)
|
||||
|
|
@ -206,7 +207,7 @@ where
|
|||
fn view(
|
||||
&self,
|
||||
window: window::Id,
|
||||
) -> Element<'_, Self::Message, Self::Renderer> {
|
||||
) -> Element<'_, Self::Message, Self::Theme, Self::Renderer> {
|
||||
self.0.view(window)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue