#pragma once #include namespace serum { // =========================================================================== // Central dark theme + static SVG assets (embedded as strings so they need no // binary-data build step; the same assets also ship under Source/Resources/). // =========================================================================== namespace theme { inline const juce::Colour bg { 0xff101117 }; inline const juce::Colour panel { 0xff1a1c24 }; inline const juce::Colour panelRaised { 0xff23262f }; inline const juce::Colour outline { 0xff2c2f39 }; inline const juce::Colour text { 0xffe8eaf0 }; inline const juce::Colour textDim { 0xff9095a2 }; inline const juce::Colour accent { 0xff4fc3f7 }; // cyan inline const juce::Colour accent2 { 0xffff6e9c }; // pink inline const juce::Colour amber { 0xffffb74d }; inline const juce::Colour green { 0xff7ce38b }; inline const juce::Colour raveGlow { 0xffff3d71 }; } // SVG assets (logo + subtle background). juce::String getLogoSvg(); juce::String getBackgroundSvg(); std::unique_ptr createLogoDrawable(); std::unique_ptr createBackgroundDrawable(); // Small value-formatting helpers used by the GUI controls. juce::String formatPercent (float v); // 0..1 -> "42 %" juce::String formatHz (float v); // 0..1 (cutoff) -> "1.2 kHz" juce::String formatSeconds (float v); // 0..1 (env) -> "320 ms" juce::String formatSemis (float v); // 0..1 -> "-12 st" juce::String formatCents (float v); // 0..1 -> "+5 ct" juce::String formatPan (float v); // 0..1 -> "L50" juce::String formatInt (float v, int maxValue); } // namespace serum