pub trait GlWindow {
// Required methods
fn get_render_target(
&self,
device: &mut SurfmanDevice,
context: &mut SurfmanContext,
) -> GlWindowRenderTarget;
fn get_rotation(&self) -> Rotation3D<f32, UnknownUnit, UnknownUnit>;
fn get_translation(&self) -> Vector3D<f32, UnknownUnit>;
// Provided method
fn get_mode(&self) -> GlWindowMode { ... }
}