X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fslider.h;h=a95a6a57665fd905577d3e76f54afa76ef5313f1;hb=f0b600c3b1739f7e088da6ab8eb7c2e67adf592c;hp=e6cbe0d0a37706e02948e1e33ff7e7f743d840b7;hpb=8f6f543758fb1b2b17ae2db519198d420eb9982d;p=libs%2Fgltk.git diff --git a/source/slider.h b/source/slider.h index e6cbe0d..a95a6a5 100644 --- a/source/slider.h +++ b/source/slider.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspgltk -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_GLTK_SLIDER_H_ #define MSP_GLTK_SLIDER_H_ @@ -22,28 +15,39 @@ variations. class Slider: public Widget { public: - class Loader: public Widget::Loader + class Loader: public DataFile::DerivedObjectLoader { public: Loader(Slider &); - Slider &get_object() const; }; + sigc::signal signal_value_changed; + protected: double min, max; double value; double step; -public: - sigc::signal signal_value_changed; + bool dragging; + double drag_start_pos; + double drag_start_value; + unsigned drag_area_size; + unsigned drag_area_offset; + unsigned slider_size; + + Slider(); -protected: - Slider(const Resources &); public: void set_value(double); void set_range(double, double); void set_step(double); double get_value() const { return value; } + +protected: + void click(int); + void start_drag(int); + void drag(int); + void end_drag(); }; } // namespace GLtk