00001
00015 #ifndef CUI_BUTTON_H
00016 #define CUI_BUTTON_H
00017
00018 #include "CUI_Widget.h"
00019
00021
00033 class GLGUI_ENTRY CUI_Button : public CUI_Widget
00034 {
00035 public:
00037 CUI_Button( CUI_UI *ui = NULL, float x = 0, float y = 0, float x2 = 1, float y2 = 1,
00038 CUI_Frame *parent = NULL, IUI_Shader *shader = NULL,
00039 IUI_Shader *cursor = NULL, CUI_CoordSys *coordsys = NULL,
00040
00041 char *text = NULL, IUI_Font *font = NULL, float textscale = 0.8,
00042 IUI_Border *border = NULL,
00043
00044 IUI_Shader *hover = NULL, IUI_Shader *disable = NULL,
00045 IUI_Shader *click = NULL
00046 );
00048 virtual ~CUI_Button();
00049
00051 virtual bool Render( double dtime, IUI_Renderer *renderer );
00052
00054
00059 virtual bool SetShader( IUI_Shader *shader );
00060
00062
00063 virtual bool SetHoverShader( IUI_Shader *shader );
00065
00066 virtual bool SetDisableShader( IUI_Shader *shader );
00068
00069 virtual bool SetClickShader( IUI_Shader *shader );
00070
00072 virtual bool IsClickable( ) { return true; }
00073
00075
00084 virtual bool Click( int &id, int &numparam, void **param );
00085
00087
00089 virtual void DeleteParam( void *param ) { };
00090
00091
00092 protected:
00093
00095 IUI_Shader *m_defaultShader;
00097 IUI_Shader *m_hoverShader;
00099 IUI_Shader *m_disableShader;
00101 IUI_Shader *m_clickShader;
00102
00103 };
00104
00105 #endif