Implement composable, type-safe renderer fallback

This commit is contained in:
Héctor Ramón Jiménez 2024-03-21 22:27:17 +01:00
parent 7e4ae8450e
commit 3645d34d6a
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
35 changed files with 1474 additions and 1210 deletions

View file

@ -130,7 +130,7 @@ pub fn default(theme: &Theme) -> Appearance {
/// settings.
pub async fn run<A, E, C>(
settings: Settings<A::Flags>,
compositor_settings: C::Settings,
compositor_settings: impl Into<C::Settings>,
) -> Result<(), Error>
where
A: Application + 'static,
@ -219,7 +219,7 @@ where
};
}
let compositor = C::new(compositor_settings, window.clone()).await?;
let compositor = C::new(compositor_settings.into(), window.clone()).await?;
let mut renderer = compositor.create_renderer();
for font in settings.fonts {

View file

@ -105,7 +105,7 @@ where
/// settings.
pub fn run<A, E, C>(
settings: Settings<A::Flags>,
compositor_settings: C::Settings,
compositor_settings: impl Into<C::Settings>,
) -> Result<(), Error>
where
A: Application + 'static,
@ -186,8 +186,10 @@ where
};
}
let mut compositor =
executor::block_on(C::new(compositor_settings, main_window.clone()))?;
let mut compositor = executor::block_on(C::new(
compositor_settings.into(),
main_window.clone(),
))?;
let mut window_manager = WindowManager::new();
let _ = window_manager.insert(