summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI/GSlider.h
diff options
context:
space:
mode:
Diffstat (limited to 'Libraries/LibGUI/GSlider.h')
-rwxr-xr-xLibraries/LibGUI/GSlider.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/Libraries/LibGUI/GSlider.h b/Libraries/LibGUI/GSlider.h
index a9791ae409..bfd787cbd3 100755
--- a/Libraries/LibGUI/GSlider.h
+++ b/Libraries/LibGUI/GSlider.h
@@ -4,11 +4,16 @@
class GSlider : public GWidget {
public:
- enum class KnobSizeMode { Fixed, Proportional };
+ enum class KnobSizeMode {
+ Fixed,
+ Proportional,
+ };
- explicit GSlider(GWidget*);
+ GSlider(Orientation, GWidget*);
virtual ~GSlider() override;
+ Orientation orientation() const { return m_orientation; }
+
int value() const { return m_value; }
int min() const { return m_min; }
int max() const { return m_max; }
@@ -22,12 +27,18 @@ public:
void set_knob_size_mode(KnobSizeMode mode) { m_knob_size_mode = mode; }
KnobSizeMode knob_size_mode() const { return m_knob_size_mode; }
- int track_height() const { return 2; }
- int knob_fixed_width() const { return 8; }
- int knob_height() const { return 20; }
+ int track_size() const { return 2; }
+ int knob_fixed_primary_size() const { return 8; }
+ int knob_secondary_size() const { return 20; }
Rect knob_rect() const;
- Rect inner_rect() const { return rect().shrunken(20, 0); }
+
+ Rect inner_rect() const
+ {
+ if (orientation() == Orientation::Horizontal)
+ return rect().shrunken(20, 0);
+ return rect().shrunken(0, 20);
+ }
Function<void(int)> on_value_changed;
@@ -45,11 +56,10 @@ private:
int m_value { 0 };
int m_min { 0 };
int m_max { 100 };
-
bool m_knob_hovered { false };
bool m_dragging { false };
int m_drag_origin_value { 0 };
Point m_drag_origin;
-
KnobSizeMode m_knob_size_mode { KnobSizeMode::Fixed };
+ Orientation m_orientation { Orientation::Horizontal };
};