diff options
feat: specify amount to advance x position
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/src/main.rs b/src/main.rs index ebe73d7..c212386 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,11 +4,10 @@ mod font; pub mod generated; use font::BakedFont; -use generated::fonts::FONT_CHERRY_BOMB_ONE; +use generated::fonts::{FONT_CHERRY_BOMB_ONE, FONT_GALMURI}; use sdl2::event::Event; use sdl2::keyboard::Keycode; use sdl2::pixels::Color; -use sdl2::rect::Rect; use std::time::Duration; pub fn main() { @@ -26,27 +25,41 @@ pub fn main() { 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)); + + let mut offset: f32 = 0.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(i, 64, 255 - i)) + .unwrap(), + None, + char.to_rect(offset as i32, 0), + ) + .unwrap(); + offset += char.advance_width; + } + offset=0.0; + for c in "All hail Blahaj".chars() { + let char = FONT_GALMURI.get_char(c); + canvas + .copy( + &char + .to_texture(&texture_creator, Color::RGB(i, 64, 255 - i)) + .unwrap(), + None, + char.to_rect(offset as i32, 40), + ) + .unwrap(); + offset += char.advance_width; + } + // canvas.set_draw_color(); // canvas.clear(); for event in event_pump.poll_iter() { match event { @@ -59,7 +72,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)); } } |