use super::IGlOutputBackend;
use ferroui_base::platform::surfaces::IPlatformRenderSurface;
use ferroui_base::platform::ISurfaceOrientation;
use ferroui_base::PixelSize;
use std::sync::Arc;
pub trait IOutputBackend: IPlatformRenderSurface {
fn pixel_size(&self) -> PixelSize;
fn scaling(&self) -> f64;
fn set_scaling(&self, value: f64);
fn as_render_surface(self: Arc<Self>) -> Arc<dyn IPlatformRenderSurface>;
fn as_gl_output_backend(&self) -> Option<&dyn IGlOutputBackend> {
None
}
fn as_surface_orientation(&self) -> Option<&dyn ISurfaceOrientation> {
None
}
}