summaryrefslogtreecommitdiff
path: root/examples/black.rs
blob: b39f6ed55d719ed8cc2bed717c79a812d387e8a4 (plain)
use alligator_render::Renderer;
use wgpu::PowerPreference;
use winit::{
	event::{Event, WindowEvent},
	event_loop::{ControlFlow, EventLoop},
	window::Window,
};

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)));

	// initialize the renderer
	let mut renderer =
		pollster::block_on(Renderer::new(&window, PowerPreference::LowPower)).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();
		}
		_ => {}
	})
}