ObjectivelyMVC 0.1.0
Object oriented MVC framework for OpenGL, SDL2 and GNU C
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Functions | Variables
Colors.c File Reference
#include <assert.h>
#include <math.h>
#include <string.h>
#include <SDL_endian.h>
#include "Colors.h"

Go to the source code of this file.

Variables

const struct Colors Colors
 

Function Documentation

◆ MVC_ColorForName()

SDL_Color MVC_ColorForName ( const char *  name)
related

Definition at line 180 of file Colors.c.

180 {
181
182 if (name) {
183 if (strcasecmp(name, "AliceBlue") == 0) {
184 return Colors.AliceBlue;
185 }
186 if (strcasecmp(name, "AntiqueWhite") == 0) {
187 return Colors.AntiqueWhite;
188 }
189 if (strcasecmp(name, "Aqua") == 0) {
190 return Colors.Aqua;
191 }
192 if (strcasecmp(name, "Aquamarine") == 0) {
193 return Colors.Aquamarine;
194 }
195 if (strcasecmp(name, "Azure") == 0) {
196 return Colors.Azure;
197 }
198 if (strcasecmp(name, "Beige") == 0) {
199 return Colors.Beige;
200 }
201 if (strcasecmp(name, "Bisque") == 0) {
202 return Colors.Bisque;
203 }
204 if (strcasecmp(name, "Black") == 0) {
205 return Colors.Black;
206 }
207 if (strcasecmp(name, "BlanchedAlmond") == 0) {
208 return Colors.BlanchedAlmond;
209 }
210 if (strcasecmp(name, "Blue") == 0) {
211 return Colors.Blue;
212 }
213 if (strcasecmp(name, "BlueViolet") == 0) {
214 return Colors.BlueViolet;
215 }
216 if (strcasecmp(name, "Brown") == 0) {
217 return Colors.Brown;
218 }
219 if (strcasecmp(name, "BurlyWood") == 0) {
220 return Colors.BurlyWood;
221 }
222 if (strcasecmp(name, "CadetBlue") == 0) {
223 return Colors.CadetBlue;
224 }
225 if (strcasecmp(name, "Charcoal") == 0) {
226 return Colors.Charcoal;
227 }
228 if (strcasecmp(name, "Chartreuse") == 0) {
229 return Colors.Chartreuse;
230 }
231 if (strcasecmp(name, "Chocolate") == 0) {
232 return Colors.Chocolate;
233 }
234 if (strcasecmp(name, "Coral") == 0) {
235 return Colors.Coral;
236 }
237 if (strcasecmp(name, "CornflowerBlue") == 0) {
238 return Colors.CornflowerBlue;
239 }
240 if (strcasecmp(name, "Cornsilk") == 0) {
241 return Colors.Cornsilk;
242 }
243 if (strcasecmp(name, "Crimson") == 0) {
244 return Colors.Crimson;
245 }
246 if (strcasecmp(name, "Cyan") == 0) {
247 return Colors.Cyan;
248 }
249 if (strcasecmp(name, "DarkBlue") == 0) {
250 return Colors.DarkBlue;
251 }
252 if (strcasecmp(name, "DarkCyan") == 0) {
253 return Colors.DarkCyan;
254 }
255 if (strcasecmp(name, "DarkGoldenRod") == 0) {
256 return Colors.DarkGoldenRod;
257 }
258 if (strcasecmp(name, "DarkGray") == 0) {
259 return Colors.DarkGray;
260 }
261 if (strcasecmp(name, "DarkGrey") == 0) {
262 return Colors.DarkGrey;
263 }
264 if (strcasecmp(name, "DarkGreen") == 0) {
265 return Colors.DarkGreen;
266 }
267 if (strcasecmp(name, "DarkKhaki") == 0) {
268 return Colors.DarkKhaki;
269 }
270 if (strcasecmp(name, "DarkMagenta") == 0) {
271 return Colors.DarkMagenta;
272 }
273 if (strcasecmp(name, "DarkOliveGreen") == 0) {
274 return Colors.DarkOliveGreen;
275 }
276 if (strcasecmp(name, "DarkOrange") == 0) {
277 return Colors.DarkOrange;
278 }
279 if (strcasecmp(name, "DarkOrchid") == 0) {
280 return Colors.DarkOrchid;
281 }
282 if (strcasecmp(name, "DarkRed") == 0) {
283 return Colors.DarkRed;
284 }
285 if (strcasecmp(name, "DarkSalmon") == 0) {
286 return Colors.DarkSalmon;
287 }
288 if (strcasecmp(name, "DarkSeaGreen") == 0) {
289 return Colors.DarkSeaGreen;
290 }
291 if (strcasecmp(name, "DarkSlateBlue") == 0) {
292 return Colors.DarkSlateBlue;
293 }
294 if (strcasecmp(name, "DarkSlateGray") == 0) {
295 return Colors.DarkSlateGray;
296 }
297 if (strcasecmp(name, "DarkSlateGrey") == 0) {
298 return Colors.DarkSlateGrey;
299 }
300 if (strcasecmp(name, "DarkTurquoise") == 0) {
301 return Colors.DarkTurquoise;
302 }
303 if (strcasecmp(name, "DarkViolet") == 0) {
304 return Colors.DarkViolet;
305 }
306 if (strcasecmp(name, "DeepPink") == 0) {
307 return Colors.DeepPink;
308 }
309 if (strcasecmp(name, "DeepSkyBlue") == 0) {
310 return Colors.DeepSkyBlue;
311 }
312 if (strcasecmp(name, "DimGray") == 0) {
313 return Colors.DimGray;
314 }
315 if (strcasecmp(name, "DimGrey") == 0) {
316 return Colors.DimGrey;
317 }
318 if (strcasecmp(name, "DodgerBlue") == 0) {
319 return Colors.DodgerBlue;
320 }
321 if (strcasecmp(name, "FireBrick") == 0) {
322 return Colors.FireBrick;
323 }
324 if (strcasecmp(name, "FloralWhite") == 0) {
325 return Colors.FloralWhite;
326 }
327 if (strcasecmp(name, "ForestGreen") == 0) {
328 return Colors.ForestGreen;
329 }
330 if (strcasecmp(name, "Fuchsia") == 0) {
331 return Colors.Fuchsia;
332 }
333 if (strcasecmp(name, "Gainsboro") == 0) {
334 return Colors.Gainsboro;
335 }
336 if (strcasecmp(name, "GhostWhite") == 0) {
337 return Colors.GhostWhite;
338 }
339 if (strcasecmp(name, "Gold") == 0) {
340 return Colors.Gold;
341 }
342 if (strcasecmp(name, "GoldenRod") == 0) {
343 return Colors.GoldenRod;
344 }
345 if (strcasecmp(name, "Gray") == 0) {
346 return Colors.Gray;
347 }
348 if (strcasecmp(name, "Grey") == 0) {
349 return Colors.Grey;
350 }
351 if (strcasecmp(name, "Green") == 0) {
352 return Colors.Green;
353 }
354 if (strcasecmp(name, "GreenYellow") == 0) {
355 return Colors.GreenYellow;
356 }
357 if (strcasecmp(name, "HoneyDew") == 0) {
358 return Colors.HoneyDew;
359 }
360 if (strcasecmp(name, "HotPink") == 0) {
361 return Colors.HotPink;
362 }
363 if (strcasecmp(name, "IndianRed") == 0) {
364 return Colors.IndianRed;
365 }
366 if (strcasecmp(name, "Indigo") == 0) {
367 return Colors.Indigo;
368 }
369 if (strcasecmp(name, "Ivory") == 0) {
370 return Colors.Ivory;
371 }
372 if (strcasecmp(name, "Khaki") == 0) {
373 return Colors.Khaki;
374 }
375 if (strcasecmp(name, "Lavender") == 0) {
376 return Colors.Lavender;
377 }
378 if (strcasecmp(name, "LavenderBlush") == 0) {
379 return Colors.LavenderBlush;
380 }
381 if (strcasecmp(name, "LawnGreen") == 0) {
382 return Colors.LawnGreen;
383 }
384 if (strcasecmp(name, "LemonChiffon") == 0) {
385 return Colors.LemonChiffon;
386 }
387 if (strcasecmp(name, "LightBlue") == 0) {
388 return Colors.LightBlue;
389 }
390 if (strcasecmp(name, "LightCoral") == 0) {
391 return Colors.LightCoral;
392 }
393 if (strcasecmp(name, "LightCyan") == 0) {
394 return Colors.LightCyan;
395 }
396 if (strcasecmp(name, "LightGoldenRodYellow") == 0) {
398 }
399 if (strcasecmp(name, "LightGray") == 0) {
400 return Colors.LightGray;
401 }
402 if (strcasecmp(name, "LightGrey") == 0) {
403 return Colors.LightGrey;
404 }
405 if (strcasecmp(name, "LightGreen") == 0) {
406 return Colors.LightGreen;
407 }
408 if (strcasecmp(name, "LightPink") == 0) {
409 return Colors.LightPink;
410 }
411 if (strcasecmp(name, "LightSalmon") == 0) {
412 return Colors.LightSalmon;
413 }
414 if (strcasecmp(name, "LightSeaGreen") == 0) {
415 return Colors.LightSeaGreen;
416 }
417 if (strcasecmp(name, "LightSkyBlue") == 0) {
418 return Colors.LightSkyBlue;
419 }
420 if (strcasecmp(name, "LightSlateGray") == 0) {
421 return Colors.LightSlateGray;
422 }
423 if (strcasecmp(name, "LightSlateGrey") == 0) {
424 return Colors.LightSlateGrey;
425 }
426 if (strcasecmp(name, "LightSteelBlue") == 0) {
427 return Colors.LightSteelBlue;
428 }
429 if (strcasecmp(name, "LightYellow") == 0) {
430 return Colors.LightYellow;
431 }
432 if (strcasecmp(name, "Lime") == 0) {
433 return Colors.Lime;
434 }
435 if (strcasecmp(name, "LimeGreen") == 0) {
436 return Colors.LimeGreen;
437 }
438 if (strcasecmp(name, "Linen") == 0) {
439 return Colors.Linen;
440 }
441 if (strcasecmp(name, "Magenta") == 0) {
442 return Colors.Magenta;
443 }
444 if (strcasecmp(name, "Maroon") == 0) {
445 return Colors.Maroon;
446 }
447 if (strcasecmp(name, "MediumAquaMarine") == 0) {
449 }
450 if (strcasecmp(name, "MediumBlue") == 0) {
451 return Colors.MediumBlue;
452 }
453 if (strcasecmp(name, "MediumOrchid") == 0) {
454 return Colors.MediumOrchid;
455 }
456 if (strcasecmp(name, "MediumPurple") == 0) {
457 return Colors.MediumPurple;
458 }
459 if (strcasecmp(name, "MediumSeaGreen") == 0) {
460 return Colors.MediumSeaGreen;
461 }
462 if (strcasecmp(name, "MediumSlateBlue") == 0) {
463 return Colors.MediumSlateBlue;
464 }
465 if (strcasecmp(name, "MediumSpringGreen") == 0) {
467 }
468 if (strcasecmp(name, "MediumTurquoise") == 0) {
469 return Colors.MediumTurquoise;
470 }
471 if (strcasecmp(name, "MediumVioletRed") == 0) {
472 return Colors.MediumVioletRed;
473 }
474 if (strcasecmp(name, "MidnightBlue") == 0) {
475 return Colors.MidnightBlue;
476 }
477 if (strcasecmp(name, "MintCream") == 0) {
478 return Colors.MintCream;
479 }
480 if (strcasecmp(name, "MistyRose") == 0) {
481 return Colors.MistyRose;
482 }
483 if (strcasecmp(name, "Moccasin") == 0) {
484 return Colors.Moccasin;
485 }
486 if (strcasecmp(name, "NavajoWhite") == 0) {
487 return Colors.NavajoWhite;
488 }
489 if (strcasecmp(name, "Navy") == 0) {
490 return Colors.Navy;
491 }
492 if (strcasecmp(name, "OldLace") == 0) {
493 return Colors.OldLace;
494 }
495 if (strcasecmp(name, "Olive") == 0) {
496 return Colors.Olive;
497 }
498 if (strcasecmp(name, "OliveDrab") == 0) {
499 return Colors.OliveDrab;
500 }
501 if (strcasecmp(name, "Orange") == 0) {
502 return Colors.Orange;
503 }
504 if (strcasecmp(name, "OrangeRed") == 0) {
505 return Colors.OrangeRed;
506 }
507 if (strcasecmp(name, "Orchid") == 0) {
508 return Colors.Orchid;
509 }
510 if (strcasecmp(name, "PaleGoldenRod") == 0) {
511 return Colors.PaleGoldenRod;
512 }
513 if (strcasecmp(name, "PaleGreen") == 0) {
514 return Colors.PaleGreen;
515 }
516 if (strcasecmp(name, "PaleTurquoise") == 0) {
517 return Colors.PaleTurquoise;
518 }
519 if (strcasecmp(name, "PaleVioletRed") == 0) {
520 return Colors.PaleVioletRed;
521 }
522 if (strcasecmp(name, "PapayaWhip") == 0) {
523 return Colors.PapayaWhip;
524 }
525 if (strcasecmp(name, "PeachPuff") == 0) {
526 return Colors.PeachPuff;
527 }
528 if (strcasecmp(name, "Peru") == 0) {
529 return Colors.Peru;
530 }
531 if (strcasecmp(name, "Pink") == 0) {
532 return Colors.Pink;
533 }
534 if (strcasecmp(name, "Plum") == 0) {
535 return Colors.Plum;
536 }
537 if (strcasecmp(name, "PowderBlue") == 0) {
538 return Colors.PowderBlue;
539 }
540 if (strcasecmp(name, "Purple") == 0) {
541 return Colors.Purple;
542 }
543 if (strcasecmp(name, "RebeccaPurple") == 0) {
544 return Colors.RebeccaPurple;
545 }
546 if (strcasecmp(name, "Red") == 0) {
547 return Colors.Red;
548 }
549 if (strcasecmp(name, "RosyBrown") == 0) {
550 return Colors.RosyBrown;
551 }
552 if (strcasecmp(name, "RoyalBlue") == 0) {
553 return Colors.RoyalBlue;
554 }
555 if (strcasecmp(name, "SaddleBrown") == 0) {
556 return Colors.SaddleBrown;
557 }
558 if (strcasecmp(name, "Salmon") == 0) {
559 return Colors.Salmon;
560 }
561 if (strcasecmp(name, "SandyBrown") == 0) {
562 return Colors.SandyBrown;
563 }
564 if (strcasecmp(name, "SeaGreen") == 0) {
565 return Colors.SeaGreen;
566 }
567 if (strcasecmp(name, "SeaShell") == 0) {
568 return Colors.SeaShell;
569 }
570 if (strcasecmp(name, "Sienna") == 0) {
571 return Colors.Sienna;
572 }
573 if (strcasecmp(name, "Silver") == 0) {
574 return Colors.Silver;
575 }
576 if (strcasecmp(name, "SkyBlue") == 0) {
577 return Colors.SkyBlue;
578 }
579 if (strcasecmp(name, "SlateBlue") == 0) {
580 return Colors.SlateBlue;
581 }
582 if (strcasecmp(name, "SlateGray") == 0) {
583 return Colors.SlateGray;
584 }
585 if (strcasecmp(name, "SlateGrey") == 0) {
586 return Colors.SlateGrey;
587 }
588 if (strcasecmp(name, "Snow") == 0) {
589 return Colors.Snow;
590 }
591 if (strcasecmp(name, "SpringGreen") == 0) {
592 return Colors.SpringGreen;
593 }
594 if (strcasecmp(name, "SteelBlue") == 0) {
595 return Colors.SteelBlue;
596 }
597 if (strcasecmp(name, "Tan") == 0) {
598 return Colors.Tan;
599 }
600 if (strcasecmp(name, "Teal") == 0) {
601 return Colors.Teal;
602 }
603 if (strcasecmp(name, "Thistle") == 0) {
604 return Colors.Thistle;
605 }
606 if (strcasecmp(name, "Tomato") == 0) {
607 return Colors.Tomato;
608 }
609 if (strcasecmp(name, "Transparent") == 0) {
610 return Colors.Transparent;
611 }
612 if (strcasecmp(name, "Turquoise") == 0) {
613 return Colors.Turquoise;
614 }
615 if (strcasecmp(name, "Violet") == 0) {
616 return Colors.Violet;
617 }
618 if (strcasecmp(name, "Wheat") == 0) {
619 return Colors.Wheat;
620 }
621 if (strcasecmp(name, "White") == 0) {
622 return Colors.White;
623 }
624 if (strcasecmp(name, "WhiteSmoke") == 0) {
625 return Colors.WhiteSmoke;
626 }
627 if (strcasecmp(name, "Yellow") == 0) {
628 return Colors.Yellow;
629 }
630 if (strcasecmp(name, "YellowGreen") == 0) {
631 return Colors.YellowGreen;
632 }
633 }
634
635 return Colors.Black;
636}
W3C Color constants.
Definition: Colors.h:37
SDL_Color LightGrey
Definition: Colors.h:112
SDL_Color WhiteSmoke
Definition: Colors.h:186
SDL_Color LightBlue
Definition: Colors.h:107
SDL_Color DarkOrange
Definition: Colors.h:70
SDL_Color Gold
Definition: Colors.h:91
SDL_Color MediumBlue
Definition: Colors.h:128
SDL_Color DarkGoldenRod
Definition: Colors.h:63
SDL_Color Brown
Definition: Colors.h:50
SDL_Color LightSalmon
Definition: Colors.h:115
SDL_Color MediumSlateBlue
Definition: Colors.h:132
SDL_Color Pink
Definition: Colors.h:155
SDL_Color Lime
Definition: Colors.h:122
SDL_Color Turquoise
Definition: Colors.h:182
SDL_Color DarkTurquoise
Definition: Colors.h:78
SDL_Color Thistle
Definition: Colors.h:179
SDL_Color SlateGray
Definition: Colors.h:172
SDL_Color AliceBlue
Definition: Colors.h:39
SDL_Color Magenta
Definition: Colors.h:125
SDL_Color Fuchsia
Definition: Colors.h:88
SDL_Color SlateBlue
Definition: Colors.h:171
SDL_Color Plum
Definition: Colors.h:156
SDL_Color LavenderBlush
Definition: Colors.h:104
SDL_Color DimGray
Definition: Colors.h:82
SDL_Color DarkRed
Definition: Colors.h:72
SDL_Color LightSteelBlue
Definition: Colors.h:120
SDL_Color FloralWhite
Definition: Colors.h:86
SDL_Color SlateGrey
Definition: Colors.h:173
SDL_Color MidnightBlue
Definition: Colors.h:136
SDL_Color ForestGreen
Definition: Colors.h:87
SDL_Color DarkViolet
Definition: Colors.h:79
SDL_Color DarkCyan
Definition: Colors.h:62
SDL_Color White
Definition: Colors.h:185
SDL_Color Crimson
Definition: Colors.h:59
SDL_Color Aquamarine
Definition: Colors.h:42
SDL_Color PowderBlue
Definition: Colors.h:157
SDL_Color SteelBlue
Definition: Colors.h:176
SDL_Color BlanchedAlmond
Definition: Colors.h:47
SDL_Color Azure
Definition: Colors.h:43
SDL_Color Tan
Definition: Colors.h:177
SDL_Color Green
Definition: Colors.h:95
SDL_Color Wheat
Definition: Colors.h:184
SDL_Color Coral
Definition: Colors.h:56
SDL_Color Tomato
Definition: Colors.h:180
SDL_Color MintCream
Definition: Colors.h:137
SDL_Color Navy
Definition: Colors.h:141
SDL_Color NavajoWhite
Definition: Colors.h:140
SDL_Color LightSlateGray
Definition: Colors.h:118
SDL_Color Snow
Definition: Colors.h:174
SDL_Color Gainsboro
Definition: Colors.h:89
SDL_Color PaleTurquoise
Definition: Colors.h:150
SDL_Color Lavender
Definition: Colors.h:103
SDL_Color RosyBrown
Definition: Colors.h:161
SDL_Color DeepSkyBlue
Definition: Colors.h:81
SDL_Color Maroon
Definition: Colors.h:126
SDL_Color LightPink
Definition: Colors.h:114
SDL_Color CadetBlue
Definition: Colors.h:52
SDL_Color RebeccaPurple
Definition: Colors.h:159
SDL_Color DarkSeaGreen
Definition: Colors.h:74
SDL_Color DarkGray
Definition: Colors.h:64
SDL_Color Cornsilk
Definition: Colors.h:58
SDL_Color RoyalBlue
Definition: Colors.h:162
SDL_Color LightSkyBlue
Definition: Colors.h:117
SDL_Color Ivory
Definition: Colors.h:101
SDL_Color Cyan
Definition: Colors.h:60
SDL_Color DodgerBlue
Definition: Colors.h:84
SDL_Color PeachPuff
Definition: Colors.h:153
SDL_Color DarkGrey
Definition: Colors.h:65
SDL_Color Linen
Definition: Colors.h:124
SDL_Color Salmon
Definition: Colors.h:164
SDL_Color DarkSlateGray
Definition: Colors.h:76
SDL_Color GreenYellow
Definition: Colors.h:96
SDL_Color DarkKhaki
Definition: Colors.h:67
SDL_Color LightSlateGrey
Definition: Colors.h:119
SDL_Color Charcoal
Definition: Colors.h:53
SDL_Color Yellow
Definition: Colors.h:187
SDL_Color Blue
Definition: Colors.h:48
SDL_Color MediumOrchid
Definition: Colors.h:129
SDL_Color DimGrey
Definition: Colors.h:83
SDL_Color PaleGoldenRod
Definition: Colors.h:148
SDL_Color Violet
Definition: Colors.h:183
SDL_Color GhostWhite
Definition: Colors.h:90
SDL_Color Sienna
Definition: Colors.h:168
SDL_Color DarkSlateGrey
Definition: Colors.h:77
SDL_Color GoldenRod
Definition: Colors.h:92
SDL_Color LightGreen
Definition: Colors.h:113
SDL_Color SaddleBrown
Definition: Colors.h:163
SDL_Color CornflowerBlue
Definition: Colors.h:57
SDL_Color Chartreuse
Definition: Colors.h:54
SDL_Color FireBrick
Definition: Colors.h:85
SDL_Color Transparent
Definition: Colors.h:181
SDL_Color LawnGreen
Definition: Colors.h:105
SDL_Color Indigo
Definition: Colors.h:100
SDL_Color MediumTurquoise
Definition: Colors.h:134
SDL_Color Olive
Definition: Colors.h:143
SDL_Color MediumSpringGreen
Definition: Colors.h:133
SDL_Color Purple
Definition: Colors.h:158
SDL_Color DarkSalmon
Definition: Colors.h:73
SDL_Color DeepPink
Definition: Colors.h:80
SDL_Color OliveDrab
Definition: Colors.h:144
SDL_Color LightCoral
Definition: Colors.h:108
SDL_Color LightGray
Definition: Colors.h:111
SDL_Color Black
Definition: Colors.h:46
SDL_Color Orange
Definition: Colors.h:145
SDL_Color SeaShell
Definition: Colors.h:167
SDL_Color Peru
Definition: Colors.h:154
SDL_Color LightSeaGreen
Definition: Colors.h:116
SDL_Color MediumVioletRed
Definition: Colors.h:135
SDL_Color SpringGreen
Definition: Colors.h:175
SDL_Color PapayaWhip
Definition: Colors.h:152
SDL_Color LightGoldenRodYellow
Definition: Colors.h:110
SDL_Color Aqua
Definition: Colors.h:41
SDL_Color DarkSlateBlue
Definition: Colors.h:75
SDL_Color Beige
Definition: Colors.h:44
SDL_Color MediumPurple
Definition: Colors.h:130
SDL_Color LightYellow
Definition: Colors.h:121
SDL_Color DarkOliveGreen
Definition: Colors.h:69
SDL_Color HotPink
Definition: Colors.h:98
SDL_Color LimeGreen
Definition: Colors.h:123
SDL_Color MediumSeaGreen
Definition: Colors.h:131
SDL_Color Gray
Definition: Colors.h:93
SDL_Color PaleVioletRed
Definition: Colors.h:151
SDL_Color SandyBrown
Definition: Colors.h:165
SDL_Color DarkOrchid
Definition: Colors.h:71
SDL_Color AntiqueWhite
Definition: Colors.h:40
SDL_Color Silver
Definition: Colors.h:169
SDL_Color Teal
Definition: Colors.h:178
SDL_Color DarkGreen
Definition: Colors.h:66
SDL_Color BlueViolet
Definition: Colors.h:49
SDL_Color OldLace
Definition: Colors.h:142
SDL_Color Khaki
Definition: Colors.h:102
SDL_Color Chocolate
Definition: Colors.h:55
SDL_Color Moccasin
Definition: Colors.h:139
SDL_Color IndianRed
Definition: Colors.h:99
SDL_Color MediumAquaMarine
Definition: Colors.h:127
SDL_Color LemonChiffon
Definition: Colors.h:106
SDL_Color HoneyDew
Definition: Colors.h:97
SDL_Color Orchid
Definition: Colors.h:147
SDL_Color Bisque
Definition: Colors.h:45
SDL_Color LightCyan
Definition: Colors.h:109
SDL_Color YellowGreen
Definition: Colors.h:188
SDL_Color PaleGreen
Definition: Colors.h:149
SDL_Color OrangeRed
Definition: Colors.h:146
SDL_Color BurlyWood
Definition: Colors.h:51
SDL_Color DarkMagenta
Definition: Colors.h:68
SDL_Color SeaGreen
Definition: Colors.h:166
SDL_Color DarkBlue
Definition: Colors.h:61
SDL_Color Grey
Definition: Colors.h:94
SDL_Color MistyRose
Definition: Colors.h:138
SDL_Color SkyBlue
Definition: Colors.h:170
SDL_Color Red
Definition: Colors.h:160

