From fc38119be3ffccc35c90971e956e8866e8b97e85 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 3 Oct 2019 00:34:15 +0200 Subject: Clear the window properly on redraw --- src/lib.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 197212e7..74048fd8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -32,12 +32,24 @@ pub trait UserInterface { .build(&event_loop) .expect("Open window"); - let renderer = Renderer::new(&window); + let size = window.inner_size().to_physical(window.hidpi_factor());; + + let mut renderer = + Renderer::new(&window, size.width as u32, size.height as u32); + + window.request_redraw(); event_loop.run(move |event, _, control_flow| match event { Event::EventsCleared => { window.request_redraw(); } + Event::WindowEvent { + event: WindowEvent::RedrawRequested, + .. + } => { + println!("Redrawing"); + renderer.draw(); + } Event::WindowEvent { event: WindowEvent::CloseRequested, .. @@ -45,7 +57,7 @@ pub trait UserInterface { *control_flow = ControlFlow::Exit; } _ => { - *control_flow = ControlFlow::Poll; + *control_flow = ControlFlow::Wait; } }) } -- cgit