#ifndef SLIDER_H #define SLIDER_H /* slider.h */ #include "scene/gui/range.h" class Slider : public Range { GDCLASS(Slider, Range); struct Grab { int pos; float uvalue; bool active; } grab; int ticks; bool mouse_inside; Orientation orientation; float custom_step; bool editable; bool scrollable; protected: void _gui_input(Ref p_event); void _notification(int p_what); static void _bind_methods(); bool ticks_on_borders; public: virtual Size2 get_minimum_size() const; void set_custom_step(float p_custom_step); float get_custom_step() const; void set_ticks(int p_count); int get_ticks() const; void set_ticks_on_borders(bool); bool get_ticks_on_borders() const; void set_editable(bool p_editable); bool is_editable() const; void set_scrollable(bool p_scrollable); bool is_scrollable() const; Slider(Orientation p_orientation = VERTICAL); }; class HSlider : public Slider { GDCLASS(HSlider, Slider); public: HSlider() : Slider(HORIZONTAL) { set_v_size_flags(0); } }; class VSlider : public Slider { GDCLASS(VSlider, Slider); public: VSlider() : Slider(VERTICAL) { set_h_size_flags(0); } }; #endif // SLIDER_H