00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _GLWSLIDER_H_
00022 #define _GLWSLIDER_H_
00023
00024 #include <GLW/GLWidget.h>
00025
00026 class GLWSliderI
00027 {
00028 public:
00029 virtual void currentChanged(unsigned int id, float value) = 0;
00030 };
00031
00032 class GLWSlider : public GLWidget
00033 {
00034 public:
00035 GLWSlider(float x = 0.0f, float y = 0.0f, float w = 0.0f,
00036 float min = 0.0f, float max = 100.0f, int marks = 10);
00037 virtual ~GLWSlider();
00038
00039 void setHandler(GLWSliderI *handler) { handler_ = handler; }
00040
00041 float getCurrent() { return current_; }
00042 void setCurrent(float current);
00043
00044 virtual void draw();
00045 virtual void mouseDown(int button, float x, float y, bool &skipRest);
00046 virtual void mouseUp(int button, float x, float y, bool &skipRest);
00047 virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest);
00048
00049 REGISTER_CLASS_HEADER(GLWSlider);
00050
00051 protected:
00052 GLWSliderI *handler_;
00053 float current_;
00054 float min_, max_;
00055 int marks_;
00056
00057 };
00058
00059 #endif