#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); }