diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 56 |
1 files changed, 22 insertions, 34 deletions
diff --git a/src/main.rs b/src/main.rs index 39f39d2..287847d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,12 +3,12 @@ extern crate sdl2; mod font; pub mod generated; -use font::{UwUFont, UWU_WIDTH}; +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 sdl2::render::TextureCreator; use std::time::Duration; pub fn main() { @@ -24,42 +24,30 @@ pub fn main() { 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)); + // let uwu_font = font::UwUFont::new(&texture_creator); + canvas.clear(); + let mut offset: u16 = 0; + for c in "UwUSpace".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(); + // canvas.set_draw_color(Color::RGB(i, 64, 255 - i)); + // canvas.clear(); for event in event_pump.poll_iter() { match event { Event::Quit { .. } @@ -71,7 +59,7 @@ pub fn main() { } } // The rest of the game loop goes here... - //canvas.present(); + // canvas.present(); ::std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 60)); } } |