00001 00016 #ifndef IUI_FONT_H 00017 #define IUI_FONT_H 00018 00019 #include "UI_Lib.h" 00020 #include "UI_types.h" 00021 #include "IUI_Renderer.h" 00022 #include "CUI_Resource.h" 00023 00024 #ifndef UI_CURSOR_TYPES 00025 #define UI_CURSOR_TYPES 00026 #define UI_CURSOR_NONE 0 00027 #define UI_CURSOR_BAR 1 00028 #define UI_CURSOR_UNDERLINE 2 00029 #endif 00030 00032 class GLGUI_ENTRY IUI_Font : public CUI_Resource 00033 { 00034 public: 00036 IUI_Font() { }; 00037 00039 virtual ~IUI_Font() { }; 00040 00041 00043 00048 virtual bool RenderText( double dtime, IUI_Renderer *renderer, char *text ) = 0; 00049 00051 00056 virtual bool RenderText( double dtime, IUI_Renderer *renderer, 00057 char *text, unsigned int columns, unsigned int rows, 00058 unsigned int startColumn, unsigned int startRow, bool wrap, 00059 unsigned int &textColumns, unsigned int &textRows, 00060 bool invert = false, 00061 unsigned int cursorPosition = 0, unsigned short cursorType = UI_CURSOR_NONE 00062 ) = 0; 00063 00065 virtual bool Count( char *text, unsigned int columns, unsigned int rows, 00066 bool wrap, unsigned int &textColumns, unsigned int &textRows ) = 0; 00067 00068 private: 00069 00070 }; 00071 00072 #endif