1.10
midnight.h
1/*
2 * Copyright (C) 2018 Microchip Technology Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6#ifndef EGT_THEMES_MIDNIGHT_H
7#define EGT_THEMES_MIDNIGHT_H
8
9#include <egt/theme.h>
10
11namespace egt
12{
13inline namespace v1
14{
15
19class EGT_API MidnightTheme : public Theme
20{
21public:
23 : Theme("MidnightTheme")
24 {}
25
26 ~MidnightTheme() = default;
27
28protected:
29
30 void init_palette() override
31 {
32 m_palette.clear();
33
34 m_palette.set(Palette::ColorId::cursor, Palette::GroupId::normal, Palette::red);
35
36 const auto pattern = [](const Color & color)
37 {
38 const Pattern patt(Pattern::Type::linear,
39 {
40 {0, color},
41 {0.43, color.shade(.1)},
42 {0.5, color.shade(.15)},
43 {1.0, color.shade(.18)},
44 });
45 return patt;
46 };
47
48 m_palette.set(Palette::ColorId::bg, Palette::GroupId::normal, Palette::black);
49 m_palette.set(Palette::ColorId::text, Palette::GroupId::normal, Palette::white);
50 m_palette.set(Palette::ColorId::text_highlight, Palette::GroupId::normal, Palette::hotpink);
51 m_palette.set(Palette::ColorId::border, Palette::GroupId::normal, Color(0xc0c5c1ff));
52 m_palette.set(Palette::ColorId::button_bg, Palette::GroupId::normal, pattern(Color(0xff9b29ff)));
53 m_palette.set(Palette::ColorId::button_fg, Palette::GroupId::normal, Color(0xff9b29ff));
54 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::normal, Palette::black);
55 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::normal, Palette::black);
56 m_palette.set(Palette::ColorId::label_text, Palette::GroupId::normal, Palette::white);
57
58 m_palette.set(Palette::ColorId::bg, Palette::GroupId::disabled, Palette::black);
59 m_palette.set(Palette::ColorId::text, Palette::GroupId::disabled, Palette::gray);
60 m_palette.set(Palette::ColorId::text_highlight, Palette::GroupId::disabled, Palette::hotpink);
61 m_palette.set(Palette::ColorId::border, Palette::GroupId::disabled, Palette::gray);
62 m_palette.set(Palette::ColorId::button_bg, Palette::GroupId::disabled, pattern(Color(0xdcdcdcff)));
63 m_palette.set(Palette::ColorId::button_fg, Palette::GroupId::disabled, Palette::gray);
64 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::disabled, Palette::gray);
65 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::disabled, Palette::black);
66 m_palette.set(Palette::ColorId::label_text, Palette::GroupId::disabled, Color(Palette::gray));
67
68 m_palette.set(Palette::ColorId::bg, Palette::GroupId::active, Color(0xff9b29ff));
69 m_palette.set(Palette::ColorId::text, Palette::GroupId::active, Palette::white);
70 m_palette.set(Palette::ColorId::text_highlight, Palette::GroupId::active, Palette::hotpink);
71 m_palette.set(Palette::ColorId::border, Palette::GroupId::active, Color(0xc088c1ff));
72 m_palette.set(Palette::ColorId::button_bg, Palette::GroupId::active, pattern(Color(0xff8829ff)));
73 m_palette.set(Palette::ColorId::button_fg, Palette::GroupId::active, Color(0xff9b29ff));
74 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::active, Palette::black);
75 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::active, Color(0xff9b29ff));
76 m_palette.set(Palette::ColorId::label_text, Palette::GroupId::active, Palette::white);
77
78 m_palette.set(Palette::ColorId::bg, Palette::GroupId::checked, Palette::black);
79 m_palette.set(Palette::ColorId::text, Palette::GroupId::checked, Palette::white);
80 m_palette.set(Palette::ColorId::text_highlight, Palette::GroupId::checked, Palette::hotpink);
81 m_palette.set(Palette::ColorId::border, Palette::GroupId::checked, Color(0xc0c5c1ff));
82 m_palette.set(Palette::ColorId::button_bg, Palette::GroupId::checked, pattern(Color(0xff9b29ff)));
83 m_palette.set(Palette::ColorId::button_fg, Palette::GroupId::checked, Color(0xff9b29ff));
84 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::checked, Palette::black);
85 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::checked, Color(0xff9b29ff));
86 m_palette.set(Palette::ColorId::label_text, Palette::GroupId::checked, Palette::white);
87 }
88};
89
90}
91}
92
93#endif
32 bit RGBA color.
Definition color.h:41
Midnight Theme.
Definition midnight.h:20
void init_palette() override
Setup for initializing the palette.
Definition midnight.h:30
MidnightTheme()
Definition midnight.h:22
A Pattern which can store one or more colors at different offsets (steps) which can be used to create...
Definition pattern.h:55
Customizable characteristics for drawing widgets.
Definition theme.h:146
EGT framework namespace.
Definition animation.h:24