extern crate sdl2; mod font; use font::{UwUFont, UWU_WIDTH}; use sdl2::event::Event; use sdl2::keyboard::Keycode; use sdl2::pixels::Color; use sdl2::rect::Rect; use sdl2::render::TextureCreator; use std::time::Duration; pub fn main() { let sdl_context = sdl2::init().unwrap(); let video_subsystem = sdl_context.video().unwrap(); let window = video_subsystem .window("hentai", 320, 256) .position_centered() //.fullscreen() .build() .unwrap(); let mut canvas = window.into_canvas().build().unwrap(); let texture_creator = canvas.texture_creator(); let uwu_font = font::UwUFont::new(&texture_creator); let u_char = uwu_font.u_surface().as_texture(&texture_creator).unwrap(); let w_char = uwu_font.w_surface().as_texture(&texture_creator).unwrap(); let p_char = uwu_font.p_surface().as_texture(&texture_creator).unwrap(); canvas .copy(&u_char, None, UwUFont::pos_to_rect(0, 0)) .unwrap(); canvas .copy(&w_char, None, UwUFont::pos_to_rect(UWU_WIDTH as i32, 0)) .unwrap(); canvas .copy(&u_char, None, UwUFont::pos_to_rect(UWU_WIDTH as i32 * 2, 0)) .unwrap(); canvas .copy(&p_char, None, UwUFont::pos_to_rect(UWU_WIDTH as i32 * 2, 0)) .unwrap(); //canvas.clear(); let tc = canvas.texture_creator(); // let sheet = tc.load_texture_bytes(font::MEOW_FONT.texture).unwrap(); /* canvas.copy( &sheet, Rect::new(0, 0, font::UWU_WIDTH, font::UWU_HEIGHT), font::UwUFont::pos_to_rect(0, 0), ); */ canvas.draw_rect(Rect::new(100, 100, 200, 200)); canvas.present(); let mut event_pump = sdl_context.event_pump().unwrap(); let mut i = 0; 'running: loop { i = (i + 1) % 255; //canvas.set_draw_color(Color::RGB(i, 64, 255 - i)); //canvas.clear(); for event in event_pump.poll_iter() { match event { Event::Quit { .. } | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => break 'running, _ => {} } } // The rest of the game loop goes here... //canvas.present(); ::std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 60)); } }