summaryrefslogtreecommitdiffstats
path: root/style/src
diff options
context:
space:
mode:
Diffstat (limited to 'style/src')
-rw-r--r--style/src/theme.rs17
1 files changed, 9 insertions, 8 deletions
diff --git a/style/src/theme.rs b/style/src/theme.rs
index afb4d027..235aecbd 100644
--- a/style/src/theme.rs
+++ b/style/src/theme.rs
@@ -172,6 +172,15 @@ pub enum Application {
Custom(Box<dyn application::StyleSheet<Style = Theme>>),
}
+impl Application {
+ /// Creates a custom [`Application`] style.
+ pub fn custom(
+ custom: impl application::StyleSheet<Style = Theme> + 'static,
+ ) -> Self {
+ Self::Custom(Box::new(custom))
+ }
+}
+
impl application::StyleSheet for Theme {
type Style = Application;
@@ -196,14 +205,6 @@ impl<T: Fn(&Theme) -> application::Appearance> application::StyleSheet for T {
}
}
-impl<T: Fn(&Theme) -> application::Appearance + 'static> From<T>
- for Application
-{
- fn from(f: T) -> Self {
- Self::Custom(Box::new(f))
- }
-}
-
/// The style of a button.
#[derive(Default)]
pub enum Button {