#pragma once #include "Synth.h" #include "SynthGuiState.h" #include #include "raylib.h" class Renderer { private: void DrawMainPanel(const Rectangle& panel_bounds); void DrawAddOscillatorButton(Synth & synth, SynthGuiState & synthGui, Rectangle panel_bounds); void DrawOscillatorsPanels(const std::vector& oscillators, const std::vector& guiOscillators, const Rectangle& panel_bounds); void DrawOscillatorsShapeInputs(const std::vector& oscillators, const std::vector& guiOscillators); void DrawUi(Synth & synth, SynthGuiState & synthGui); void DrawSignal(Synth & synth, SynthGuiState & synthGui); public: Renderer(/* args */); ~Renderer(); void Draw(Synth& synth, SynthGuiState & synthGui); };