summaryrefslogtreecommitdiffstats
path: root/winit/src/multi_window/state.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-06 21:27:03 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-06 21:27:03 +0100
commit7c4bf70023a8092faad9630c2c87fbf41bd6ab76 (patch)
treea02aa7fa62276e4e9b870f4f88ba448c0a264e2b /winit/src/multi_window/state.rs
parent34e7c6593a9e0f56cee5db18b7258717cf6bc11b (diff)
downloadiced-7c4bf70023a8092faad9630c2c87fbf41bd6ab76.tar.gz
iced-7c4bf70023a8092faad9630c2c87fbf41bd6ab76.tar.bz2
iced-7c4bf70023a8092faad9630c2c87fbf41bd6ab76.zip
Simplify theming for `Application`
Diffstat (limited to 'winit/src/multi_window/state.rs')
-rw-r--r--winit/src/multi_window/state.rs16
1 files changed, 7 insertions, 9 deletions
diff --git a/winit/src/multi_window/state.rs b/winit/src/multi_window/state.rs
index 2e97a13d..8a332176 100644
--- a/winit/src/multi_window/state.rs
+++ b/winit/src/multi_window/state.rs
@@ -2,18 +2,16 @@ use crate::conversion;
use crate::core::{mouse, window};
use crate::core::{Color, Size};
use crate::graphics::Viewport;
-use crate::multi_window::Application;
-use crate::style::application;
+use crate::multi_window::{self, Application};
use std::fmt::{Debug, Formatter};
-use iced_style::application::StyleSheet;
use winit::event::{Touch, WindowEvent};
use winit::window::Window;
/// The state of a multi-windowed [`Application`].
pub struct State<A: Application>
where
- A::Theme: application::StyleSheet,
+ multi_window::Style<A::Theme>: Default,
{
title: String,
scale_factor: f64,
@@ -22,12 +20,12 @@ where
cursor_position: Option<winit::dpi::PhysicalPosition<f64>>,
modifiers: winit::keyboard::ModifiersState,
theme: A::Theme,
- appearance: application::Appearance,
+ appearance: multi_window::Appearance,
}
impl<A: Application> Debug for State<A>
where
- A::Theme: application::StyleSheet,
+ multi_window::Style<A::Theme>: Default,
{
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
f.debug_struct("multi_window::State")
@@ -43,7 +41,7 @@ where
impl<A: Application> State<A>
where
- A::Theme: application::StyleSheet,
+ multi_window::Style<A::Theme>: Default,
{
/// Creates a new [`State`] for the provided [`Application`]'s `window`.
pub fn new(
@@ -54,7 +52,7 @@ where
let title = application.title(window_id);
let scale_factor = application.scale_factor(window_id);
let theme = application.theme(window_id);
- let appearance = theme.appearance(&application.style());
+ let appearance = application.style(&theme);
let viewport = {
let physical_size = window.inner_size();
@@ -236,6 +234,6 @@ where
// Update theme and appearance
self.theme = application.theme(window_id);
- self.appearance = self.theme.appearance(&application.style());
+ self.appearance = application.style(&self.theme);
}
}