pub fn present( renderer: &mut Renderer, surface: &mut Surface, viewport: &Viewport, background_color: Color, on_pre_present: impl FnOnce(), ) -> Result<(), SurfaceError>