terion/Source/VectorScope.h
2026-09-16 17:47:45 +02:00

27 lines
779 B
C++

#pragma once
#include <juce_audio_processors/juce_audio_processors.h>
#include <juce_opengl/juce_opengl.h>
#include "PluginProcessor.h"
class VectorScope : public juce::Component, private juce::Timer
{
public:
explicit VectorScope(TerionProcessor& p);
~VectorScope() override;
void paint(juce::Graphics& g) override;
void resized() override;
void timerCallback() override;
float getRadius() const;
private:
TerionProcessor& processor;
juce::Image trail;
void drawLegends(juce::Graphics& g, float cx, float cy, float radius);
void drawHairCross(juce::Graphics& g, float cx, float cy);
void drawMetricsOverlay(juce::Graphics& g, const juce::Rectangle<int>& bounds);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(VectorScope)
};