00001 #ifndef _FREETYPE_FACE_MANAGER_H_ 00002 #define _FREETYPE_FACE_MANAGER_H_ 00003 00004 #include <nds.h> 00005 #include "fontbase.h" 00006 00007 #include "ft2build.h" 00008 #include FT_FREETYPE_H 00009 #include FT_CACHE_H 00010 #include FT_BITMAP_H 00011 00012 namespace WoopsiUI { 00013 00024 struct FaceID { 00025 char* path; 00026 u8 index; 00027 u32 charMapIndex; 00028 }; 00029 00037 struct FreeTypeFaceManagerItem { 00038 FaceID* faceID; 00039 FreeTypeFaceManagerItem *next; 00040 }; 00041 00042 class FreeTypeFaceManager { 00043 public: 00047 FreeTypeFaceManager() { _root = NULL; }; 00048 00052 ~FreeTypeFaceManager(); 00053 00061 const FaceID* addFace(const char* path, const u8 index = 0); 00062 00063 private: 00064 FreeTypeFaceManagerItem* _root; 00065 }; 00066 } 00067 00068 #endif