X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhslider.h;h=4f05d6d6f4e095b478346226d7d908ddcc9fa6ff;hb=1fde94c15fc65e85f5931a9daf74dd8806e682e0;hp=84a164e593a29b7bb824f23b7842f69946eed430;hpb=c1f038acb91eb3bfaa34dfd4729d19ed3f871a42;p=libs%2Fgltk.git diff --git a/source/hslider.h b/source/hslider.h index 84a164e..4f05d6d 100644 --- a/source/hslider.h +++ b/source/hslider.h @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of libmspgltk +Copyright © 2007 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #ifndef MSP_GLTK_HSLIDER_H_ #define MSP_GLTK_HSLIDER_H_ @@ -6,15 +13,26 @@ namespace Msp { namespace GLtk { +/** +Horizontal slider widget. A special part named "slider" will be positioned at +the current value of the widget. The fill_x attribute is ignored. +*/ class HSlider: public Slider { +private: + bool dragging; + int drag_start_x; + double drag_start_value; + public: HSlider(const Resources &); + virtual void button_press(int, int, unsigned); + virtual void button_release(int, int, unsigned); + virtual void pointer_motion(int, int); private: - void render_part(const Part &) const; - void on_button_press(int, int, unsigned); - void on_button_release(int, int, unsigned); - void pointer_motion(int, int); + virtual const char *get_class() const { return "hslider"; } + virtual void render_part(const Part &) const; + unsigned get_slider_width() const; }; } // namespace GLtk