1//
2// When color definition differs for dark and light variant,
3// it gets @if ed depending on $variant
4//
5
6// Import base components from Gtk theming
7@import '../../../gtk/sass/common/resources/color_palette';
8@import '../../../gtk/sass/common/resources/functions';
9@import '../../../gtk/sass/common/resources/variables';
10@import '../../../gtk/sass/common/resources/key_colors';
11@import 'resources/function';
12
13//
14// Foreground colors
15//
16
17$fg: if($variant == dark, color($grey, 100),
18                          mix(color($grey, 900), black));
19$sec_fg: opacity($fg, $a_fg_2nd);
20$ter_fg: opacity($fg, $a_fg_3rd);
21$dis_fg: opacity($fg, $a_fg_dis);
22$dis_sec_fg: opacity($sec_fg, $a_fg_dis);
23
24$sel_fg: white;
25$sec_sel_fg: opacity($sel_fg, $a_fg_sel_2nd);
26
27//
28// OSD Foreground colors
29//
30
31$osd_fg: if($variant == light, mix(color($grey, 900), black),
32                               color($grey, 100));
33$osd_sec_fg: opacity($osd_fg, $a_fg_2nd);
34$osd_ter_fg: opacity($osd_fg, $a_fg_3rd);
35$dis_osd_fg: opacity($osd_fg, $a_fg_dis);
36$dis_osd_sec_fg: opacity($osd_sec_fg, $a_fg_dis);
37
38$ovv_fg: white;
39$ovv_sec_fg: opacity($ovv_fg, $a_fg_2nd);
40$ovv_ter_fg: opacity($ovv_fg, $a_fg_3rd);
41$ovv_dis_fg: opacity($ovv_fg, $a_fg_dis);
42
43//
44// Background colors
45//
46
47$bg: if($variant == dark,
48        mix(color($grey, 900), black, 87%),
49        mix(color($grey, 50), color($grey, 100)));
50$base: if($variant == dark,
51          mix(color($grey, 900), black),
52          white);
53$dark_bg: if($variant == dark,
54             mix(color($grey, 900), black, 25%),
55             mix(color($grey, 200), color($grey, 300)));
56
57$semi_fill_bg: opacity($fg, $a_trk_1);
58$fill_bg: opacity($fg, $a_trk_2);
59$hidden_fill_bg: rgba(0, 0, 0, 0.01);
60
61$sel_bg: $key_selection_color;
62$sel_label: if($variant == dark,
63               saturate(
64                 lighten($sel_bg, percentage($a_trk_2)),
65                 percentage($a_trk_2)),
66               $sel_bg);
67$osd_sel_label: if($variant != light,
68                   saturate(
69                     lighten($sel_bg, percentage($a_trk_2)),
70                     percentage($a_trk_2)),
71                   $sel_bg);
72$ovv_sel_label: saturate(
73                  lighten($sel_bg, percentage($a_trk_2)),
74                  percentage($a_trk_2));
75
76$out_fg: opacity($fg, $a_trk_out);
77$dis_out_fg: opacity($out_fg, $a_fg_dis);
78
79//
80// OSD Background colors
81//
82
83$osd_bg: if($variant == light,
84            mix(color($grey, 200), color($grey, 300)),
85            mix(color($grey, 900), black, 25%));
86$osd_semi_fill_bg: opacity($osd_fg, $a_trk_1);
87$osd_fill_bg: opacity($osd_fg, $a_trk_2);
88
89$osd_base: if($variant == light,
90              white,
91              mix(color($grey, 900), black));
92
93$osd_out_fg: opacity($osd_fg, $a_trk_out);
94$dis_osd_out_fg: opacity($osd_out_fg, $a_fg_dis);
95
96$ovv_semi_fill_bg: opacity($ovv_fg, $a_trk_1);
97$ovv_fill_bg: opacity($ovv_fg, $a_trk_2);
98
99$ovv_out_fg: opacity($ovv_fg, $a_trk_out);
100
101//
102// Accent colors
103//
104
105$acc_bg: $key_accent_color;
106$acc_fg: if($variant == dark,
107            saturate(
108              lighten($acc_bg, percentage($a_trk_1)),
109              percentage($a_trk_1)),
110            saturate(
111              darken($acc_bg, percentage($a_trk_2)),
112              percentage($a_trk_2)));
113$sec_acc_fg: opacity($acc_fg, $a_fg_2nd);
114$dis_acc_fg: opacity($acc_fg, $a_fg_dis);
115
116$acc_semi_fill_bg: opacity($acc_fg, $a_trk_1);
117$acc_fill_bg: opacity($acc_fg, $a_trk_2);
118$acc_out_fg: opacity($acc_fg, $a_trk_out);
119
120$inv_acc_fg:if($variant == light,
121            saturate(
122              darken($acc_bg, percentage($a_trk_2)),
123              percentage($a_trk_2)),
124            saturate(
125              lighten($acc_bg, percentage($a_trk_1)),
126              percentage($a_trk_1)));
127$inv_sec_acc_fg: track($inv_acc_fg, $a_fg_2nd);
128$inv_acc_semi_fill_bg: if($variant == mixed,
129                          opacity($inv_acc_fg, $a_trk_1),
130                          opacity($acc_fg, $a_trk_1));
131$inv_acc_fill_bg: if($variant == mixed,
132                     opacity($inv_acc_fg, $a_trk_2),
133                     opacity($acc_fg, $a_trk_2));
134$ovv_acc_fg: saturate(
135             lighten($acc_bg, percentage($a_trk_1)),
136             percentage($a_trk_1));
137$ovv_sec_acc_fg: track($ovv_acc_fg, $a_fg_2nd);
138
139//
140// Misc colors
141//
142
143$div_fg: if($variant == dark, opacity(black, $a_div_0),
144                              opacity(black, $a_div_1));
145$div_sld_fg: if($variant == dark, mix(black, $base, percentage($a_div_0)),
146                                  mix(black, $bg, percentage($a_div_1)));
147
148$link: color($blue, $primary_level);
149$link_vst: color($purple, $primary_level);
150
151$link_fg: if($variant == dark,
152             saturate(lighten($link, percentage($a_trk_1)),
153               percentage($a_trk_1)),
154             $link);
155$link_vst_fg: if($variant == dark,
156                 saturate(lighten($link_vst, percentage($a_trk_2)),
157                   percentage($a_trk_2)),
158                 $link_vst);
159$osd_link_fg: if($variant != light,
160                 saturate(lighten($link, percentage($a_trk_1)),
161                   percentage($a_trk_1)),
162                 $link);
163
164$warn: color($orange, $primary_level);
165$err: color($red, $primary_level);
166$sccs: color($green, $primary_level);
167
168$sggt_bg: $key_suggestion_color;
169$dest_bg: $key_destruction_color;
170
171//
172// Tooltip background color
173//
174
175$tooltip_bg: if($variant == dark, color($grey, 800),
176                                  color($grey, 400));
177$inv_tooltip_bg: color($grey, 800);
178
179//
180// Panel colors
181//
182
183$panel_bg: if($variant == light, color($grey, 300), black);
184$panel_trans_bg: opacity($panel_bg, 0.0);
185$panel_hidden_bg: opacity($panel_bg, 0.01);
186