ferroui_linuxframebuffer/output/
i_output_backend.rs1use super::IGlOutputBackend;
4use ferroui_base::platform::surfaces::IPlatformRenderSurface;
5use ferroui_base::platform::ISurfaceOrientation;
6use ferroui_base::PixelSize;
7use std::sync::Arc;
8
9pub trait IOutputBackend: IPlatformRenderSurface {
10 fn pixel_size(&self) -> PixelSize;
11
12 fn scaling(&self) -> f64;
13
14 fn set_scaling(&self, value: f64);
15
16 fn as_render_surface(self: Arc<Self>) -> Arc<dyn IPlatformRenderSurface>;
18
19 fn as_gl_output_backend(&self) -> Option<&dyn IGlOutputBackend> {
22 None
23 }
24
25 fn as_surface_orientation(&self) -> Option<&dyn ISurfaceOrientation> {
28 None
29 }
30}