00001
00015 #ifndef CUI_DRAGGABLEFRAME_H
00016 #define CUI_DRAGGABLEFRAME_H
00017
00018 #include "UI_Lib.h"
00019 #include "UI_types.h"
00020 #include "CUI_Frame.h"
00021
00022 #include <list>
00023
00025
00037 class GLGUI_ENTRY CUI_DraggableFrame : public CUI_Frame
00038 {
00039 public:
00041 CUI_DraggableFrame( CUI_UI *ui = NULL, float x = 0, float y = 0, float x2 = 1, float y2 = 1,
00042 CUI_Frame *parent = NULL, IUI_Shader *shader = NULL,
00043 IUI_Shader *cursor = NULL, CUI_CoordSys *coordsys = NULL,
00044
00045 bool clipToParent = true
00046 );
00047
00049 virtual ~CUI_DraggableFrame();
00050
00052 virtual bool IsClickable( ) { return true; }
00053
00055
00059 virtual bool Click( int &id, int &numparam, void **param );
00060
00062 virtual bool IsDraggable( ) { return true; }
00063
00065
00066 virtual bool Drag( float x, float y, float dx, float dy, int &id, int &numparam, void **param );
00067
00069
00071 virtual void DeleteParam( void *param ) { delete [](float*)param; };
00072
00074 virtual bool SetClipToParent( bool cliptoparent )
00075 { m_clipToParent = cliptoparent; return false; }
00076
00077 protected:
00078
00080 bool m_clipToParent;
00081
00082 };
00083
00084 #endif