nuclear@6: /* nuclear@6: GoatKit - a themable/animated widget toolkit for games nuclear@6: Copyright (C) 2014 John Tsiombikas nuclear@6: nuclear@6: This program is free software: you can redistribute it and/or modify nuclear@6: it under the terms of the GNU Lesser General Public License as published by nuclear@6: the Free Software Foundation, either version 3 of the License, or nuclear@6: (at your option) any later version. nuclear@6: nuclear@6: This program is distributed in the hope that it will be useful, nuclear@6: but WITHOUT ANY WARRANTY; without even the implied warranty of nuclear@6: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the nuclear@6: GNU Lesser General Public License for more details. nuclear@6: nuclear@6: You should have received a copy of the GNU Lesser General Public License nuclear@6: along with this program. If not, see . nuclear@6: */ nuclear@6: #ifndef SLIDER_H_ nuclear@6: #define SLIDER_H_ nuclear@6: nuclear@6: #include "widget.h" nuclear@6: nuclear@6: namespace goatkit { nuclear@6: nuclear@6: struct SliderImpl; nuclear@6: nuclear@6: class Slider : public Widget { nuclear@6: private: nuclear@6: SliderImpl *slider; nuclear@6: nuclear@6: public: nuclear@6: Slider(); nuclear@6: virtual ~Slider(); nuclear@6: nuclear@6: virtual const char *get_type_name() const; nuclear@6: nuclear@6: virtual void set_value(float val); nuclear@6: virtual float get_value() const; nuclear@6: nuclear@6: virtual void set_value_norm(float val); nuclear@6: virtual float get_value_norm() const; nuclear@6: nuclear@6: virtual void set_padding(float pad); nuclear@6: virtual float get_padding() const; nuclear@6: nuclear@6: virtual void set_continuous_change(bool cont); nuclear@6: virtual bool get_continuous_change() const; nuclear@6: nuclear@6: virtual void set_range(float min, float max); nuclear@6: virtual float get_range_min() const; nuclear@6: virtual float get_range_max() const; nuclear@6: nuclear@6: virtual void set_step(float step); nuclear@6: virtual float get_step() const; nuclear@6: nuclear@6: virtual void on_mouse_button(const ButtonEvent &ev); nuclear@6: virtual void on_mouse_motion(const MotionEvent &ev); nuclear@6: }; nuclear@6: nuclear@6: } // namespace goatkit nuclear@6: nuclear@6: #endif // SLIDER_H_