diff options
author | 2025-01-12 03:18:35 +0100 | |
---|---|---|
committer | 2025-01-12 03:18:35 +0100 | |
commit | 424e0e328d9b7ffbb6669d67b034324b48ea777c (patch) | |
tree | 8679731b09cf116d72dcec9245e7729aef07a29e | |
parent | 1dbb41ee40a27e1d6a6ac79ab83d55dce923856f (diff) | |
download | cosin25-invite-mountainbytes-font-rendering.tar.gz cosin25-invite-mountainbytes-font-rendering.tar.bz2 cosin25-invite-mountainbytes-font-rendering.tar.lz cosin25-invite-mountainbytes-font-rendering.zip |
fix: last pixel rendering shit
-rw-r--r-- | build.rs | 20 | ||||
-rw-r--r-- | src/font.rs | 10 | ||||
-rw-r--r-- | src/main.rs | 11 |
3 files changed, 15 insertions, 26 deletions
@@ -29,22 +29,8 @@ impl FontMetadata { bounding_box.unwrap() } }; - let bounding_box = { - let bounding_box = glyph.exact_bounding_box(); - if bounding_box.is_none() { - Rect { - min: Point { x: 0.0, y: 0.0 }, - max: Point { - x: pixel_bounding_box.width() as f32, - y: 0.0, - }, - } - } else { - bounding_box.unwrap() - } - }; - let width = bounding_box.width() as u32; - let height = bounding_box.height() as u32; + let width = pixel_bounding_box.width() as u32; + let height = pixel_bounding_box.height() as u32; let mut image: Vec<u8> = Vec::new(); @@ -207,7 +193,7 @@ use crate::font::BakedFont; FontMetadata { name: "CherryBombOne", font: { Font::try_from_vec(fs::read("assets/fonts/CherryBombOne.ttf")?).unwrap() }, - charset: "UwUSpace ", + charset: "UwU-Space", scale: Scale::uniform(36.0), }, ]; diff --git a/src/font.rs b/src/font.rs index a547928..8f06222 100644 --- a/src/font.rs +++ b/src/font.rs @@ -71,10 +71,12 @@ impl RenderableCharacter { let mut idx: usize = 0; for pixel in self.data { let index = idx * 4; - buffer[index] = colour.r; // Red - buffer[index + 1] = colour.g; // Green - buffer[index + 2] = colour.b; // Blue - buffer[index + 3] = *pixel; // Alpha + if index < buffer.len() { + buffer[index] = colour.r; // Red + buffer[index + 1] = colour.g; // Green + buffer[index + 2] = colour.b; // Blue + buffer[index + 3] = *pixel; // Alpha + } idx += 1; } }); diff --git a/src/main.rs b/src/main.rs index c212386..0f51f4e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,7 +15,7 @@ pub fn main() { let video_subsystem = sdl_context.video().unwrap(); let window = video_subsystem - .window("hentai", 320, 256) + .window("Cosin25 Invite", 320, 256) .position_centered() //.fullscreen() .build() @@ -31,8 +31,11 @@ pub fn main() { 'running: loop { i = (i + 1) % 255; + canvas.set_draw_color(Color::RGB(255, 255, 255)); + canvas.clear(); + let mut offset: f32 = 0.0; - for c in "UwU Space".chars() { + for c in "UwU-Space".chars() { let char = FONT_CHERRY_BOMB_ONE.get_char(c); canvas .copy( @@ -45,7 +48,7 @@ pub fn main() { .unwrap(); offset += char.advance_width; } - offset=0.0; + offset = 0.0; for c in "All hail Blahaj".chars() { let char = FONT_GALMURI.get_char(c); canvas @@ -59,8 +62,6 @@ pub fn main() { .unwrap(); offset += char.advance_width; } - // canvas.set_draw_color(); - // canvas.clear(); for event in event_pump.poll_iter() { match event { Event::Quit { .. } |