From 36ed961e04f87038d2df721926c6ffd030dfa47c Mon Sep 17 00:00:00 2001 From: cflip Date: Sat, 1 Jan 2022 16:07:41 -0700 Subject: Rename knobs to sliders I originally planned to make knobs but SDL doesn't have any built in circle drawing functions so they are sliders now. --- gui.cpp | 30 +++++++++++++++--------------- gui.h | 8 ++++---- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gui.cpp b/gui.cpp index 5e1479d..428959b 100644 --- a/gui.cpp +++ b/gui.cpp @@ -3,7 +3,7 @@ #include #include "sequence.h" -void Knob::Draw(SDL_Renderer* renderer) +void Slider::Draw(SDL_Renderer* renderer) { constexpr int Radius = 25; SDL_Rect rect = { m_x, m_y, Radius, Radius }; @@ -12,7 +12,7 @@ void Knob::Draw(SDL_Renderer* renderer) SDL_RenderDrawLine(renderer, m_x, m_y + (*value * valueScaling), m_x + Radius, m_y + (*value * valueScaling)); } -bool Knob::InBounds(int x, int y) +bool Slider::InBounds(int x, int y) { constexpr int Radius = 25; SDL_Rect rect = { m_x, m_y, Radius, Radius }; @@ -27,17 +27,17 @@ GUI::GUI(Sequence& seq) int i = 0; for (auto& step : seq.steps) { ++i; - m_knobs.emplace_back(i * 30 + 10, 120, &step.carrierFreq, 0.1f); - m_knobs.emplace_back(i * 30 + 10, 180, &step.modFreq); - m_knobs.emplace_back(i * 30 + 10, 220, &step.modDepth, 3.0f); + m_sliders.emplace_back(i * 30 + 10, 120, &step.carrierFreq, 0.1f); + m_sliders.emplace_back(i * 30 + 10, 180, &step.modFreq); + m_sliders.emplace_back(i * 30 + 10, 220, &step.modDepth, 3.0f); } } void GUI::OnMouseDown(int x, int y) { - for (Knob& knob : m_knobs) { - if (knob.InBounds(x, y)) { - m_activeKnob = &knob; + for (Slider& slider : m_sliders) { + if (slider.InBounds(x, y)) { + m_activeSlider = &slider; m_dragStart = y; return; } @@ -46,18 +46,18 @@ void GUI::OnMouseDown(int x, int y) void GUI::OnMouseUp() { - m_activeKnob = nullptr; + m_activeSlider = nullptr; m_dragStart = 0; } void GUI::OnMouseMove(int x, int y) { - if (m_activeKnob) { - *m_activeKnob->value -= (m_dragStart - y) / m_activeKnob->valueScaling; + if (m_activeSlider) { + *m_activeSlider->value -= (m_dragStart - y) / m_activeSlider->valueScaling; m_dragStart = y; - if (*m_activeKnob->value < 0) - *m_activeKnob->value = 0; + if (*m_activeSlider->value < 0) + *m_activeSlider->value = 0; } } @@ -83,7 +83,7 @@ void GUI::Repaint(SDL_Renderer* renderer, int currentStep) SDL_SetRenderDrawColor(renderer, 127, 127, 255, 255); - for (Knob& knob : m_knobs) { - knob.Draw(renderer); + for (Slider& slider : m_sliders) { + slider.Draw(renderer); } } \ No newline at end of file diff --git a/gui.h b/gui.h index b8b1f2b..b510c7e 100644 --- a/gui.h +++ b/gui.h @@ -5,9 +5,9 @@ struct SDL_Renderer; -class Knob { +class Slider { public: - Knob(int x, int y, float* valuePtr, float scaling = 1.f) + Slider(int x, int y, float* valuePtr, float scaling = 1.f) : m_x(x), m_y(y), value(valuePtr), valueScaling(scaling) {} void Draw(SDL_Renderer*); @@ -29,9 +29,9 @@ public: void Repaint(SDL_Renderer*, int currentStep); private: - std::vector m_knobs; + std::vector m_sliders; Sequence& m_sequence; - Knob* m_activeKnob{ nullptr }; + Slider* m_activeSlider{ nullptr }; int m_dragStart{ 0 }; }; \ No newline at end of file -- cgit v1.2.3