Completed
Push — master ( 2d6133...3d91bc )
by Nicholas
02:22
created

x11   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 170
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 0
dl 0
loc 170
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A get() 0 7 2
1
<?php
2
/**
3
 * X11 Data Class
4
 * ================
5
 * Stores data for importing X11 colors.
6
 */
7
8
namespace projectcleverweb\color\data;
9
10
/**
11
 * X11 Data Class
12
 * ================
13
 * Stores data for importing X11 colors.
14
 */
15
class x11 {
16
	
17
	/**
18
	 * Array mapping of all the X11 colors to RGB
19
	 * @var array
20
	 */
21
	public static $map = array(
22
		'aliceblue'            => array('r' => 240, 'g' => 248, 'b' => 255),
23
		'antiquewhite'         => array('r' => 250, 'g' => 235, 'b' => 215),
24
		'aqua'                 => array('r' => 0, 'g' => 255, 'b' => 255),
25
		'aquamarine'           => array('r' => 127, 'g' => 255, 'b' => 212),
26
		'azure'                => array('r' => 240, 'g' => 255, 'b' => 255),
27
		'beige'                => array('r' => 245, 'g' => 245, 'b' => 220),
28
		'bisque'               => array('r' => 255, 'g' => 228, 'b' => 196),
29
		'black'                => array('r' => 0, 'g' => 0, 'b' => 0),
30
		'blanchedalmond'       => array('r' => 255, 'g' => 235, 'b' => 205),
31
		'blue'                 => array('r' => 0, 'g' => 0, 'b' => 255),
32
		'blueviolet'           => array('r' => 138, 'g' => 43, 'b' => 226),
33
		'brown'                => array('r' => 165, 'g' => 42, 'b' => 42),
34
		'burlywood'            => array('r' => 222, 'g' => 184, 'b' => 135),
35
		'cadetblue'            => array('r' => 95, 'g' => 158, 'b' => 160),
36
		'chartreuse'           => array('r' => 127, 'g' => 255, 'b' => 0),
37
		'chocolate'            => array('r' => 210, 'g' => 105, 'b' => 30),
38
		'coral'                => array('r' => 255, 'g' => 127, 'b' => 80),
39
		'cornflowerblue'       => array('r' => 100, 'g' => 149, 'b' => 237),
40
		'cornsilk'             => array('r' => 255, 'g' => 248, 'b' => 220),
41
		'crimson'              => array('r' => 220, 'g' => 20, 'b' => 60),
42
		'cyan'                 => array('r' => 0, 'g' => 255, 'b' => 255),
43
		'darkblue'             => array('r' => 0, 'g' => 0, 'b' => 139),
44
		'darkcyan'             => array('r' => 0, 'g' => 139, 'b' => 139),
45
		'darkgoldenrod'        => array('r' => 184, 'g' => 134, 'b' => 11),
46
		'darkgray'             => array('r' => 169, 'g' => 169, 'b' => 169),
47
		'darkgreen'            => array('r' => 0, 'g' => 100, 'b' => 0),
48
		'darkgrey'             => array('r' => 169, 'g' => 169, 'b' => 169),
49
		'darkkhaki'            => array('r' => 189, 'g' => 183, 'b' => 107),
50
		'darkmagenta'          => array('r' => 139, 'g' => 0, 'b' => 139),
51
		'darkolivegreen'       => array('r' => 85, 'g' => 107, 'b' => 47),
52
		'darkorange'           => array('r' => 255, 'g' => 140, 'b' => 0),
53
		'darkorchid'           => array('r' => 153, 'g' => 50, 'b' => 204),
54
		'darkred'              => array('r' => 139, 'g' => 0, 'b' => 0),
55
		'darksalmon'           => array('r' => 233, 'g' => 150, 'b' => 122),
56
		'darkseagreen'         => array('r' => 143, 'g' => 188, 'b' => 143),
57
		'darkslateblue'        => array('r' => 72, 'g' => 61, 'b' => 139),
58
		'darkslategray'        => array('r' => 47, 'g' => 79, 'b' => 79),
59
		'darkslategrey'        => array('r' => 47, 'g' => 79, 'b' => 79),
60
		'darkturquoise'        => array('r' => 0, 'g' => 206, 'b' => 209),
61
		'darkviolet'           => array('r' => 148, 'g' => 0, 'b' => 211),
62
		'deeppink'             => array('r' => 255, 'g' => 20, 'b' => 147),
63
		'deepskyblue'          => array('r' => 0, 'g' => 191, 'b' => 255),
64
		'dimgray'              => array('r' => 105, 'g' => 105, 'b' => 105),
65
		'dimgrey'              => array('r' => 105, 'g' => 105, 'b' => 105),
66
		'dodgerblue'           => array('r' => 30, 'g' => 144, 'b' => 255),
67
		'firebrick'            => array('r' => 178, 'g' => 34, 'b' => 34),
68
		'floralwhite'          => array('r' => 255, 'g' => 250, 'b' => 240),
69
		'forestgreen'          => array('r' => 34, 'g' => 139, 'b' => 34),
70
		'fuchsia'              => array('r' => 255, 'g' => 0, 'b' => 255),
71
		'gainsboro'            => array('r' => 220, 'g' => 220, 'b' => 220),
72
		'ghostwhite'           => array('r' => 248, 'g' => 248, 'b' => 255),
73
		'gold'                 => array('r' => 255, 'g' => 215, 'b' => 0),
74
		'goldenrod'            => array('r' => 218, 'g' => 165, 'b' => 32),
75
		'gray'                 => array('r' => 128, 'g' => 128, 'b' => 128),
76
		'green'                => array('r' => 0, 'g' => 128, 'b' => 0),
77
		'greenyellow'          => array('r' => 173, 'g' => 255, 'b' => 47),
78
		'grey'                 => array('r' => 128, 'g' => 128, 'b' => 128),
79
		'honeydew'             => array('r' => 240, 'g' => 255, 'b' => 240),
80
		'hotpink'              => array('r' => 255, 'g' => 105, 'b' => 180),
81
		'indianred'            => array('r' => 205, 'g' => 92, 'b' => 92),
82
		'indigo'               => array('r' => 75, 'g' => 0, 'b' => 130),
83
		'ivory'                => array('r' => 255, 'g' => 255, 'b' => 240),
84
		'khaki'                => array('r' => 240, 'g' => 230, 'b' => 140),
85
		'lavender'             => array('r' => 230, 'g' => 230, 'b' => 250),
86
		'lavenderblush'        => array('r' => 255, 'g' => 240, 'b' => 245),
87
		'lawngreen'            => array('r' => 124, 'g' => 252, 'b' => 0),
88
		'lemonchiffon'         => array('r' => 255, 'g' => 250, 'b' => 205),
89
		'lightblue'            => array('r' => 173, 'g' => 216, 'b' => 230),
90
		'lightcoral'           => array('r' => 240, 'g' => 128, 'b' => 128),
91
		'lightcyan'            => array('r' => 224, 'g' => 255, 'b' => 255),
92
		'lightgoldenrodyellow' => array('r' => 250, 'g' => 250, 'b' => 210),
93
		'lightgray'            => array('r' => 211, 'g' => 211, 'b' => 211),
94
		'lightgreen'           => array('r' => 144, 'g' => 238, 'b' => 144),
95
		'lightgrey'            => array('r' => 211, 'g' => 211, 'b' => 211),
96
		'lightpink'            => array('r' => 255, 'g' => 182, 'b' => 193),
97
		'lightsalmon'          => array('r' => 255, 'g' => 160, 'b' => 122),
98
		'lightseagreen'        => array('r' => 32, 'g' => 178, 'b' => 170),
99
		'lightskyblue'         => array('r' => 135, 'g' => 206, 'b' => 250),
100
		'lightslategray'       => array('r' => 119, 'g' => 136, 'b' => 153),
101
		'lightslategrey'       => array('r' => 119, 'g' => 136, 'b' => 153),
102
		'lightsteelblue'       => array('r' => 176, 'g' => 196, 'b' => 222),
103
		'lightyellow'          => array('r' => 255, 'g' => 255, 'b' => 224),
104
		'lime'                 => array('r' => 0, 'g' => 255, 'b' => 0),
105
		'limegreen'            => array('r' => 50, 'g' => 205, 'b' => 50),
106
		'linen'                => array('r' => 250, 'g' => 240, 'b' => 230),
107
		'magenta'              => array('r' => 255, 'g' => 0, 'b' => 255),
108
		'maroon'               => array('r' => 128, 'g' => 0, 'b' => 0),
109
		'mediumaquamarine'     => array('r' => 102, 'g' => 205, 'b' => 170),
110
		'mediumblue'           => array('r' => 0, 'g' => 0, 'b' => 205),
111
		'mediumorchid'         => array('r' => 186, 'g' => 85, 'b' => 211),
112
		'mediumpurple'         => array('r' => 147, 'g' => 112, 'b' => 219),
113
		'mediumseagreen'       => array('r' => 60, 'g' => 179, 'b' => 113),
114
		'mediumslateblue'      => array('r' => 123, 'g' => 104, 'b' => 238),
115
		'mediumspringgreen'    => array('r' => 0, 'g' => 250, 'b' => 154),
116
		'mediumturquoise'      => array('r' => 72, 'g' => 209, 'b' => 204),
117
		'mediumvioletred'      => array('r' => 199, 'g' => 21, 'b' => 133),
118
		'midnightblue'         => array('r' => 25, 'g' => 25, 'b' => 112),
119
		'mintcream'            => array('r' => 245, 'g' => 255, 'b' => 250),
120
		'mistyrose'            => array('r' => 255, 'g' => 228, 'b' => 225),
121
		'moccasin'             => array('r' => 255, 'g' => 228, 'b' => 181),
122
		'navajowhite'          => array('r' => 255, 'g' => 222, 'b' => 173),
123
		'navy'                 => array('r' => 0, 'g' => 0, 'b' => 128),
124
		'oldlace'              => array('r' => 253, 'g' => 245, 'b' => 230),
125
		'olive'                => array('r' => 128, 'g' => 128, 'b' => 0),
126
		'olivedrab'            => array('r' => 107, 'g' => 142, 'b' => 35),
127
		'orange'               => array('r' => 255, 'g' => 165, 'b' => 0),
128
		'orangered'            => array('r' => 255, 'g' => 69, 'b' => 0),
129
		'orchid'               => array('r' => 218, 'g' => 112, 'b' => 214),
130
		'palegoldenrod'        => array('r' => 238, 'g' => 232, 'b' => 170),
131
		'palegreen'            => array('r' => 152, 'g' => 251, 'b' => 152),
132
		'paleturquoise'        => array('r' => 175, 'g' => 238, 'b' => 238),
133
		'palevioletred'        => array('r' => 219, 'g' => 112, 'b' => 147),
134
		'papayawhip'           => array('r' => 255, 'g' => 239, 'b' => 213),
135
		'peachpuff'            => array('r' => 255, 'g' => 218, 'b' => 185),
136
		'peru'                 => array('r' => 205, 'g' => 133, 'b' => 63),
137
		'pink'                 => array('r' => 255, 'g' => 192, 'b' => 203),
138
		'plum'                 => array('r' => 221, 'g' => 160, 'b' => 221),
139
		'powderblue'           => array('r' => 176, 'g' => 224, 'b' => 230),
140
		'purple'               => array('r' => 128, 'g' => 0, 'b' => 128),
141
		'red'                  => array('r' => 255, 'g' => 0, 'b' => 0),
142
		'rosybrown'            => array('r' => 188, 'g' => 143, 'b' => 143),
143
		'royalblue'            => array('r' => 65, 'g' => 105, 'b' => 225),
144
		'saddlebrown'          => array('r' => 139, 'g' => 69, 'b' => 19),
145
		'salmon'               => array('r' => 250, 'g' => 128, 'b' => 114),
146
		'sandybrown'           => array('r' => 244, 'g' => 164, 'b' => 96),
147
		'seagreen'             => array('r' => 46, 'g' => 139, 'b' => 87),
148
		'seashell'             => array('r' => 255, 'g' => 245, 'b' => 238),
149
		'sienna'               => array('r' => 160, 'g' => 82, 'b' => 45),
150
		'silver'               => array('r' => 192, 'g' => 192, 'b' => 192),
151
		'skyblue'              => array('r' => 135, 'g' => 206, 'b' => 235),
152
		'slateblue'            => array('r' => 106, 'g' => 90, 'b' => 205),
153
		'slategray'            => array('r' => 112, 'g' => 128, 'b' => 144),
154
		'slategrey'            => array('r' => 112, 'g' => 128, 'b' => 144),
155
		'snow'                 => array('r' => 255, 'g' => 250, 'b' => 250),
156
		'springgreen'          => array('r' => 0, 'g' => 255, 'b' => 127),
157
		'steelblue'            => array('r' => 70, 'g' => 130, 'b' => 180),
158
		'tan'                  => array('r' => 210, 'g' => 180, 'b' => 140),
159
		'teal'                 => array('r' => 0, 'g' => 128, 'b' => 128),
160
		'thistle'              => array('r' => 216, 'g' => 191, 'b' => 216),
161
		'tomato'               => array('r' => 255, 'g' => 99, 'b' => 71),
162
		'turquoise'            => array('r' => 64, 'g' => 224, 'b' => 208),
163
		'violet'               => array('r' => 238, 'g' => 130, 'b' => 238),
164
		'wheat'                => array('r' => 245, 'g' => 222, 'b' => 179),
165
		'white'                => array('r' => 255, 'g' => 255, 'b' => 255),
166
		'whitesmoke'           => array('r' => 245, 'g' => 245, 'b' => 245),
167
		'yellow'               => array('r' => 255, 'g' => 255, 'b' => 0),
168
		'yellowgreen'          => array('r' => 154, 'g' => 205, 'b' => 50)
169
	);
170
	
171
	/**
172
	 * Gets a X11 color as RGB if it exists, otherwise returns FALSE.
173
	 * 
174
	 * @param  string     $color The color name to search for
175
	 * @return array|bool        Returns a RGB color array if it exists, FALSE otherwise.
176
	 */
177
	public static function get(string $color) {
178
		$color = strtolower(trim($color));
179
		if (isset(static::$map[$color])) {
180
			return static::$map[$color];
181
		}
182
		return FALSE;
183
	}
184
}
185