aboutsummaryrefslogtreecommitdiffstats
path: root/src/font.rs
diff options
context:
space:
mode:
authorLibravatarLarge Libravatar memdmp <memdmpmemewarenet>2025-01-12 00:21:01 +0100
committerLibravatarLarge Libravatar memdmp <memdmpmemewarenet>2025-01-12 00:21:01 +0100
commitad01283c4cfb095d124aa7afcdc0e0c49f4e8c41 (patch)
tree539a1003d94adca23b7794beb9ad49c447b2aaf9 /src/font.rs
parentf87f0f26b21d445877658d7725472c666c2ee40c (diff)
downloadcosin25-invite-mountainbytes-ad01283c4cfb095d124aa7afcdc0e0c49f4e8c41.tar.gz
cosin25-invite-mountainbytes-ad01283c4cfb095d124aa7afcdc0e0c49f4e8c41.tar.bz2
cosin25-invite-mountainbytes-ad01283c4cfb095d124aa7afcdc0e0c49f4e8c41.tar.lz
cosin25-invite-mountainbytes-ad01283c4cfb095d124aa7afcdc0e0c49f4e8c41.zip

fix: nyaa

Diffstat (limited to 'src/font.rs')
-rw-r--r--src/font.rs12
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,