extern crate sdl2; mod font; pub mod generated; use font::BakedFont; use generated::fonts::FONT_CHERRY_BOMB_ONE; use sdl2::event::Event; use sdl2::keyboard::Keycode; use sdl2::pixels::Color; use sdl2::rect::Rect; 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); canvas.clear(); let mut offset: u16 = 0; for c in "UwU Space".chars() { let char = FONT_CHERRY_BOMB_ONE.get_char(c); canvas .copy( &char .to_texture(&texture_creator, Color::RGB(255, 10, 100)) .unwrap(), None, char.to_rect(offset as i32, 0), ) .unwrap(); offset += char.width; } canvas.draw_rect(Rect::new(100, 100, 200, 200)).unwrap(); 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)); } }