Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

CUI_VarBMFont.h

Go to the documentation of this file.
00001 
00016 #ifndef CUI_VARBMFONT_H
00017 #define CUI_VARBMFONT_H
00018 
00019 #include "UI_Lib.h"
00020 #include "UI_types.h"
00021 #include "IUI_Renderer.h"
00022 #include "IUI_Font.h"
00023 
00025 
00031 class GLGUI_ENTRY CUI_VarBMFont : public IUI_Font
00032 {
00033 public:
00035 
00042         CUI_VarBMFont( IUI_Shader *shader = NULL,
00043                                         int xres = 256, int yres = 256,
00044                                         unsigned char *widths = NULL );
00045 
00047         virtual ~CUI_VarBMFont();
00048 
00050         virtual bool CalculateLookupTable( unsigned char *widths );
00051 
00053 
00058         virtual bool RenderText( double dtime, IUI_Renderer *renderer, char *text );
00059 
00061 
00064         virtual bool RenderText( double dtime, IUI_Renderer *renderer, char *text, unsigned int columns, unsigned int rows,
00065                                                                 unsigned int startColumn, unsigned int startRow, bool wrap,
00066                                                                 unsigned int &textColumns, unsigned int &textRows,                                                              
00067                                                                 bool invert = false,
00068                                                                 unsigned int cursorPosition = 0, unsigned short cursorType = UI_CURSOR_NONE
00069                                                                 );
00070 
00072         virtual bool Count( char *text, unsigned int columns, unsigned int rows,
00073                                                 bool wrap, unsigned int &textColumns, unsigned int &textRows );
00074 
00076         virtual bool SetShader( IUI_Shader *shader )
00077         { m_shader = shader; return false; }
00078 
00080         virtual bool SetWidths( unsigned char *widths )
00081         { return CalculateLookupTable( widths ); }
00082 
00083 protected:
00084 
00086         IUI_Shader *m_shader;
00087 
00089         int m_resx;
00091         int m_resy;
00092 
00094         v4_f m_textureTable[256*4];
00095 
00097         float m_charwidth[256];
00098 
00099 };
00100 
00101 #endif

Generated on Mon Sep 29 23:07:02 2003 for glGUI by doxygen 1.3.4