diff options
Diffstat (limited to 'src/backend/mod.rs')
| -rw-r--r-- | src/backend/mod.rs | 9 |
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), } } |
