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