Let a Theme control the background color of an application
... and remove `Application::background_color`
This commit is contained in:
parent
2cfb307f8c
commit
03eda9b162
9 changed files with 33 additions and 79 deletions
|
|
@ -1,6 +1,7 @@
|
|||
use crate::pure::{self, Pure};
|
||||
use crate::theme;
|
||||
use crate::window;
|
||||
use crate::{Color, Command, Executor, Settings, Subscription};
|
||||
use crate::{Command, Executor, Settings, Subscription};
|
||||
|
||||
/// A pure version of [`Application`].
|
||||
///
|
||||
|
|
@ -22,7 +23,7 @@ pub trait Application: Sized {
|
|||
type Message: std::fmt::Debug + Send;
|
||||
|
||||
/// The theme of your [`Application`].
|
||||
type Theme: Default;
|
||||
type Theme: Default + theme::Definition;
|
||||
|
||||
/// The data needed to initialize your [`Application`].
|
||||
type Flags;
|
||||
|
|
@ -88,13 +89,6 @@ pub trait Application: Sized {
|
|||
window::Mode::Windowed
|
||||
}
|
||||
|
||||
/// Returns the background color of the [`Application`].
|
||||
///
|
||||
/// By default, it returns [`Color::WHITE`].
|
||||
fn background_color(&self) -> Color {
|
||||
Color::WHITE
|
||||
}
|
||||
|
||||
/// Returns the scale factor of the [`Application`].
|
||||
///
|
||||
/// It can be used to dynamically control the size of the UI at runtime
|
||||
|
|
@ -185,10 +179,6 @@ where
|
|||
A::mode(&self.application)
|
||||
}
|
||||
|
||||
fn background_color(&self) -> Color {
|
||||
A::background_color(&self.application)
|
||||
}
|
||||
|
||||
fn scale_factor(&self) -> f64 {
|
||||
A::scale_factor(&self.application)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue