WoopsiGfx 1.4
Nintendo DS 2D Graphics Library
libwoopsigfx/include/fontbase.h
00001 #ifndef _FONT_BASE_H_
00002 #define _FONT_BASE_H_
00003 
00004 #include <nds.h>
00005 
00006 const s32 GLYPH_MAP_SIZE = 32;
00007 
00008 namespace WoopsiGfx {
00009 
00010     class MutableBitmapBase;
00011     class WoopsiString;
00012 
00018     class FontBase {
00019 
00020     public:
00021 
00025         virtual inline ~FontBase() { };
00026 
00033         virtual const bool isCharBlank(const u32 letter) const = 0;
00034 
00048         virtual s16 drawChar(MutableBitmapBase* bitmap, u32 letter, u16 colour, s16 x, s16 y, u16 clipX1, u16 clipY1, u16 clipX2, u16 clipY2) = 0;
00049 
00063         virtual s16 drawBaselineChar(MutableBitmapBase* bitmap, u32 letter, u16 colour, s16 x, s16 y, u16 clipX1, u16 clipY1, u16 clipX2, u16 clipY2) = 0;
00064         
00070         virtual u16 getStringWidth(const WoopsiString& text) const = 0;
00071 
00080         virtual u16 getStringWidth(const WoopsiString& text, s32 startIndex, s32 length) const = 0;
00081 
00087         virtual u8 getCharWidth(u32 letter) const = 0;
00088 
00094         virtual u8 getCharHeight(u32 letter) const = 0;
00095         
00101         virtual s8 getCharTop(u32 letter) const = 0;        
00102 
00107         virtual const u8 getHeight() const = 0;
00108     };
00109 }
00110 
00111 #endif