diff options
fix: nyaa
Diffstat (limited to 'src')
-rw-r--r-- | src/font.rs | 12 |
1 files changed, 7 insertions, 5 deletions
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<Font> = 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, |