X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fslider.cpp;h=dc8a28a6ff0c0ca718000cb3923c5e03c1050633;hb=815194201203afd6fa59e650e1007a355c829544;hp=425f721f0ccf052bd0eb74a78b44eaca80570498;hpb=0af3c2393bd00f39db3bfaf5b78a7a44f0fd5ff1;p=libs%2Fgltk.git diff --git a/source/slider.cpp b/source/slider.cpp index 425f721..dc8a28a 100644 --- a/source/slider.cpp +++ b/source/slider.cpp @@ -1,17 +1,9 @@ -/* $Id$ - -This file is part of libmspgltk -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #include "slider.h" namespace Msp { namespace GLtk { -Slider::Slider(const Resources &r): - Widget(r), +Slider::Slider(): min(0), max(1), value(0), @@ -56,19 +48,22 @@ void Slider::start_drag(int p) dragging = true; drag_start_pos = p; drag_start_value = value; - state |= ACTIVE; + set_state(ACTIVE); } void Slider::drag(int p) { if(max>min) + { set_value(drag_start_value+(p-drag_start_pos)*(max-min)/drag_area_size); + rebuild(); + } } void Slider::end_drag() { dragging = false; - state &= ~ACTIVE; + clear_state(ACTIVE); } @@ -82,7 +77,7 @@ Slider::Loader::Loader(Slider &s): Slider &Slider::Loader::get_object() const { - return static_cast(wdg); + return static_cast(obj); } } // namespace GLtk