diff options
| author | Micha White <botahamec@outlook.com> | 2022-09-17 21:40:49 -0400 |
|---|---|---|
| committer | Micha White <botahamec@outlook.com> | 2022-09-17 21:40:49 -0400 |
| commit | 4826c2c06afd21214e0c2a47944d40eeefae65bd (patch) | |
| tree | c122cb7e1769e596ad61aabb026b1ad2b966a5a7 /examples/black.rs | |
| parent | a005620119b9c1d18c750552d0a707f36f407ea1 (diff) | |
Big refactor
Diffstat (limited to 'examples/black.rs')
| -rw-r--r-- | examples/black.rs | 57 |
1 files changed, 23 insertions, 34 deletions
diff --git a/examples/black.rs b/examples/black.rs index b39f6ed..7c75117 100644 --- a/examples/black.rs +++ b/examples/black.rs @@ -1,40 +1,29 @@ -use alligator_render::Renderer; -use wgpu::PowerPreference; -use winit::{ - event::{Event, WindowEvent}, - event_loop::{ControlFlow, EventLoop}, - window::Window, +use std::num::NonZeroU32; + +use alligator_render::{ + renderer::{RenderWindowConfig, Resizable, WindowInfo, WindowMode}, + Renderer, }; +use winit::event_loop::EventLoop; fn main() { - // initialize a window - let event_loop = EventLoop::new(); - let window = Window::new(&event_loop).unwrap(); - window.set_title("Black Screen.exe"); - window.set_fullscreen(Some(winit::window::Fullscreen::Borderless(None))); + // configure the render window + let config = RenderWindowConfig { + default_width: NonZeroU32::new(640).unwrap(), + default_height: NonZeroU32::new(480).unwrap(), + mode: WindowMode::Windowed(WindowInfo { + default_x: 100, + default_y: 100, + resizable: Some(Resizable::default()), + default_maximized: false, + }), + title: "Black Screen.exe".into(), + low_power: true, + vsync: true, + }; - // initialize the renderer - let mut renderer = - pollster::block_on(Renderer::new(&window, PowerPreference::LowPower)).unwrap(); + let event_loop = EventLoop::new(); + let renderer = Renderer::new(config, &event_loop).unwrap(); - event_loop.run(move |event, _, control_flow| match event { - Event::WindowEvent { window_id, event } => { - if window_id == window.id() { - match event { - WindowEvent::Resized(size) => renderer.resize(size), - WindowEvent::CloseRequested => *control_flow = ControlFlow::ExitWithCode(0), - _ => (), - } - } - } - Event::RedrawRequested(window_id) => { - if window_id == window.id() { - _ = renderer.render(); - } - } - Event::MainEventsCleared => { - window.request_redraw(); - } - _ => {} - }) + renderer.run(event_loop); } |
