Crate egui_winit_ash_vk_mem[−][src]
Expand description
This is the egui integration crate for winit, ash and vk_mem.
Example
cargo run --example example
Usage
fn main() -> Result<()> { let event_loop = EventLoop::new(); // (1) Call Integration::new() in App::new(). let mut app = App::new(&event_loop)?; event_loop.run(move |event, _, control_flow| { *control_flow = ControlFlow::Poll; // (2) Call integration.handle_event(&event). app.egui_integration.handle_event(&event); match event { Event::WindowEvent { event: WindowEvent::CloseRequested, .. } => *control_flow = ControlFlow::Exit, Event::WindowEvent { event: WindowEvent::Resized(_), .. } => { // (3) Call integration.recreate_swapchain(...) in app.recreate_swapchain(). app.recreate_swapchain().unwrap(); } Event::MainEventsCleared => app.window.request_redraw(), Event::RedrawRequested(_window_id) => { // (4) Call integration.begin_frame(), integration.end_frame(&mut window), // integration.context().tessellate(shapes), integration.paint(...) // in app.draw(). app.draw().unwrap(); } _ => (), } }) } // (5) Call integration.destroy() when drop app.
Structs
egui integration with winit, ash and vk_mem.