◆ MVC_HexToRGBA()

SDL_Color MVC_HexToRGBA ( const char *  hex)
related

Definition at line 638 of file Colors.c.

638 {
639 static char buffer[9];
640
641 union {
642 SDL_Color c;
643 unsigned int u;
644 } color;
645
646 color.u = 0;
647
648 const size_t length = strlen(hex);
649 if (length != 6 && length != 8) {
650 return color.c;
651 }
652
653 strcpy(buffer, hex);
654
655 if (length == 6) {
656 strcat(buffer, "ff");
657 }
658
659 if (sscanf(buffer, "%x", &color.u) != 1) {
660 return color.c;
661 }
662
663#if SDL_BYTEORDER == SDL_LIL_ENDIAN
664 color.u = (((color.u & 0xff000000) >> 24) | ((color.u & 0x00ff0000) >> 8) | ((color.u & 0x0000ff00) << 8) | ((color.u & 0x000000ff) << 24));
665#endif
666
667 return color.c;
668}

◆ MVC_HSVToRGB()

SDL_Color MVC_HSVToRGB ( double  hue,
double  saturation,
double  value 
)
related

Definition at line 684 of file Colors.c.

684 {
685
686 SDL_Color color = { .a = 255 };
687
688 const double h = fabs(fmod(hue, 360.0)) / 60.0;
689 const int i = (int) h;
690 const double f = h - i;
691 const double v = value * 255;
692 const double p = v * (1.0 - saturation);
693 const double q = v * (1.0 - (saturation * f));
694 const double t = v * (1.0 - (saturation * (1.0 - f)));
695
696 switch (i) {
697 case 0:
698 color.r = v;
699 color.g = t;
700 color.b = p;
701 break;
702 case 1:
703 color.r = q;
704 color.g = v;
705 color.b = p;
706 break;
707 case 2:
708 color.r = p;
709 color.g = v;
710 color.b = t;
711 break;
712 case 3:
713 color.r = p;
714 color.g = q;
715 color.b = v;
716 break;
717 case 4:
718 color.r = t;
719 color.g = p;
720 color.b = v;
721 break;
722 default:
723 color.r = v;
724 color.g = p;
725 color.b = q;
726 break;
727 }
728
729 return color;
730}

