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