summaryrefslogtreecommitdiff
path: root/examples/black.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/black.rs')
-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);
}