15 enum class ThemeColor : size_t {
40 static Theme &getTheme() {
41 static Theme instance{};
50 std::array<color::HSVA, 13> _hsva{{
52 BaseColorHSVA.modValue(0.2),
53 BaseColorHSVA.modValue(-0.15),
54 BaseColorHSVA.modValue(0.1),
55 BaseColorHSVA.modValue(-0.15),
56 BaseColorHSVA.modValue(-0.075),
58 {0.f, 1.f, 0.55f, 1.f},
59 {79.f, 1.f, .4f, 1.f},
60 {50.f, 1.f, 0.55f, 1.f},
61 {0.f, 1.f, 0.75f, 1.f},
62 {79.f, 1.f, 0.75f, 1.f},
63 {50.f, 1.f, 0.75f, 1.f}
66 std::array<color::RGBA, 13> _rgba{{
83 return _rgba[
static_cast<std::size_t
>(themeColor)];
87 return _hsva[
static_cast<std::size_t
>(themeColor)];
95 BoldFont{
"FreeSansBold"},
96 ObliqueFont{
"FreeSansOblique"},
97 BoldObliqueFont{
"FreeSansBoldOblique"},
98 FixedFont{
"FreeMono"},
99 FixedBoldFont{
"FreeMonoBold"},
100 FixedObliqueFont{
"FreeMonoOblique"},
101 FixedBoldObliqueFont{
"FreeMonoBoldOblique"},
102 EntypoFont{
"entypo"};
107 int ButtonPointSize{30},
114 int ButtonPadding{5};
125 { rgba(ThemeColor::Base), rgba(ThemeColor::Invert)},
130 { rgba(ThemeColor::Base), rgba(ThemeColor::Invert)},
135 { rgba(ThemeColor::Base), rgba(ThemeColor::Invert)},
A set of values that provide defaults forming a cohesive visual and operational theme.
Definition: Theme.h:35
Red Green Blue Alpha representation of a color.
Definition: Color.h:64
A notched border that looks like a trench surrounding the frame.
Definition: Frame.h:28
constexpr HSVA contrasting() const
Get a new contrasting colour to this HSL colour.
Definition: Color.h:248
Hue Saturation Value (or Brightness) representation of a color.
Definition: Color.h:184
A beveled border that gives the illusion the frame stands up from the display.
Definition: Frame.h:25
A size in integer dimensions.
Definition: Types.h:230
constexpr RGBA toRGBA() const noexcept
Convert to RGBA in an array of floats.
Definition: Color.h:262
ToDo: There is an issue that the initial scroll interaction is lost if the click/press lands on a Wid...
Definition: CelestialOverlay.cpp:13