1 // The MIT License (MIT) 2 // 3 // Copyright (c) 2015 Sergey Makeev, Vadim Slyusarev 4 // 5 // Permission is hereby granted, free of charge, to any person obtaining a copy 6 // of this software and associated documentation files (the "Software"), to deal 7 // in the Software without restriction, including without limitation the rights 8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 // copies of the Software, and to permit persons to whom the Software is 10 // furnished to do so, subject to the following conditions: 11 // 12 // The above copyright notice and this permission notice shall be included in 13 // all copies or substantial portions of the Software. 14 // 15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 // THE SOFTWARE. 22 23 #pragma once 24 25 #include <MTTypes.h> 26 27 namespace MT 28 { 29 30 // Source: http://msdn.microsoft.com/en-us/library/system.windows.media.colors(v=vs.110).aspx 31 // Image: http://i.msdn.microsoft.com/dynimg/IC24340.png 32 // Format: ARGB 33 namespace Color 34 { 35 enum Type 36 { 37 Null = 0x00000000, 38 AliceBlue = 0xFFF0F8FF, 39 AntiqueWhite = 0xFFFAEBD7, 40 Aqua = 0xFF00FFFF, 41 Aquamarine = 0xFF7FFFD4, 42 Azure = 0xFFF0FFFF, 43 Beige = 0xFFF5F5DC, 44 Bisque = 0xFFFFE4C4, 45 Black = 0xFF000000, 46 BlanchedAlmond = 0xFFFFEBCD, 47 Blue = 0xFF0000FF, 48 BlueViolet = 0xFF8A2BE2, 49 Brown = 0xFFA52A2A, 50 BurlyWood = 0xFFDEB887, 51 CadetBlue = 0xFF5F9EA0, 52 Chartreuse = 0xFF7FFF00, 53 Chocolate = 0xFFD2691E, 54 Coral = 0xFFFF7F50, 55 CornflowerBlue = 0xFF6495ED, 56 Cornsilk = 0xFFFFF8DC, 57 Crimson = 0xFFDC143C, 58 Cyan = 0xFF00FFFF, 59 DarkBlue = 0xFF00008B, 60 DarkCyan = 0xFF008B8B, 61 DarkGoldenRod = 0xFFB8860B, 62 DarkGray = 0xFFA9A9A9, 63 DarkGreen = 0xFF006400, 64 DarkKhaki = 0xFFBDB76B, 65 DarkMagenta = 0xFF8B008B, 66 DarkOliveGreen = 0xFF556B2F, 67 DarkOrange = 0xFFFF8C00, 68 DarkOrchid = 0xFF9932CC, 69 DarkRed = 0xFF8B0000, 70 DarkSalmon = 0xFFE9967A, 71 DarkSeaGreen = 0xFF8FBC8F, 72 DarkSlateBlue = 0xFF483D8B, 73 DarkSlateGray = 0xFF2F4F4F, 74 DarkTurquoise = 0xFF00CED1, 75 DarkViolet = 0xFF9400D3, 76 DeepPink = 0xFFFF1493, 77 DeepSkyBlue = 0xFF00BFFF, 78 DimGray = 0xFF696969, 79 DodgerBlue = 0xFF1E90FF, 80 FireBrick = 0xFFB22222, 81 FloralWhite = 0xFFFFFAF0, 82 ForestGreen = 0xFF228B22, 83 Fuchsia = 0xFFFF00FF, 84 Gainsboro = 0xFFDCDCDC, 85 GhostWhite = 0xFFF8F8FF, 86 Gold = 0xFFFFD700, 87 GoldenRod = 0xFFDAA520, 88 Gray = 0xFF808080, 89 Green = 0xFF008000, 90 GreenYellow = 0xFFADFF2F, 91 HoneyDew = 0xFFF0FFF0, 92 HotPink = 0xFFFF69B4, 93 IndianRed = 0xFFCD5C5C, 94 Indigo = 0xFF4B0082, 95 Ivory = 0xFFFFFFF0, 96 Khaki = 0xFFF0E68C, 97 Lavender = 0xFFE6E6FA, 98 LavenderBlush = 0xFFFFF0F5, 99 LawnGreen = 0xFF7CFC00, 100 LemonChiffon = 0xFFFFFACD, 101 LightBlue = 0xFFADD8E6, 102 LightCoral = 0xFFF08080, 103 LightCyan = 0xFFE0FFFF, 104 LightGoldenRodYellow = 0xFFFAFAD2, 105 LightGray = 0xFFD3D3D3, 106 LightGreen = 0xFF90EE90, 107 LightPink = 0xFFFFB6C1, 108 LightSalmon = 0xFFFFA07A, 109 LightSeaGreen = 0xFF20B2AA, 110 LightSkyBlue = 0xFF87CEFA, 111 LightSlateGray = 0xFF778899, 112 LightSteelBlue = 0xFFB0C4DE, 113 LightYellow = 0xFFFFFFE0, 114 Lime = 0xFF00FF00, 115 LimeGreen = 0xFF32CD32, 116 Linen = 0xFFFAF0E6, 117 Magenta = 0xFFFF00FF, 118 Maroon = 0xFF800000, 119 MediumAquaMarine = 0xFF66CDAA, 120 MediumBlue = 0xFF0000CD, 121 MediumOrchid = 0xFFBA55D3, 122 MediumPurple = 0xFF9370DB, 123 MediumSeaGreen = 0xFF3CB371, 124 MediumSlateBlue = 0xFF7B68EE, 125 MediumSpringGreen = 0xFF00FA9A, 126 MediumTurquoise = 0xFF48D1CC, 127 MediumVioletRed = 0xFFC71585, 128 MidnightBlue = 0xFF191970, 129 MintCream = 0xFFF5FFFA, 130 MistyRose = 0xFFFFE4E1, 131 Moccasin = 0xFFFFE4B5, 132 NavajoWhite = 0xFFFFDEAD, 133 Navy = 0xFF000080, 134 OldLace = 0xFFFDF5E6, 135 Olive = 0xFF808000, 136 OliveDrab = 0xFF6B8E23, 137 Orange = 0xFFFFA500, 138 OrangeRed = 0xFFFF4500, 139 Orchid = 0xFFDA70D6, 140 PaleGoldenRod = 0xFFEEE8AA, 141 PaleGreen = 0xFF98FB98, 142 PaleTurquoise = 0xFFAFEEEE, 143 PaleVioletRed = 0xFFDB7093, 144 PapayaWhip = 0xFFFFEFD5, 145 PeachPuff = 0xFFFFDAB9, 146 Peru = 0xFFCD853F, 147 Pink = 0xFFFFC0CB, 148 Plum = 0xFFDDA0DD, 149 PowderBlue = 0xFFB0E0E6, 150 Purple = 0xFF800080, 151 Red = 0xFFFF0000, 152 RosyBrown = 0xFFBC8F8F, 153 RoyalBlue = 0xFF4169E1, 154 SaddleBrown = 0xFF8B4513, 155 Salmon = 0xFFFA8072, 156 SandyBrown = 0xFFF4A460, 157 SeaGreen = 0xFF2E8B57, 158 SeaShell = 0xFFFFF5EE, 159 Sienna = 0xFFA0522D, 160 Silver = 0xFFC0C0C0, 161 SkyBlue = 0xFF87CEEB, 162 SlateBlue = 0xFF6A5ACD, 163 SlateGray = 0xFF708090, 164 Snow = 0xFFFFFAFA, 165 SpringGreen = 0xFF00FF7F, 166 SteelBlue = 0xFF4682B4, 167 Tan = 0xFFD2B48C, 168 Teal = 0xFF008080, 169 Thistle = 0xFFD8BFD8, 170 Tomato = 0xFFFF6347, 171 Turquoise = 0xFF40E0D0, 172 Violet = 0xFFEE82EE, 173 Wheat = 0xFFF5DEB3, 174 White = 0xFFFFFFFF, 175 WhiteSmoke = 0xFFF5F5F5, 176 Yellow = 0xFFFFFF00, 177 YellowGreen = 0xFF9ACD32, 178 }; 179 180 inline uint32 ConvertToABGR(Color::Type _color) 181 { 182 uint32 color = _color; 183 184 uint8 r = (color >> 16) & 0xFF; 185 uint8 b = (color) & 0xFF; 186 187 uint32 result = (color & 0xFF00FF00); 188 result |= r; 189 result |= (b << 16); 190 191 return result; 192 } 193 194 } 195 196 }