diff options
Diffstat (limited to 'style/src')
-rw-r--r-- | style/src/theme.rs | 17 |
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 { |