Added per-window theme support.

This commit is contained in:
Bingus 2023-03-15 18:20:38 -07:00
parent ce4b2c93d9
commit 41836dd80d
No known key found for this signature in database
GPG key ID: 5F84D2AA40A9F170
4 changed files with 35 additions and 19 deletions

View file

@ -112,7 +112,7 @@ where
fn title(&self, window: window::Id) -> String;
/// Returns the current [`Theme`] of the [`Application`].
fn theme(&self) -> <Self::Renderer as crate::Renderer>::Theme;
fn theme(&self, window: window::Id) -> <Self::Renderer as crate::Renderer>::Theme;
/// Returns the [`Style`] variation of the [`Theme`].
fn style(

View file

@ -37,7 +37,7 @@ where
) -> Self {
let title = application.title(window_id);
let scale_factor = application.scale_factor(window_id);
let theme = application.theme();
let theme = application.theme(window_id);
let appearance = theme.appearance(&application.style());
let viewport = {
@ -212,7 +212,7 @@ where
}
// Update theme and appearance
self.theme = application.theme();
self.theme = application.theme(window_id);
self.appearance = self.theme.appearance(&application.style());
}
}