00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <GLW/GLWScrollButton.h>
00022
00023 GLWScrollButtonI::~GLWScrollButtonI()
00024 {
00025
00026 }
00027
00028 GLWScrollButton::GLWScrollButton(float x, float y, float w, float h)
00029 : GLWButton(x, y, w, h), scrollHandler_(0),
00030 startX_(0.0f), startY_(0.0f)
00031 {
00032
00033 }
00034
00035 GLWScrollButton::~GLWScrollButton()
00036 {
00037
00038 }
00039
00040 void GLWScrollButton::mouseDown(int button, float x, float y, bool &skipRest)
00041 {
00042 startX_ = 0.0f;
00043 startY_ = 0.0f;
00044
00045 if (scrollHandler_)
00046 {
00047 scrollHandler_->startDrag(id_);
00048 }
00049
00050 GLWButton::mouseDown(button, x, y, skipRest);
00051 }
00052
00053 void GLWScrollButton::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest)
00054 {
00055 if (pressed_)
00056 {
00057 if (scrollHandler_)
00058 {
00059 startX_ += x;
00060 startY_ += y;
00061 scrollHandler_->buttonDrag(id_, startX_, startY_);
00062 skipRest = true;
00063 }
00064 }
00065 }
00066
00067 void GLWScrollButton::setScrollHandler(GLWScrollButtonI *handler)
00068 {
00069 scrollHandler_ = handler;
00070 }