diff options
author | 2024-03-22 07:09:51 +0100 | |
---|---|---|
committer | 2024-03-22 07:09:51 +0100 | |
commit | 5137d655e6bbd29581fc1469d0385515113f2999 (patch) | |
tree | 46a3ff77014d7e7bd2047ce7c6e7dfe9b3a596cd /renderer/src/fallback.rs | |
parent | 4f2f40c68b4647f281d34034beb159a41422aa06 (diff) | |
download | iced-5137d655e6bbd29581fc1469d0385515113f2999.tar.gz iced-5137d655e6bbd29581fc1469d0385515113f2999.tar.bz2 iced-5137d655e6bbd29581fc1469d0385515113f2999.zip |
Allow custom renderers in `Program` and `Application`
Diffstat (limited to 'renderer/src/fallback.rs')
-rw-r--r-- | renderer/src/fallback.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/renderer/src/fallback.rs b/renderer/src/fallback.rs index 4431606a..28e73dd8 100644 --- a/renderer/src/fallback.rs +++ b/renderer/src/fallback.rs @@ -200,15 +200,12 @@ impl<L, R> graphics::Compositor for Compositor<L, R> where L: graphics::Compositor, R: graphics::Compositor, - L::Settings: From<crate::Settings>, - R::Settings: From<crate::Settings>, { - type Settings = crate::Settings; type Renderer = Renderer<L::Renderer, R::Renderer>; type Surface = Surface<L::Surface, R::Surface>; async fn new<W: compositor::Window + Clone>( - settings: Self::Settings, + settings: graphics::Settings, compatible_window: W, ) -> Result<Self, graphics::Error> { if let Ok(left) = L::new(settings.into(), compatible_window.clone()) @@ -528,3 +525,11 @@ mod geometry { } } } + +impl<L, R> compositor::Renderer for Renderer<L, R> +where + L: compositor::Renderer, + R: compositor::Renderer, +{ + type Compositor = Compositor<L::Compositor, R::Compositor>; +} |