diff options
feat: get_char should return a character with render-ready information
Diffstat (limited to 'src')
| -rw-r--r-- | src/font.rs | 16 | 
1 files changed, 15 insertions, 1 deletions
diff --git a/src/font.rs b/src/font.rs index 546fabe..d4e8d88 100644 --- a/src/font.rs +++ b/src/font.rs @@ -15,8 +15,22 @@ fn insert_value(arr: &mut Vec<*const Glyph>, idx: usize, glyph: *const Glyph) {    arr[idx] = glyph;  } +pub struct RenderableCharacter { +  pub width: u16, +  pub data: &'static [u8], +} +/** +  A trait describing a generated font.  + */  pub trait BakedFont { -  fn get_char(character: char) -> &'static [u8]; +  fn get_char_bytes(character: char) -> &'static [u8]; +  fn get_char(character: char) -> RenderableCharacter { +    let bytes = Self::get_char_bytes(character); +    RenderableCharacter { +      width: (bytes[0] as u16) | (bytes[1] as u16 >> 8) , +      data: &bytes[2..] +    } +  }  }  pub struct Font<'a> {    pub texture: &'a [u8],  |