#![allow(clippy::single_match)]
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use fermium::*;
const SDL_WINDOWPOS_CENTERED: c_int = SDL_WINDOWPOS_CENTERED_MASK as c_int;
unsafe fn print_error() {
let mut c_char_ptr: *const c_char = SDL_GetError();
while *c_char_ptr != 0 {
print!("{}", *c_char_ptr as u8 as char);
c_char_ptr = c_char_ptr.offset(1);
}
println!();
}
fn main() {
unsafe {
if SDL_Init(SDL_INIT_VIDEO) != 0 {
print_error();
} else {
let window = SDL_CreateWindow(
"Window Demo\0".as_ptr() as *const c_char,
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
800,
600,
SDL_WINDOW_SHOWN as u32,
);
if window.is_null() {
print_error();
} else {
'game_loop: loop {
let mut event = SDL_Event::default();
while SDL_PollEvent(&mut event) != 0 {
match event.type_ as SDL_EventType {
SDL_QUIT => {
println!("Quit after {} milliseconds.", event.quit.timestamp);
break 'game_loop;
}
_ => (),
}
}
}
SDL_DestroyWindow(window);
}
};
SDL_Quit()
}
}