27#include "../JuceLibraryCode/JuceHeader.h"
39 template <
typename BASE>
54 const juce::Slider::SliderStyle style,
55 juce::Slider& slider)
override;
65 const juce::Slider::SliderStyle style,
66 juce::Slider& slider)
override;
76 const juce::Slider::SliderStyle style,
77 juce::Slider& slider)
override;
81 template <
typename BASE>
90 const juce::Slider::SliderStyle style,
91 juce::Slider& slider) {
93 drawLinearSliderBackground(g, x, y, width, height, sliderPos, minSliderPos, maxSliderPos, style, slider);
94 drawLinearSliderThumb(g, x, y, width, height, sliderPos, minSliderPos, maxSliderPos, style, slider);
97 template <
typename BASE>
106 const juce::Slider::SliderStyle style,
107 juce::Slider& slider) {
109 constexpr float MARGIN {2};
111 if (slider.isEnabled()) {
112 g.setColour(slider.findColour(juce::Slider::thumbColourId));
114 g.setColour(slider.findColour(juce::Slider::backgroundColourId));
117 if (style == juce::Slider::LinearHorizontal) {
119 g.fillRect(juce::Rectangle<float>(minSliderPos,
121 sliderPos - minSliderPos,
122 height - 3 * MARGIN));
125 g.fillRect(juce::Rectangle<float>(x + MARGIN,
128 -(y + height - sliderPos)));
132 template <
typename BASE>
141 const juce::Slider::SliderStyle style,
142 juce::Slider& slider) {
144 constexpr int MARGIN {2};
145 constexpr int LINE_WIDTH {1};
147 if (slider.isEnabled()) {
148 g.setColour(slider.findColour(juce::Slider::trackColourId));
150 g.setColour(slider.findColour(juce::Slider::backgroundColourId));
153 if (style == juce::Slider::LinearHorizontal) {
155 g.fillRect(juce::Rectangle<float>(x,
156 y + height - MARGIN - (LINE_WIDTH / 2),
161 g.fillRect(juce::Rectangle<float>(x + width - MARGIN - (LINE_WIDTH / 2),
virtual void drawLinearSliderThumb(juce::Graphics &g, int x, int y, int width, int height, float sliderPos, float minSliderPos, float maxSliderPos, const juce::Slider::SliderStyle style, juce::Slider &slider) override
virtual ~LinearSliderV2()=default
virtual void drawLinearSlider(juce::Graphics &g, int x, int y, int width, int height, float sliderPos, float minSliderPos, float maxSliderPos, const juce::Slider::SliderStyle style, juce::Slider &slider) override
virtual void drawLinearSliderBackground(juce::Graphics &g, int x, int y, int width, int height, float sliderPos, float minSliderPos, float maxSliderPos, const juce::Slider::SliderStyle style, juce::Slider &slider) override