Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_GUI_TRACKBARGADGET_H__
00009 #define __SP_GUI_TRACKBARGADGET_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #ifdef SP_COMPILE_WITH_GUI
00015
00016
00017 #include "GUI/spGUIGadget.hpp"
00018
00019
00020 namespace sp
00021 {
00022 namespace gui
00023 {
00024
00025
00026 enum ETrackbarFlags
00027 {
00028 GUIFLAG_GRID = 0x00000001,
00029 };
00030
00031
00036 class SP_EXPORT GUITrackbarGadget : public GUIGadget
00037 {
00038
00039 public:
00040
00041 GUITrackbarGadget();
00042 ~GUITrackbarGadget();
00043
00044 bool update();
00045 void draw();
00046
00047 void setState(s32 State);
00048 void setRange(s32 Min, s32 Max);
00049 void setBarSize(s32 Size);
00050
00051
00052
00053 inline s32 getState() const
00054 {
00055 return State_;
00056 }
00057 inline s32 getRangeMin() const
00058 {
00059 return RangeMin_;
00060 }
00061 inline s32 getRangeMax() const
00062 {
00063 return RangeMax_;
00064 }
00065 inline s32 getBarSize() const
00066 {
00067 return BarSize_;
00068 }
00069
00070 private:
00071
00072
00073
00074 enum EFocusUsages
00075 {
00076 USAGE_DRAG,
00077 };
00078
00079
00080
00081 void setStatePos(s32 PosHorz, bool isMoving);
00082
00083 dim::rect2di getTrackBarRect() const;
00084
00085
00086
00087 s32 State_, RangeMin_, RangeMax_;
00088 s32 CursorPosBias_, BarSize_;
00089
00090 };
00091
00092
00093 }
00094
00095 }
00096
00097
00098 #endif
00099
00100 #endif
00101
00102
00103
00104