summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMicha White <botahamec@outlook.com>2022-09-17 21:40:49 -0400
committerMicha White <botahamec@outlook.com>2022-09-17 21:40:49 -0400
commit4826c2c06afd21214e0c2a47944d40eeefae65bd (patch)
treec122cb7e1769e596ad61aabb026b1ad2b966a5a7 /examples
parenta005620119b9c1d18c750552d0a707f36f407ea1 (diff)
Big refactor
Diffstat (limited to 'examples')
-rw-r--r--examples/black.rs57
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);
}