Files
pete/Source/PluginEditor.cpp

54 lines
1.6 KiB
C++

#include "PluginProcessor.h"
#include "PluginEditor.h"
PeteAudioProcessorEditor::PeteAudioProcessorEditor(PeteAudioProcessor& p)
: AudioProcessorEditor (&p), processor (p), lineThickness(4)
{
hlines = {
PeteLine(PeteLine::Horizontal, 1./3.),
PeteLine(PeteLine::Horizontal, 2./3.)
};
vlines = {
PeteLine(PeteLine::Vertical, 1./3.),
PeteLine(PeteLine::Vertical, 1./3.+0.01, 1./3.+0.01, 1./3.),
PeteLine(PeteLine::Vertical, 2./3.+0.05, 2./3.+0.05, 2./3.),
PeteLine(PeteLine::Vertical, 2./3.)
};
slider.setTextBoxStyle(Slider::NoTextBox, true, 0, 0);
slider.addListener(this);
setSize(600, 600);
slider.setLookAndFeel(gui);
addAndMakeVisible(slider);
setResizable(true, true);
setResizeLimits(300, 300, 1200, 1200);
}
PeteAudioProcessorEditor::~PeteAudioProcessorEditor()
{
}
void PeteAudioProcessorEditor::sliderValueChanged(Slider* s) {
processor.freq = slider.getValue();
}
void PeteAudioProcessorEditor::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 PeteAudioProcessorEditor::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);
}