Files
pete/Source/LookAndFeel.h
2017-06-20 01:32:18 -04:00

44 lines
1.8 KiB
C++

#pragma once
#include "../JuceLibraryCode/JuceHeader.h"
class LampshadeLookAndFeel : public LookAndFeel_V4 {
public:
void drawLinearSlider (Graphics& g,
int x,
int y,
int width,
int height,
float sliderPos,
float minSliderPos,
float maxSliderPos,
const Slider::SliderStyle s,
Slider& slider) override
{
g.setColour(fillColor);
g.fillRect((int)(x-minSliderPos), y, (int)(width+minSliderPos+maxSliderPos), height);
drawLinearSliderThumb(g, x, y, width, height, sliderPos, minSliderPos, maxSliderPos, s, slider);
}
void drawLinearSliderThumb(Graphics & g,
int x,
int y,
int width,
int height,
float sliderPos,
float minSliderPos,
float maxSliderPos,
const Slider::SliderStyle ,
Slider& slider) override {
g.setColour(sliderColor);
int nwidth = width+minSliderPos+maxSliderPos;
g.fillRect((int)(x-minSliderPos), y, (int)(nwidth*((sliderPos-minSliderPos)/width)), height);
}
Label* createSliderTextBox(Slider&) override { return nullptr; }
private:
Colour fillColor = Colours::yellow;
Colour sliderColor = Colours::red;
};