X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fslider.cpp;h=32e221e36dba39d56776570e0b99209c4ce873d9;hb=768c65e13861f72929290ac2513df9975579e543;hp=4565675916433920d47e3699fe8155a7cd16e652;hpb=73afd124ab87e8bace98db55517a56c797a9b8c7;p=libs%2Fgltk.git diff --git a/source/slider.cpp b/source/slider.cpp index 4565675..32e221e 100644 --- a/source/slider.cpp +++ b/source/slider.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspgltk -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #include "slider.h" namespace Msp { @@ -55,34 +48,32 @@ 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); } Slider::Loader::Loader(Slider &s): - Widget::Loader(s) + DataFile::DerivedObjectLoader(s) { add("range", &Slider::min, &Slider::max); add("step", &Slider::step); add("value", &Slider::value); } -Slider &Slider::Loader::get_object() const -{ - return static_cast(obj); -} - } // namespace GLtk } // namespace Msp