1.10
sky.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_SKY_H
7#define EGT_THEMES_SKY_H
8
9#include <egt/theme.h>
10
11namespace egt
12{
13inline namespace v1
14{
15
19class EGT_API SkyTheme : public Theme
20{
21public:
22
24 : Theme("SkyTheme")
25 {}
26
27 ~SkyTheme() = default;
28
29protected:
30
31 void init_palette() override
32 {
33 m_palette.clear();
34
35 m_palette.set(Palette::ColorId::cursor, Palette::GroupId::normal, Palette::red);
36
37 const auto pattern = [](const Color & color)
38 {
39 const Pattern patt(Pattern::Type::linear,
40 {
41 {0, color.tint(0.20)},
42 {0.5, color},
43 {1.0, color.tint(.20)},
44 });
45 return patt;
46 };
47
48 m_palette.set(Palette::ColorId::bg, Palette::GroupId::normal, Color(0xf8f8f9ff));
49 m_palette.set(Palette::ColorId::text, Palette::GroupId::normal, Color(0x576060ff));
50 m_palette.set(Palette::ColorId::text_highlight, Palette::GroupId::normal, Palette::hotpink);
51 m_palette.set(Palette::ColorId::border, Palette::GroupId::normal, Color(0x3797daff));
52 m_palette.set(Palette::ColorId::button_bg, Palette::GroupId::normal, pattern(Color(0x3797daff)));
53 m_palette.set(Palette::ColorId::button_fg, Palette::GroupId::normal, Color(0x3797daff));
54 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::normal, Palette::white);
55 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::normal, Color(0xf8f8f9ff));
56 m_palette.set(Palette::ColorId::label_text, Palette::GroupId::normal, Color(0x576060ff));
57
58 m_palette.set(Palette::ColorId::bg, Palette::GroupId::disabled, Color(0xf8f8f9ff));
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, Color(0xc9c9caff));
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, Color(0xc9c9caff));
64 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::disabled, Palette::gray);
65 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::disabled, Color(0xf8f8f9ff));
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(0x3797daff));
69 m_palette.set(Palette::ColorId::text, Palette::GroupId::active, Color(0x576060ff));
70 m_palette.set(Palette::ColorId::text_highlight, Palette::GroupId::active, Palette::hotpink);
71 m_palette.set(Palette::ColorId::border, Palette::GroupId::active, Color(0x3797daff));
72 m_palette.set(Palette::ColorId::button_bg, Palette::GroupId::active, pattern(Color(0x3788daff)));
73 m_palette.set(Palette::ColorId::button_fg, Palette::GroupId::active, Color(0x3797daff));
74 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::active, Palette::white);
75 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::active, Color(0x3797daff));
76 m_palette.set(Palette::ColorId::label_text, Palette::GroupId::active, Color(0x576060ff));
77
78 m_palette.set(Palette::ColorId::bg, Palette::GroupId::checked, Color(0xf8f8f9ff));
79 m_palette.set(Palette::ColorId::text, Palette::GroupId::checked, Color(0x576060ff));
80 m_palette.set(Palette::ColorId::text_highlight, Palette::GroupId::checked, Palette::hotpink);
81 m_palette.set(Palette::ColorId::border, Palette::GroupId::checked, Color(0x3797daff));
82 m_palette.set(Palette::ColorId::button_bg, Palette::GroupId::checked, pattern(Color(0x3797daff)));
83 m_palette.set(Palette::ColorId::button_fg, Palette::GroupId::checked, Color(0x3797daff));
84 m_palette.set(Palette::ColorId::button_text, Palette::GroupId::checked, Palette::white);
85 m_palette.set(Palette::ColorId::label_bg, Palette::GroupId::checked, Color(0x3797daff));
86 m_palette.set(Palette::ColorId::label_text, Palette::GroupId::checked, Color(0x576060ff));
87 }
88
89 void init_draw() override;
90};
91
92}
93
94}
95
96#endif
32 bit RGBA color.
Definition color.h:41
A Pattern which can store one or more colors at different offsets (steps) which can be used to create...
Definition pattern.h:55
Sky Theme.
Definition sky.h:20
void init_palette() override
Setup for initializing the palette.
Definition sky.h:31
void init_draw() override
Setup for initializing drawing.
~SkyTheme()=default
SkyTheme()
Definition sky.h:23
Customizable characteristics for drawing widgets.
Definition theme.h:146
EGT framework namespace.
Definition animation.h:24