◆ MVC_RGBAToHex()

char * MVC_RGBAToHex ( const SDL_Color *  color)
related

Definition at line 674 of file Colors.c.

674 {
675 static char hex[9];
676
677 assert(color);
678
679 snprintf(hex, sizeof(hex), "%02x%02x%02x%02x", color->r, color->g, color->b, color->a);
680
681 return hex;
682}

◆ MVC_RGBToHex()

char * MVC_RGBToHex ( const SDL_Color *  color)
related

Definition at line 670 of file Colors.c.

670 {
671 return MVC_RGBAToHex(&(const SDL_Color) { .r = color->r, .g = color->g, .b = color->b, .a = 255 });
672}
OBJECTIVELYMVC_EXPORT char * MVC_RGBAToHex(const SDL_Color *color)
Definition: Colors.c:674

◆ MVC_RGBToHSV()

void MVC_RGBToHSV ( const SDL_Color *  color,
double *  hue,
double *  saturation,
double *  value 
)
related

Definition at line 732 of file Colors.c.

732 {
733
734 assert(color);
735
736 const double r = color->r / 255.0;
737 const double g = color->g / 255.0;
738 const double b = color->b / 255.0;
739
740 const double rgbMax = max(max(r, g), b);
741 const double rgbMin = min(min(r, g), b);
742 const double rgbDelta = rgbMax - rgbMin;
743
744 if (rgbDelta > 0.0) {
745
746 if (hue) {
747 if (rgbMax == r) {
748 *hue = 60.0 * fmod(((g - b) / rgbDelta), 6.0);
749 } else if (rgbMax == g) {
750 *hue = 60.0 * (((b - r) / rgbDelta) + 2.0);
751 } else if (rgbMax == b) {
752 *hue = 60.0 * (((r - g) / rgbDelta) + 4.0);
753 }
754
755 while (*hue < 0.0) {
756 *hue += 360.0;
757 }
758 }
759
760 if (saturation) {
761 if (rgbMax > 0.0) {
762 *saturation = rgbDelta / rgbMax;
763 } else {
764 *saturation = 0.0;
765 }
766 }
767
768 if (value) {
769 *value = rgbMax;
770 }
771
772 } else {
773 if (hue) {
774 *hue = 0.0;
775 }
776
777 if (saturation) {
778 *saturation = 0.0;
779 }
780
781 if (value) {
782 *value = rgbMax;
783 }
784 }
785}

Variable Documentation

◆ Colors

const struct Colors Colors

Definition at line 27 of file Colors.c.