00001
00015 #ifndef CUI_TEXTBOX_H
00016 #define CUI_TEXTBOX_H
00017
00018 #include "CUI_Widget.h"
00019
00021
00039 class GLGUI_ENTRY CUI_TextBox : public CUI_Widget
00040 {
00041 public:
00043 CUI_TextBox( CUI_UI *ui = NULL, float x = 0, float y = 0, float x2 = 1, float y2 = 1,
00044 CUI_Frame *parent = NULL, IUI_Shader *shader = NULL,
00045 IUI_Shader *cursor = NULL, CUI_CoordSys *coordsys = NULL,
00046
00047 char *text = NULL, IUI_Font *font = NULL, float textscale = 0.8,
00048 IUI_Border *border = NULL,
00049
00050 int columns = 30, int rows = 40, int startcolumn = 0, int startrow = 0,
00051 bool wordwrap = true
00052 );
00053
00055 virtual ~CUI_TextBox();
00056
00058 virtual bool SetSize( int columns = 30, int rows = 40 );
00059
00061 virtual bool GetSize( int &columns, int &rows );
00062
00064 virtual bool SetStart( int startColumn = 0, int startRow = 0 );
00065
00067 virtual bool GetStart( int &startColumn, int &startRow );
00068
00070 virtual bool Render( double dtime, IUI_Renderer *renderer );
00071
00073 virtual bool CatText( const char *text );
00074
00076
00077 virtual bool GetTextSize( int &columns, int &rows );
00078
00080
00083 virtual bool Count( int &columns, int &rows );
00084
00086 virtual bool SetWordWrap( bool wordwrap )
00087 { m_wordWrap = wordwrap; return false; }
00088
00089 protected:
00090
00092 unsigned int m_columns;
00094 unsigned int m_rows;
00096 unsigned int m_startColumn;
00098 unsigned int m_startRow;
00099
00101 unsigned int m_textColumns;
00103 unsigned int m_textRows;
00104
00106 bool m_wordWrap;
00107
00108 };
00109
00110
00111 #endif