Changed DiscardQueue to templated class
[platform/core/uifw/dali-core.git] / dali / public-api / common / constants.h
1 #ifndef DALI_CONSTANTS_H
2 #define DALI_CONSTANTS_H
3
4 /*
5  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // EXTERNAL INCLUDES
22 #include <math.h> // M_PI
23
24 // INTERNAL INCLUDES
25 #include <dali/public-api/math/compile-time-math.h>
26 #include <dali/public-api/math/vector3.h>
27 #include <dali/public-api/math/vector4.h>
28
29 namespace Dali
30 {
31 /**
32  * @addtogroup dali_core_common
33  * @{
34  */
35
36 /**
37  * @brief ParentOrigin constants.
38  *
39  * Note that for 2D layouting, the typical Z position is 0.5f (not 0.0f).
40  * @SINCE_1_0.0
41  */
42 namespace ParentOrigin
43 {
44 static constexpr float   TOP    = 0.0f;
45 static constexpr float   BOTTOM = 1.0f;
46 static constexpr float   LEFT   = 0.0f;
47 static constexpr float   RIGHT  = 1.0f;
48 static constexpr float   MIDDLE = 0.5f;
49 static constexpr Vector3 TOP_LEFT(0.0f, 0.0f, 0.5f);
50 static constexpr Vector3 TOP_CENTER(0.5f, 0.0f, 0.5f);
51 static constexpr Vector3 TOP_RIGHT(1.0f, 0.0f, 0.5f);
52 static constexpr Vector3 CENTER_LEFT(0.0f, 0.5f, 0.5f);
53 static constexpr Vector3 CENTER(0.5f, 0.5f, 0.5f);
54 static constexpr Vector3 CENTER_RIGHT(1.0f, 0.5f, 0.5f);
55 static constexpr Vector3 BOTTOM_LEFT(0.0f, 1.0f, 0.5f);
56 static constexpr Vector3 BOTTOM_CENTER(0.5f, 1.0f, 0.5f);
57 static constexpr Vector3 BOTTOM_RIGHT(1.0f, 1.0f, 0.5f);
58 static constexpr Vector3 DEFAULT(TOP_LEFT);
59 } // namespace ParentOrigin
60
61 /**
62  * @brief AnchorPoint constants.
63  *
64  * Note that for 2D layouting, the typical Z position is 0.5f (not 0.0f).
65  * @SINCE_1_0.0
66  */
67 namespace AnchorPoint
68 {
69 static constexpr float   TOP    = 0.0f;
70 static constexpr float   BOTTOM = 1.0f;
71 static constexpr float   LEFT   = 0.0f;
72 static constexpr float   RIGHT  = 1.0f;
73 static constexpr float   MIDDLE = 0.5f;
74 static constexpr Vector3 TOP_LEFT(0.0f, 0.0f, 0.5f);
75 static constexpr Vector3 TOP_CENTER(0.5f, 0.0f, 0.5f);
76 static constexpr Vector3 TOP_RIGHT(1.0f, 0.0f, 0.5f);
77 static constexpr Vector3 CENTER_LEFT(0.0f, 0.5f, 0.5f);
78 static constexpr Vector3 CENTER(0.5f, 0.5f, 0.5f);
79 static constexpr Vector3 CENTER_RIGHT(1.0f, 0.5f, 0.5f);
80 static constexpr Vector3 BOTTOM_LEFT(0.0f, 1.0f, 0.5f);
81 static constexpr Vector3 BOTTOM_CENTER(0.5f, 1.0f, 0.5f);
82 static constexpr Vector3 BOTTOM_RIGHT(1.0f, 1.0f, 0.5f);
83 static constexpr Vector3 DEFAULT(CENTER);
84 } // namespace AnchorPoint
85
86 /**
87  * @brief Color Constants.
88  *
89  * Color is represented by the Vector4 class (see vector4.h).
90  * @SINCE_1_0.0
91  */
92 namespace Color
93 {
94 // Subset of X11 Colors (CSS colors)
95 // https://www.w3.org/TR/css-color-3
96 static constexpr Vector4 ALICE_BLUE(240.0f / 255.0f, 248.0f / 255.0f, 1.0f, 1.0f);                         //#F0F8FF
97 static constexpr Vector4 ANTIQUE_WHITE(250.0f / 255.0f, 235.0f / 255.0f, 215.0f / 255.0f, 1.0f);           //#FAEBD7
98 static constexpr Vector4 AQUA(0.0f, 1.0f, 1.0f, 1.0f);                                                     //#00FFFF
99 static constexpr Vector4 AQUA_MARINE(127.0f / 255.0f, 1.0f, 212.0f / 255.0f, 1.0f);                        //#7FFFD4
100 static constexpr Vector4 AZURE(240.0f / 255.0f, 1.0f, 1.0f, 1.0f);                                         //#F0FFFF
101 static constexpr Vector4 BEIGE(245.0f / 255.0f, 245.0f / 255.0f, 220.0f / 255.0f, 1.0f);                   //#F5F5DC
102 static constexpr Vector4 BISQUE(1.0f, 228.0f / 255.0f, 196.0f / 255.0f, 1.0f);                             //#FFE4C4
103 static constexpr Vector4 BLACK(0.0f, 0.0f, 0.0f, 1.0f);                                                    //#000000
104 static constexpr Vector4 BLANCHE_DALMOND(1.0f, 235.0f / 255.0f, 205.0f / 255.0f, 1.0f);                    //#FFEBCD
105 static constexpr Vector4 BLUE(0.0f, 0.0f, 1.0f, 1.0f);                                                     //#0000FF
106 static constexpr Vector4 BLUE_VIOLET(138.0f / 255.0f, 43.0f / 255.0f, 226.0f / 255.0f, 1.0f);              //#8A2BE2
107 static constexpr Vector4 BROWN(165.0f / 255.0f, 42.0f / 255.0f, 42.0f / 255.0f, 1.0f);                     //#A52A2A
108 static constexpr Vector4 BURLY_WOOD(222.0f / 255.0f, 184.0f / 255.0f, 135.0f / 255.0f, 1.0f);              //#DEB887
109 static constexpr Vector4 CADET_BLUE(95.0f / 255.0f, 158.0f / 255.0f, 160.0f / 255.0f, 1.0f);               //#5F9EA0
110 static constexpr Vector4 CHARTREUSE(127.0f / 255.0f, 1.0f, 0.0f, 1.0f);                                    //#7FFF00
111 static constexpr Vector4 CHOCOLATE(210.0f / 255.0f, 105.0f / 255.0f, 30.0f / 255.0f, 1.0f);                //#D2691E
112 static constexpr Vector4 CORAL(1.0f, 127.0f / 255.0f, 80.0f / 255.0f, 1.0f);                               //#FF7F50
113 static constexpr Vector4 CORNFLOWER_BLUE(100.0f / 255.0f, 149.0f / 255.0f, 237.0f / 255.0f, 1.0f);         //#6495ED
114 static constexpr Vector4 CORNSILK(1.0f, 248.0f / 255.0f, 220.0f / 255.0f, 1.0f);                           //#FFF8DC
115 static constexpr Vector4 CRIMSON(220.0f / 255.0f, 20.0f / 255.0f, 60.0f / 255.0f, 1.0f);                   //#DC143C
116 static constexpr Vector4 CYAN(0.0f, 1.0f, 1.0f, 1.0f);                                                     //#00FFFF
117 static constexpr Vector4 DARK_BLUE(0.0f, 0.0f, 139.0f / 255.0f, 1.0f);                                     //#00008B
118 static constexpr Vector4 DARK_CYAN(0.0f, 139.0f / 255.0f, 139.0f / 255.0f, 1.0f);                          //#008B8B
119 static constexpr Vector4 DARK_GOLDENROD(184.0f / 255.0f, 134.0f / 255.0f, 11.0f / 255.0f, 1.0f);           //#B8860B
120 static constexpr Vector4 DARK_GRAY(169.0f / 255.0f, 169.0f / 255.0f, 169.0f / 255.0f, 1.0f);               //#A9A9A9
121 static constexpr Vector4 DARK_GREEN(0.0f, 100.0f / 255.0f, 0.0f, 1.0f);                                    //#006400
122 static constexpr Vector4 DARK_GREY(169.0f / 255.0f, 169.0f / 255.0f, 169.0f / 255.0f, 1.0f);               //#A9A9A9
123 static constexpr Vector4 DARK_KHAKI(189.0f / 255.0f, 183.0f / 255.0f, 107.0f / 255.0f, 1.0f);              //#BDB76B
124 static constexpr Vector4 DARK_MAGENTA(139.0f / 255.0f, 0.0f, 139.0f / 255.0f, 1.0f);                       //#8B008B
125 static constexpr Vector4 DARK_OLIVE_GREEN(85.0f / 255.0f, 107.0f / 255.0f, 47.0f / 255.0f, 1.0f);          //#556B2F
126 static constexpr Vector4 DARK_ORANGE(1.0f, 140.0f / 255.0f, 0.0f, 1.0f);                                   //#FF8C00
127 static constexpr Vector4 DARK_ORCHID(153.0f / 255.0f, 50.0f / 255.0f, 204.0f / 255.0f, 1.0f);              //#9932CC
128 static constexpr Vector4 DARK_RED(139.0f / 255.0f, 0.0f, 0.0f, 1.0f);                                      //#8B0000
129 static constexpr Vector4 DARK_SALMON(233.0f / 255.0f, 150.0f / 255.0f, 122.0f / 255.0f, 1.0f);             //#E9967A
130 static constexpr Vector4 DARK_SEA_GREEN(143.0f / 255.0f, 188.0f / 255.0f, 143.0f / 255.0f, 1.0f);          //#8FBC8F
131 static constexpr Vector4 DARK_SLATE_BLUE(72.0f / 255.0f, 61.0f / 255.0f, 139.0f / 255.0f, 1.0f);           //#483D8B
132 static constexpr Vector4 DARK_SLATE_GRAY(47.0f / 255.0f, 79.0f / 255.0f, 79.0f / 255.0f, 1.0f);            //#2F4F4F
133 static constexpr Vector4 DARK_SLATE_GREY(47.0f / 255.0f, 79.0f / 255.0f, 79.0f / 255.0f, 1.0f);            //#2F4F4F
134 static constexpr Vector4 DARK_TURQUOISE(0.0f, 206.0f / 255.0f, 209.0f / 255.0f, 1.0f);                     //#00CED1
135 static constexpr Vector4 DARK_VIOLET(148.0f / 255.0f, 0.0f, 211.0f / 255.0f, 1.0f);                        //#9400D3
136 static constexpr Vector4 DEEP_PINK(1.0f, 20.0f / 255.0f, 147.0f / 255.0f, 1.0f);                           //#FF1493
137 static constexpr Vector4 DEEP_SKY_BLUE(0.0f, 191.0f / 255.0f, 1.0f, 1.0f);                                 //#00BFFF
138 static constexpr Vector4 DIM_GRAY(105.0f / 255.0f, 105.0f / 255.0f, 105.0f / 255.0f, 1.0f);                //#696969
139 static constexpr Vector4 DIM_GREY(105.0f / 255.0f, 105.0f / 255.0f, 105.0f / 255.0f, 1.0f);                //#696969
140 static constexpr Vector4 DODGER_BLUE(30.0f / 255.0f, 144.0f / 255.0f, 1.0f, 1.0f);                         //#1E90FF
141 static constexpr Vector4 FIRE_BRICK(178.0f / 255.0f, 34.0f / 255.0f, 34.0f / 255.0f, 1.0f);                //#B22222
142 static constexpr Vector4 FLORAL_WHITE(1.0f, 250.0f / 255.0f, 240.0f / 255.0f, 1.0f);                       //#FFFAF0
143 static constexpr Vector4 FOREST_GREEN(34.0f / 255.0f, 139.0f / 255.0f, 34.0f / 255.0f, 1.0f);              //#228B22
144 static constexpr Vector4 FUCHSIA(1.0f, 0.0f, 1.0f, 1.0f);                                                  //#FF00FF
145 static constexpr Vector4 GAINSBORO(220.0f / 255.0f, 220.0f / 255.0f, 220.0f / 255.0f, 1.0f);               //#DCDCDC
146 static constexpr Vector4 GHOST_WHITE(248.0f / 255.0f, 248.0f / 255.0f, 1.0f, 1.0f);                        //#F8F8FF
147 static constexpr Vector4 GOLD(1.0f, 215.0f / 255.0f, 0.0f, 1.0f);                                          //#FFD700
148 static constexpr Vector4 GOLDEN_ROD(218.0f / 255.0f, 165.0f / 255.0f, 32.0f / 255.0f, 1.0f);               //#DAA520
149 static constexpr Vector4 GRAY(190.0f / 255.0f, 190.0f / 255.0f, 190.0f / 255.0f, 1.0f);                    //#BEBEBE
150 static constexpr Vector4 GREEN(0.0f, 1.0f, 0.0f, 1.0f);                                                    //#00FF00
151 static constexpr Vector4 GREEN_YELLOW(173.0f / 255.0f, 1.0f, 47.0f / 255.0f, 1.0f);                        //#ADFF2F
152 static constexpr Vector4 GREY(128.0f / 255.0f, 128.0f / 255.0f, 128.0f / 255.0f, 1.0f);                    //#808080
153 static constexpr Vector4 HONEYDEW(240.0f / 255.0f, 1.0f, 240.0f / 255.0f, 1.0f);                           //#F0FFF0
154 static constexpr Vector4 HOT_PINK(1.0f, 105.0f / 255.0f, 180.0f / 255.0f, 1.0f);                           //#FF69B4
155 static constexpr Vector4 INDIANRED(205.0f / 255.0f, 92.0f / 255.0f, 92.0f / 255.0f, 1.0f);                 //#CD5C5C
156 static constexpr Vector4 INDIGO(75.0f / 255.0f, 0.0f, 130.0f / 255.0f, 1.0f);                              //#4B0082
157 static constexpr Vector4 IVORY(1.0f, 1.0f, 240.0f / 255.0f, 1.0f);                                         //#FFFFF0
158 static constexpr Vector4 KHAKI(240.0f / 255.0f, 230.0f / 255.0f, 140.0f / 255.0f, 1.0f);                   //#F0E68C
159 static constexpr Vector4 LAVENDER(230.0f / 255.0f, 230.0f / 255.0f, 250.0f / 255.0f, 1.0f);                //#E6E6FA
160 static constexpr Vector4 LAVENDER_BLUSH(1.0f, 240.0f / 255.0f, 245.0f / 255.0f, 1.0f);                     //#FFF0F5
161 static constexpr Vector4 LAWN_GREEN(124.0f / 255.0f, 252.0f / 255.0f, 0.0f, 1.0f);                         //#7CFC00
162 static constexpr Vector4 LEMON_CHIFFON(1.0f, 250.0f / 255.0f, 205.0f / 255.0f, 1.0f);                      //#FFFACD
163 static constexpr Vector4 LIGHT_BLUE(173.0f / 255.0f, 216.0f / 255.0f, 230.0f / 255.0f, 1.0f);              //#ADD8E6
164 static constexpr Vector4 LIGHT_CORAL(240.0f / 255.0f, 128.0f / 255.0f, 128.0f / 255.0f, 1.0f);             //#F08080
165 static constexpr Vector4 LIGHT_CYAN(224.0f / 255.0f, 1.0f, 1.0f, 1.0f);                                    //#E0FFFF
166 static constexpr Vector4 LIGHT_GOLDEN_ROD_YELLOW(250.0f / 255.0f, 250.0f / 255.0f, 210.0f / 255.0f, 1.0f); //#FAFAD2
167 static constexpr Vector4 LIGHT_GRAY(211.0f / 255.0f, 211.0f / 255.0f, 211.0f / 255.0f, 1.0f);              //#D3D3D3
168 static constexpr Vector4 LIGHT_GREEN(144.0f / 255.0f, 238.0f / 255.0f, 144.0f / 255.0f, 1.0f);             //#90EE90
169 static constexpr Vector4 LIGHT_GREY(211.0f / 255.0f, 211.0f / 255.0f, 211.0f / 255.0f, 1.0f);              //#D3D3D3
170 static constexpr Vector4 LIGHT_PINK(1.0f, 182.0f / 255.0f, 193.0f / 255.0f, 1.0f);                         //#FFB6C1
171 static constexpr Vector4 LIGHT_SALMON(1.0f, 160.0f / 255.0f, 122.0f / 255.0f, 1.0f);                       //#FFA07A
172 static constexpr Vector4 LIGHT_SEA_GREEN(32.0f / 255.0f, 178.0f / 255.0f, 170.0f / 255.0f, 1.0f);          //#20B2AA
173 static constexpr Vector4 LIGHT_SKY_BLUE(135.0f / 255.0f, 206.0f / 255.0f, 250.0f / 255.0f, 1.0f);          //#87CEFA
174 static constexpr Vector4 LIGHT_SLATE_GRAY(119.0f / 255.0f, 136.0f / 255.0f, 153.0f / 255.0f, 1.0f);        //#778899
175 static constexpr Vector4 LIGHT_SLATE_GREY(119.0f / 255.0f, 136.0f / 255.0f, 153.0f / 255.0f, 1.0f);        //#778899
176 static constexpr Vector4 LIGHT_STEEL_BLUE(176.0f / 255.0f, 196.0f / 255.0f, 222.0f / 255.0f, 1.0f);        //#B0C4DE
177 static constexpr Vector4 LIGHT_YELLOW(1.0f, 1.0f, 224.0f / 255.0f, 1.0f);                                  //#FFFFE0
178 static constexpr Vector4 LIME(0.0f, 1.0f, 0.0f, 1.0f);                                                     //#00FF00
179 static constexpr Vector4 LIME_GREEN(50.0f / 255.0f, 205.0f / 255.0f, 50.0f / 255.0f, 1.0f);                //#32CD32
180 static constexpr Vector4 LINEN(250.0f / 255.0f, 240.0f / 255.0f, 230.0f / 255.0f, 1.0f);                   //#FAF0E6
181 static constexpr Vector4 MAGENTA(1.0f, 0.0f, 1.0f, 1.0f);                                                  //#FF00FF
182 static constexpr Vector4 MAROON(176.0f / 255.0f, 48.0f / 255.0f, 96.0f / 255.0f, 1.0f);                    //#B03060
183 static constexpr Vector4 MEDIUM_AQUA_MARINE(102.0f / 255.0f, 205.0f / 255.0f, 170.0f / 255.0f, 1.0f);      //#66CDAA
184 static constexpr Vector4 MEDIUM_BLUE(0.0f, 0.0f, 205.0f / 255.0f, 1.0f);                                   //#0000CD
185 static constexpr Vector4 MEDIUM_ORCHID(186.0f / 255.0f, 85.0f / 255.0f, 211.0f / 255.0f, 1.0f);            //#BA55D3
186 static constexpr Vector4 MEDIUM_PURPLE(147.0f / 255.0f, 112.0f / 255.0f, 219.0f / 255.0f, 1.0f);           //#9370DB
187 static constexpr Vector4 MEDIUM_SEA_GREEN(60.0f / 255.0f, 179.0f / 255.0f, 113.0f / 255.0f, 1.0f);         //#3CB371
188 static constexpr Vector4 MEDIUM_SLATE_BLUE(123.0f / 255.0f, 104.0f / 255.0f, 238.0f / 255.0f, 1.0f);       //#7B68EE
189 static constexpr Vector4 MEDIUM_SPRING_GREEN(0.0f, 250.0f / 255.0f, 154.0f / 255.0f, 1.0f);                //#00FA9A
190 static constexpr Vector4 MEDIUM_TURQUOISE(72.0f / 255.0f, 209.0f / 255.0f, 204.0f / 255.0f, 1.0f);         //#48D1CC
191 static constexpr Vector4 MEDIUM_VIOLETRED(199.0f / 255.0f, 21.0f / 255.0f, 133.0f / 255.0f, 1.0f);         //#C71585
192 static constexpr Vector4 MIDNIGHT_BLUE(25.0f / 255.0f, 25.0f / 255.0f, 112.0f / 255.0f, 1.0f);             //#191970
193 static constexpr Vector4 MINT_CREAM(245.0f / 255.0f, 1.0f, 250.0f / 255.0f, 1.0f);                         //#F5FFFA
194 static constexpr Vector4 MISTY_ROSE(1.0f, 228.0f / 255.0f, 225.0f / 255.0f, 1.0f);                         //#FFE4E1
195 static constexpr Vector4 MOCCASIN(1.0f, 228.0f / 255.0f, 181.0f / 255.0f, 1.0f);                           //#FFE4B5
196 static constexpr Vector4 NAVAJO_WHITE(1.0f, 222.0f / 255.0f, 173.0f / 255.0f, 1.0f);                       //#FFDEAD
197 static constexpr Vector4 NAVY(0.0f, 0.0f, 128.0f / 255.0f, 1.0f);                                          //#000080
198 static constexpr Vector4 OLD_LACE(253.0f / 255.0f, 245.0f / 255.0f, 230.0f / 255.0f, 1.0f);                //#FDF5E6
199 static constexpr Vector4 OLIVE(128.0f / 255.0f, 128.0f / 255.0f, 0.0f, 1.0f);                              //#808000
200 static constexpr Vector4 OLIVE_DRAB(107.0f / 255.0f, 142.0f / 255.0f, 35.0f / 255.0f, 1.0f);               //#6B8E23
201 static constexpr Vector4 ORANGE(1.0f, 165.0f / 255.0f, 0.0f, 1.0f);                                        //#FFA500
202 static constexpr Vector4 ORANGE_RED(1.0f, 69.0f / 255.0f, 0.0f, 1.0f);                                     //#FF4500
203 static constexpr Vector4 ORCHID(218.0f / 255.0f, 112.0f / 255.0f, 214.0f / 255.0f, 1.0f);                  //#DA70D6
204 static constexpr Vector4 PALE_GOLDEN_ROD(238.0f / 255.0f, 232.0f / 255.0f, 170.0f / 255.0f, 1.0f);         //#EEE8AA
205 static constexpr Vector4 PALE_GREEN(152.0f / 255.0f, 251.0f / 255.0f, 152.0f / 255.0f, 1.0f);              //#98FB98
206 static constexpr Vector4 PALE_TURQUOISE(175.0f / 255.0f, 238.0f / 255.0f, 238.0f / 255.0f, 1.0f);          //#AFEEEE
207 static constexpr Vector4 PALE_VIOLET_RED(219.0f / 255.0f, 112.0f / 255.0f, 147.0f / 255.0f, 1.0f);         //#DB7093
208 static constexpr Vector4 PAPAYA_WHIP(1.0f, 239.0f / 255.0f, 213.0f / 255.0f, 1.0f);                        //#FFEFD5
209 static constexpr Vector4 PEACH_PUFF(1.0f, 218.0f / 255.0f, 185.0f / 255.0f, 1.0f);                         //#FFDAB9
210 static constexpr Vector4 PERU(205.0f / 255.0f, 133.0f / 255.0f, 63.0f / 255.0f, 1.0f);                     //#CD853F
211 static constexpr Vector4 PINK(1.0f, 192.0f / 255.0f, 203.0f / 255.0f, 1.0f);                               //#FFC0CB
212 static constexpr Vector4 PLUM(221.0f / 255.0f, 160.0f / 255.0f, 221.0f / 255.0f, 1.0f);                    //#DDA0DD
213 static constexpr Vector4 POWDER_BLUE(176.0f / 255.0f, 224.0f / 255.0f, 230.0f / 255.0f, 1.0f);             //#B0E0E6
214 static constexpr Vector4 PURPLE(160.0f / 255.0f, 32.0f / 255.0f, 240.0f / 255.0f, 1.0f);                   //#A020F0
215 static constexpr Vector4 RED(1.0f, 0.0f, 0.0f, 1.0f);                                                      //#FF0000
216 static constexpr Vector4 ROSY_BROWN(188.0f / 255.0f, 143.0f / 255.0f, 143.0f / 255.0f, 1.0f);              //#BC8F8F
217 static constexpr Vector4 ROYAL_BLUE(65.0f / 255.0f, 105.0f / 255.0f, 225.0f / 255.0f, 1.0f);               //#4169E1
218 static constexpr Vector4 SADDLE_BROWN(139.0f / 255.0f, 69.0f / 255.0f, 19.0f / 255.0f, 1.0f);              //#8B4513
219 static constexpr Vector4 SALMON(250.0f / 255.0f, 128.0f / 255.0f, 114.0f / 255.0f, 1.0f);                  //#FA8072
220 static constexpr Vector4 SANDY_BROWN(244.0f / 255.0f, 164.0f / 255.0f, 96.0f / 255.0f, 1.0f);              //#F4A460
221 static constexpr Vector4 SEA_GREEN(46.0f / 255.0f, 139.0f / 255.0f, 87.0f / 255.0f, 1.0f);                 //#2E8B57
222 static constexpr Vector4 SEA_SHELL(1.0f, 245.0f / 255.0f, 238.0f / 255.0f, 1.0f);                          //#FFF5EE
223 static constexpr Vector4 SIENNA(160.0f / 255.0f, 82.0f / 255.0f, 45.0f / 255.0f, 1.0f);                    //#A0522D
224 static constexpr Vector4 SILVER(192.0f / 255.0f, 192.0f / 255.0f, 192.0f / 255.0f, 1.0f);                  //#C0C0C0
225 static constexpr Vector4 SKY_BLUE(135.0f / 255.0f, 206.0f / 255.0f, 235.0f / 255.0f, 1.0f);                //#87CEEB
226 static constexpr Vector4 SLATE_BLUE(106.0f / 255.0f, 90.0f / 255.0f, 205.0f / 255.0f, 1.0f);               //#6A5ACD
227 static constexpr Vector4 SLATE_GRAY(112.0f / 255.0f, 128.0f / 255.0f, 144.0f / 255.0f, 1.0f);              //#708090
228 static constexpr Vector4 SLATE_GREY(112.0f / 255.0f, 128.0f / 255.0f, 144.0f / 255.0f, 1.0f);              //#708090
229 static constexpr Vector4 SNOW(1.0f, 250.0f / 255.0f, 250.0f / 255.0f, 1.0f);                               //#FFFAFA
230 static constexpr Vector4 SPRING_GREEN(0.0f, 1.0f, 127.0f / 255.0f, 1.0f);                                  //#00FF7F
231 static constexpr Vector4 STEEL_BLUE(70.0f / 255.0f, 130.0f / 255.0f, 180.0f / 255.0f, 1.0f);               //#4682B4
232 static constexpr Vector4 TAN(210.0f / 255.0f, 180.0f / 255.0f, 140.0f / 255.0f, 1.0f);                     //#D2B48C
233 static constexpr Vector4 TEAL(0.0f, 128.0f / 255.0f, 128.0f / 255.0f, 1.0f);                               //#008080
234 static constexpr Vector4 THISTLE(216.0f / 255.0f, 191.0f / 255.0f, 216.0f / 255.0f, 1.0f);                 //#D8BFD8
235 static constexpr Vector4 TOMATO(1.0f, 99.0f / 255.0f, 71.0f / 255.0f, 1.0f);                               //#FF6347
236 static constexpr Vector4 TRANSPARENT(0.0f, 0.0f, 0.0f, 0.0f);                                              //#000000
237 static constexpr Vector4 TURQUOISE(64.0f / 255.0f, 224.0f / 255.0f, 208.0f / 255.0f, 1.0f);                //#40E0D0
238 static constexpr Vector4 VIOLET(238.0f / 255.0f, 130.0f / 255.0f, 238.0f / 255.0f, 1.0f);                  //#EE82EE
239 static constexpr Vector4 WHEAT(245.0f / 255.0f, 222.0f / 255.0f, 179.0f / 255.0f, 1.0f);                   //#F5DEB3
240 static constexpr Vector4 WHITE(1.0f, 1.0f, 1.0f, 1.0f);                                                    //#FFFFFF
241 static constexpr Vector4 WHITE_SMOKE(245.0f / 255.0f, 245.0f / 255.0f, 245.0f / 255.0f, 1.0f);             //#F5F5F5
242 static constexpr Vector4 YELLOW(1.0f, 1.0f, 0.0f, 1.0f);                                                   //#FFFF00
243 static constexpr Vector4 YELLOW_GREEN(154.0f / 255.0f, 205.0f / 255.0f, 50.0f / 255.0f, 1.0f);             //#9ACD32
244
245 } // namespace Color
246
247 /**
248  * @brief Math constants.
249  * @SINCE_1_0.0
250  */
251 namespace Math
252 {
253 static constexpr float MACHINE_EPSILON_0     = Epsilon<0>::value;
254 static constexpr float MACHINE_EPSILON_1     = Epsilon<1>::value;
255 static constexpr float MACHINE_EPSILON_10    = Epsilon<10>::value;
256 static constexpr float MACHINE_EPSILON_100   = Epsilon<100>::value;
257 static constexpr float MACHINE_EPSILON_1000  = Epsilon<1000>::value;
258 static constexpr float MACHINE_EPSILON_10000 = Epsilon<10000>::value;
259
260 // float is preferred to double for performance on ARM targets
261 static constexpr float PI            = static_cast<float>(M_PI);   ///< Pi
262 static constexpr float PI_2          = static_cast<float>(M_PI_2); ///< Pi/2
263 static constexpr float PI_4          = static_cast<float>(M_PI_4); ///< Pi/4
264 static constexpr float PI_OVER_180   = Dali::Math::PI / 180.0f;    ///< Constant used to convert degree to radian
265 static constexpr float ONE80_OVER_PI = 180.0f / Dali::Math::PI;    ///< Constant used to convert radian to degree
266
267 } // namespace Math
268
269 // background colors
270 static constexpr Vector4 DEFAULT_BACKGROUND_COLOR = Color::BLACK;
271 static constexpr Vector4 DEBUG_BACKGROUND_COLOR(0.2f, 0.5f, 0.2f, 1.0f); ///< Dark green, useful for debugging visuals (texture / shader issues / culling etc.).
272
273 /**
274  * @}
275  */
276 } // namespace Dali
277
278 #endif // DALI_CONSTANTS_H