00001
00015 #ifndef CUI_DRAGGABLEVIEWFRAME_H
00016 #define CUI_DRAGGABLEVIEWFRAME_H
00017
00018 #include "UI_Lib.h"
00019 #include "UI_types.h"
00020 #include "CUI_Frame.h"
00021
00022 #include <list>
00023
00025
00041 class GLGUI_ENTRY CUI_DraggableViewFrame : public CUI_Frame
00042 {
00043 public:
00045 CUI_DraggableViewFrame( CUI_UI *ui = NULL, float x = 0, float y = 0, float x2 = 1, float y2 = 1,
00046 CUI_Frame *parent = NULL, IUI_Shader *shader = NULL,
00047 IUI_Shader *cursor = NULL, CUI_CoordSys *coordsys = NULL,
00048
00049 float keyScrollAmount = 0.5
00050 );
00051
00053 virtual ~CUI_DraggableViewFrame();
00054
00056 virtual bool SetView( float width, float height );
00057
00059 virtual bool ProcessKey( unsigned long key );
00060
00062 virtual bool SetKeyScrollAmount( float amount )
00063 { m_keyScrollAmount = amount; return false; }
00064
00066 virtual bool IsClickable( ) { return true; }
00067
00069
00070 virtual bool Click( int &id, int &numparam, void **param );
00071
00073 virtual bool IsDraggable( ) { return true; }
00074
00076
00077 virtual bool Drag( float x, float y, float dx, float dy, int &id, int &numparam, void **param );
00078
00080
00082 virtual void DeleteParam( void *param ) { };
00083
00084 protected:
00085
00087 float m_viewWidth;
00089 float m_viewHeight;
00090
00092 float m_keyScrollAmount;
00093
00094 };
00095
00096 #endif