43 lines
1.7 KiB
C++
43 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include <JuceHeader.h>
|
|
|
|
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<juce::Drawable> createLogoDrawable();
|
|
std::unique_ptr<juce::Drawable> 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
|