Files
pete/Source/PluginEditor.cpp

49 lines
1.6 KiB
C++

#include "PluginProcessor.h"
#include "PluginEditor.h"
LampshadeAudioProcessorEditor::LampshadeAudioProcessorEditor(LampshadeAudioProcessor& p)
: AudioProcessorEditor (&p), processor (p), lineThickness(4)
{
hlines = {
LampshadeLine(LampshadeLine::Horizontal, 1./3.),
LampshadeLine(LampshadeLine::Horizontal, 2./3.)
};
vlines = {
LampshadeLine(LampshadeLine::Vertical, 1./3.),
LampshadeLine(LampshadeLine::Vertical, 1./3.+0.01, 1./3.+0.01, 1./3.),
LampshadeLine(LampshadeLine::Vertical, 2./3.+0.05, 2./3.+0.05, 2./3.),
LampshadeLine(LampshadeLine::Vertical, 2./3.)
};
slider.setTextBoxStyle(Slider::NoTextBox, true, 0, 0);
setSize(600, 600);
slider.setLookAndFeel(gui);
addAndMakeVisible(slider);
corner = new ResizableCornerComponent(this, new ComponentBoundsConstrainer());
addAndMakeVisible(corner);
}
LampshadeAudioProcessorEditor::~LampshadeAudioProcessorEditor()
{
}
void LampshadeAudioProcessorEditor::paint(Graphics& g)
{
g.fillAll(Colours::white);
for (auto line : vlines) {
g.drawLine(getWidth()*line.x, 0, getWidth()*line.y, getHeight()*line.len, lineThickness);
}
for (auto line : hlines) {
g.drawLine(0, getHeight()*line.x, getWidth()*line.len, getHeight()*line.y, lineThickness);
}
}
void LampshadeAudioProcessorEditor::resized()
{
// hardcoded because they should stay in the same rectangle
float w = getWidth() * vlines[0].x;
float h = getHeight() * hlines[0].x;
slider.setBounds(w+lineThickness/2, h+lineThickness/2, w-lineThickness, h-lineThickness);
}