Skip to content

Commit 6e726bc

Browse files
MKoroteev-HORISASmirnov-HORIS
authored andcommitted
Named colors (#1326)
1 parent ea62442 commit 6e726bc

File tree

10 files changed

+343
-87
lines changed

10 files changed

+343
-87
lines changed

commons/src/commonMain/kotlin/org/jetbrains/letsPlot/commons/values/Color.kt

Lines changed: 151 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -65,33 +65,158 @@ class Color @JvmOverloads constructor(
6565

6666
companion object {
6767
val TRANSPARENT = Color(0, 0, 0, 0)
68-
val WHITE = Color(255, 255, 255)
69-
val CONSOLE_WHITE = Color(204, 204, 204)
70-
val BLACK = Color(0, 0, 0)
71-
val LIGHT_GRAY = Color(192, 192, 192)
72-
val VERY_LIGHT_GRAY = Color(210, 210, 210)
73-
val GRAY = Color(128, 128, 128)
74-
val RED = Color(255, 0, 0)
75-
val LIGHT_GREEN = Color(210, 255, 210)
76-
val GREEN = Color(0, 255, 0)
77-
val DARK_GREEN = Color(0, 128, 0)
78-
val BLUE = Color(0, 0, 255)
79-
val DARK_BLUE = Color(0, 0, 128)
80-
val LIGHT_BLUE = Color(210, 210, 255)
81-
val YELLOW = Color(255, 255, 0)
82-
val CONSOLE_YELLOW = Color(174, 174, 36)
83-
val LIGHT_YELLOW = Color(255, 255, 128)
84-
val VERY_LIGHT_YELLOW = Color(255, 255, 210)
85-
val MAGENTA = Color(255, 0, 255)
86-
val LIGHT_MAGENTA = Color(255, 210, 255)
87-
val DARK_MAGENTA = Color(128, 0, 128)
88-
val CYAN = Color(0, 255, 255)
89-
val LIGHT_CYAN = Color(210, 255, 255)
90-
val ORANGE = Color(255, 192, 0)
91-
val PINK = Color(255, 175, 175)
92-
val LIGHT_PINK = Color(255, 210, 210)
93-
68+
val ALICE_BLUE = parseHex("#F0F8FF")
69+
val ANTIQUE_WHITE = parseHex("#FAEBD7")
70+
val AQUA = parseHex("#00FFFF")
71+
val AQUAMARINE = parseHex("#7FFFD4")
72+
val AZURE = parseHex("#F0FFFF")
73+
val BEIGE = parseHex("#F5F5DC")
74+
val BISQUE = parseHex("#FFE4C4")
75+
val BLACK = parseHex("#000000")
76+
val BLANCHED_ALMOND = parseHex("#FFEBCD")
77+
val BLUE = parseHex("#0000FF")
78+
val BLUE_VIOLET = parseHex("#8A2BE2")
79+
val BROWN = parseHex("#A52A2A")
80+
val BURLY_WOOD = parseHex("#DEB887")
81+
val CADET_BLUE = parseHex("#5F9EA0")
82+
val CHARTREUSE = parseHex("#7FFF00")
83+
val CHOCOLATE = parseHex("#D2691E")
84+
val CORAL = parseHex("#FF7F50")
85+
val CORNFLOWER_BLUE = parseHex("#6495ED")
86+
val CORNSILK = parseHex("#FFF8DC")
87+
val CRIMSON = parseHex("#DC143C")
88+
val CYAN = parseHex("#00FFFF")
89+
val DARK_BLUE = parseHex("#00008B")
90+
val DARK_CYAN = parseHex("#008B8B")
91+
val DARK_GOLDENROD = parseHex("#B8860B")
92+
val DARK_GRAY = parseHex("#555555")
93+
val DARK_GREEN = parseHex("#006400")
94+
val DARK_KHAKI = parseHex("#BDB76B")
95+
val DARK_MAGENTA = parseHex("#8B008B")
96+
val DARK_OLIVE_GREEN = parseHex("#556B2F")
97+
val DARK_ORANGE = parseHex("#FF8C00")
98+
val DARK_ORCHID = parseHex("#9932CC")
99+
val DARK_RED = parseHex("#8B0000")
100+
val DARK_SALMON = parseHex("#E9967A")
101+
val DARK_SEA_GREEN = parseHex("#8FBC8F")
102+
val DARK_SLATE_BLUE = parseHex("#483D8B")
103+
val DARK_SLATE_GRAY = parseHex("#2F4F4F")
104+
val DARK_TURQUOISE = parseHex("#00CED1")
105+
val DARK_VIOLET = parseHex("#9400D3")
106+
val DEEP_PINK = parseHex("#FF1493")
107+
val DEEP_SKY_BLUE = parseHex("#00BFFF")
108+
val DIM_GRAY = parseHex("#696969")
109+
val DODGER_BLUE = parseHex("#1E90FF")
110+
val FIREBRICK = parseHex("#B22222")
111+
val FLORAL_WHITE = parseHex("#FFFAF0")
112+
val FOREST_GREEN = parseHex("#228B22")
113+
val FUCHSIA = parseHex("#FF00FF")
114+
val GAINSBORO = parseHex("#DCDCDC")
115+
val GHOST_WHITE = parseHex("#F8F8FF")
116+
val GOLD = parseHex("#FFD700")
117+
val GOLDENROD = parseHex("#DAA520")
118+
val GRAY = parseHex("#808080")
119+
val GREEN = parseHex("#008000")
120+
val GREEN_YELLOW = parseHex("#ADFF2F")
121+
val HONEY_DEW = parseHex("#F0FFF0")
122+
val HOT_PINK = parseHex("#FF69B4")
123+
val INDIAN_RED = parseHex("#CD5C5C")
124+
val INDIGO = parseHex("#4B0082")
125+
val IVORY = parseHex("#FFFFF0")
126+
val KHAKI = parseHex("#F0E68C")
127+
val LAVENDER = parseHex("#E6E6FA")
128+
val LAVENDER_BLUSH = parseHex("#FFF0F5")
129+
val LAWN_GREEN = parseHex("#7CFC00")
130+
val LEMON_CHIFFON = parseHex("#FFFACD")
131+
val LIGHT_BLUE = parseHex("#ADD8E6")
132+
val LIGHT_CORAL = parseHex("#F08080")
133+
val LIGHT_CYAN = parseHex("#E0FFFF")
134+
val LIGHT_GOLDENROD = parseHex("#EEDD82")
135+
val LIGHT_GOLDENROD_YELLOW = parseHex("#FAFAD2")
136+
val LIGHT_GRAY = parseHex("#D3D3D3")
137+
val LIGHT_GREEN = parseHex("#90EE90")
138+
val LIGHT_MAGENTA = parseHex("#FFD2FF")
139+
val LIGHT_PINK = parseHex("#FFB6C1")
140+
val LIGHT_SALMON = parseHex("#FFA07A")
141+
val LIGHT_SEA_GREEN = parseHex("#20B2AA")
142+
val LIGHT_SKY_BLUE = parseHex("#87CEFA")
143+
val LIGHT_SLATE_BLUE = parseHex("#8470FF")
144+
val LIGHT_SLATE_GRAY = parseHex("#778899")
145+
val LIGHT_STEEL_BLUE = parseHex("#B0C4DE")
146+
val LIGHT_YELLOW = parseHex("#FFFFE0")
147+
val LIME = parseHex("#00FF00")
148+
val LIME_GREEN = parseHex("#32CD32")
149+
val LINEN = parseHex("#FAF0E6")
150+
val MAGENTA = parseHex("#FF00FF")
151+
val MAROON = parseHex("#800000")
152+
val MEDIUM_AQUAMARINE = parseHex("#66CDAA")
153+
val MEDIUM_BLUE = parseHex("#0000CD")
154+
val MEDIUM_ORCHID = parseHex("#BA55D3")
155+
val MEDIUM_PURPLE = parseHex("#9370DB")
156+
val MEDIUM_SEA_GREEN = parseHex("#3CB371")
157+
val MEDIUM_SLATE_BLUE = parseHex("#7B68EE")
158+
val MEDIUM_SPRING_GREEN = parseHex("#00FA9A")
159+
val MEDIUM_TURQUOISE = parseHex("#48D1CC")
160+
val MEDIUM_VIOLET_RED = parseHex("#C71585")
161+
val MIDNIGHT_BLUE = parseHex("#191970")
162+
val MINT_CREAM = parseHex("#F5FFFA")
163+
val MISTY_ROSE = parseHex("#FFE4E1")
164+
val MOCCASIN = parseHex("#FFE4B5")
165+
val NAVAJO_WHITE = parseHex("#FFDEAD")
166+
val NAVY = parseHex("#000080")
167+
val OLD_LACE = parseHex("#FDF5E6")
168+
val OLIVE = parseHex("#808000")
169+
val OLIVE_DRAB = parseHex("#6B8E23")
170+
val ORANGE = parseHex("#FFA500")
171+
val ORANGE_RED = parseHex("#FF4500")
172+
val ORCHID = parseHex("#DA70D6")
94173
val PACIFIC_BLUE = parseHex("#118ED8")
174+
val PALE_GOLDENROD = parseHex("#EEE8AA")
175+
val PALE_GREEN = parseHex("#98FB98")
176+
val PALE_TURQUOISE = parseHex("#AFEEEE")
177+
val PALE_VIOLET_RED = parseHex("#DB7093")
178+
val PAPAYA_WHIP = parseHex("#FFEFD5")
179+
val PEACH_PUFF = parseHex("#FFDAB9")
180+
val PERU = parseHex("#CD853F")
181+
val PINK = parseHex("#FFC0CB")
182+
val PLUM = parseHex("#DDA0DD")
183+
val POWDERBLUE = parseHex("#B0E0E6")
184+
val PURPLE = parseHex("#800080")
185+
val REBECCAPURPLE = parseHex("#663399")
186+
val RED = parseHex("#FF0000")
187+
val ROSY_BROWN = parseHex("#BC8F8F")
188+
val ROYAL_BLUE = parseHex("#4169E1")
189+
val SADDLE_BROWN = parseHex("#8B4513")
190+
val SALMON = parseHex("#FA8072")
191+
val SANDY_BROWN = parseHex("#F4A460")
192+
val SEA_GREEN = parseHex("#2E8B57")
193+
val SEA_SHELL = parseHex("#FFF5EE")
194+
val SIENNA = parseHex("#A0522D")
195+
val SILVER = parseHex("#C0C0C0")
196+
val SKY_BLUE = parseHex("#87CEEB")
197+
val SLATE_BLUE = parseHex("#6A5ACD")
198+
val SLATE_GRAY = parseHex("#708090")
199+
val SNOW = parseHex("#FFFAFA")
200+
val SPRING_GREEN = parseHex("#00FF7F")
201+
val STEEL_BLUE = parseHex("#4682B4")
202+
val TAN = parseHex("#D2B48C")
203+
val TEAL = parseHex("#008080")
204+
val THISTLE = parseHex("#D8BFD8")
205+
val TOMATO = parseHex("#FF6347")
206+
val TURQUOISE = parseHex("#40E0D0")
207+
val VIOLET = parseHex("#EE82EE")
208+
val VIOLET_RED = parseHex("#D02090")
209+
val WHEAT = parseHex("#F5DEB3")
210+
val WHITE = parseHex("#FFFFFF")
211+
val WHITE_SMOKE = parseHex("#F5F5F5")
212+
val YELLOW = parseHex("#FFFF00")
213+
val YELLOW_GREEN = parseHex("#9ACD32")
214+
215+
fun gray(intensity: Int): Color {
216+
require(intensity in 0..100) { "Value must be between 0 and 100" }
217+
val value = (intensity * 255 / 100.0).roundToInt()
218+
return Color(value, value, value)
219+
}
95220

96221
private const val RGB = "rgb"
97222
private const val COLOR = "color"

0 commit comments

Comments
 (0)