From ad01283c4cfb095d124aa7afcdc0e0c49f4e8c41 Mon Sep 17 00:00:00 2001 From: memdmp Date: Sun, 12 Jan 2025 00:21:01 +0100 Subject: fix: nyaa --- src/font.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/font.rs b/src/font.rs index 7df0545..92c0f6b 100644 --- a/src/font.rs +++ b/src/font.rs @@ -24,12 +24,14 @@ pub struct RenderableCharacter { pub data: &'static [u8], } /** - A trait describing a generated font. + A trait describing a generated font. + We use traits implemented by each font because it's somehow optimized better in preliminary testing(?) */ pub trait BakedFont { - fn get_char_bytes(character: char) -> &'static [u8]; - fn get_char(character: char) -> RenderableCharacter { - let bytes = Self::get_char_bytes(character); + fn has_char(&self,character: char) -> bool; + fn get_char_bytes(&self,character: char) -> &'static [u8]; + fn get_char(&self,character: char) -> RenderableCharacter { + let bytes = self.get_char_bytes(character); let width = (bytes[0] as u16) | (bytes[1] as u16 >> 8); let data = &bytes[2..]; RenderableCharacter { @@ -54,7 +56,7 @@ pub const MEOW_FONT: LazyLock = LazyLock::new(|| Font { }); mod sprite_sheets { - use super::{MEOW_FONT, UWU_HEIGHT, UWU_WIDTH}; + use super::{BakedFont, MEOW_FONT, UWU_HEIGHT, UWU_WIDTH}; use sdl2::{ // image::LoadTexture, pixels::PixelFormatEnum, -- cgit v1.2.3