summaryrefslogtreecommitdiffstats
path: root/renderer/src/fallback.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 07:09:51 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 07:09:51 +0100
commit5137d655e6bbd29581fc1469d0385515113f2999 (patch)
tree46a3ff77014d7e7bd2047ce7c6e7dfe9b3a596cd /renderer/src/fallback.rs
parent4f2f40c68b4647f281d34034beb159a41422aa06 (diff)
downloadiced-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.rs13
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>;
+}