aboutsummaryrefslogtreecommitdiff
path: root/src/backend/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/mod.rs')
-rw-r--r--src/backend/mod.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/backend/mod.rs b/src/backend/mod.rs
index a23cc36a..54b504ca 100644
--- a/src/backend/mod.rs
+++ b/src/backend/mod.rs
@@ -45,10 +45,13 @@ impl Backend {
}
}
- pub fn renderer(&mut self) -> Option<&mut GlesRenderer> {
+ pub fn with_primary_renderer<T>(
+ &mut self,
+ f: impl FnOnce(&mut GlesRenderer) -> T,
+ ) -> Option<T> {
match self {
- Backend::Tty(tty) => tty.renderer(),
- Backend::Winit(winit) => Some(winit.renderer()),
+ Backend::Tty(tty) => tty.with_primary_renderer(f),
+ Backend::Winit(winit) => winit.with_primary_renderer(f),
}
}