Line data Source code
1 : /*******************************************************************************
2 : * Project: libopencad
3 : * Purpose: OpenSource CAD formats support library
4 : * Author: Dmitry Baryshnikov, bishop.dev@gmail.com
5 : * Language: C++
6 : *******************************************************************************
7 : * The MIT License (MIT)
8 : *
9 : * Copyright (c) 2016 NextGIS, <info@nextgis.com>
10 : *
11 : * Permission is hereby granted, free of charge, to any person obtaining a copy
12 : * of this software and associated documentation files (the "Software"), to deal
13 : * in the Software without restriction, including without limitation the rights
14 : * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 : * copies of the Software, and to permit persons to whom the Software is
16 : * furnished to do so, subject to the following conditions:
17 : *
18 : * The above copyright notice and this permission notice shall be included in all
19 : * copies or substantial portions of the Software.
20 : *
21 : * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 : * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 : * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 : * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 : * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26 : * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27 : * SOFTWARE.
28 : *******************************************************************************/
29 : #include "cadcolors.h"
30 :
31 : const RGBColor CADACIColors[]
32 : {
33 : { 0, 0, 0 },
34 : { 255, 0, 0 },
35 : { 255, 255, 0 },
36 : { 0, 255, 0 },
37 : { 0, 255, 255 },
38 : { 0, 0, 255 },
39 : { 255, 0, 255 },
40 : { 255, 255, 255 },
41 : { 65, 65, 65 },
42 : { 128, 128, 128 },
43 : { 255, 0, 0 },
44 : { 255, 170, 170 },
45 : { 189, 0, 0 },
46 : { 189, 126, 126 },
47 : { 129, 0, 0 },
48 : { 129, 86, 86 },
49 : { 104, 0, 0 },
50 : { 104, 69, 69 },
51 : { 79, 0, 0 },
52 : { 79, 53, 53 },
53 : { 255, 63, 0 },
54 : { 255, 191, 170 },
55 : { 189, 46, 0 },
56 : { 189, 141, 126 },
57 : { 129, 31, 0 },
58 : { 129, 96, 86 },
59 : { 104, 25, 0 },
60 : { 104, 78, 69 },
61 : { 79, 19, 0 },
62 : { 79, 59, 53 },
63 : { 255, 127, 0 },
64 : { 255, 212, 170 },
65 : { 189, 94, 0 },
66 : { 189, 157, 126 },
67 : { 129, 64, 0 },
68 : { 129, 107, 86 },
69 : { 104, 52, 0 },
70 : { 104, 86, 69 },
71 : { 79, 39, 0 },
72 : { 79, 66, 53 },
73 : { 255, 191, 0 },
74 : { 255, 234, 170 },
75 : { 189, 141, 0 },
76 : { 189, 173, 126 },
77 : { 129, 96, 0 },
78 : { 129, 118, 86 },
79 : { 104, 78, 0 },
80 : { 104, 95, 69 },
81 : { 79, 59, 0 },
82 : { 79, 73, 53 },
83 : { 255, 255, 0 },
84 : { 255, 255, 170 },
85 : { 189, 189, 0 },
86 : { 189, 189, 126 },
87 : { 129, 129, 0 },
88 : { 129, 129, 86 },
89 : { 104, 104, 0 },
90 : { 104, 104, 69 },
91 : { 79, 79, 0 },
92 : { 79, 79, 53 },
93 : { 191, 255, 0 },
94 : { 234, 255, 170 },
95 : { 141, 189, 0 },
96 : { 173, 189, 126 },
97 : { 96, 129, 0 },
98 : { 118, 129, 86 },
99 : { 78, 104, 0 },
100 : { 95, 104, 69 },
101 : { 59, 79, 0 },
102 : { 73, 79, 53 },
103 : { 127, 255, 0 },
104 : { 212, 255, 170 },
105 : { 94, 189, 0 },
106 : { 157, 189, 126 },
107 : { 64, 129, 0 },
108 : { 107, 129, 86 },
109 : { 52, 104, 0 },
110 : { 86, 104, 69 },
111 : { 39, 79, 0 },
112 : { 66, 79, 53 },
113 : { 63, 255, 0 },
114 : { 191, 255, 170 },
115 : { 46, 189, 0 },
116 : { 141, 189, 126 },
117 : { 31, 129, 0 },
118 : { 96, 129, 86 },
119 : { 25, 104, 0 },
120 : { 78, 104, 69 },
121 : { 19, 79, 0 },
122 : { 59, 79, 53 },
123 : { 0, 255, 0 },
124 : { 170, 255, 170 },
125 : { 0, 189, 0 },
126 : { 126, 189, 126 },
127 : { 0, 129, 0 },
128 : { 86, 129, 86 },
129 : { 0, 104, 0 },
130 : { 69, 104, 69 },
131 : { 0, 79, 0 },
132 : { 53, 79, 53 },
133 : { 0, 255, 63 },
134 : { 170, 255, 191 },
135 : { 0, 189, 46 },
136 : { 126, 189, 141 },
137 : { 0, 129, 31 },
138 : { 86, 129, 96 },
139 : { 0, 104, 25 },
140 : { 69, 104, 78 },
141 : { 0, 79, 19 },
142 : { 53, 79, 59 },
143 : { 0, 255, 127 },
144 : { 170, 255, 212 },
145 : { 0, 189, 94 },
146 : { 126, 189, 157 },
147 : { 0, 129, 64 },
148 : { 86, 129, 107 },
149 : { 0, 104, 52 },
150 : { 69, 104, 86 },
151 : { 0, 79, 39 },
152 : { 53, 79, 66 },
153 : { 0, 255, 191 },
154 : { 170, 255, 234 },
155 : { 0, 189, 141 },
156 : { 126, 189, 173 },
157 : { 0, 129, 96 },
158 : { 86, 129, 118 },
159 : { 0, 104, 78 },
160 : { 69, 104, 95 },
161 : { 0, 79, 59 },
162 : { 53, 79, 73 },
163 : { 0, 255, 255 },
164 : { 170, 255, 255 },
165 : { 0, 189, 189 },
166 : { 126, 189, 189 },
167 : { 0, 129, 129 },
168 : { 86, 129, 129 },
169 : { 0, 104, 104 },
170 : { 69, 104, 104 },
171 : { 0, 79, 79 },
172 : { 53, 79, 79 },
173 : { 0, 191, 255 },
174 : { 170, 234, 255 },
175 : { 0, 141, 189 },
176 : { 126, 173, 189 },
177 : { 0, 96, 129 },
178 : { 86, 118, 129 },
179 : { 0, 78, 104 },
180 : { 69, 95, 104 },
181 : { 0, 59, 79 },
182 : { 53, 73, 79 },
183 : { 0, 127, 255 },
184 : { 170, 212, 255 },
185 : { 0, 94, 189 },
186 : { 126, 157, 189 },
187 : { 0, 64, 129 },
188 : { 86, 107, 129 },
189 : { 0, 52, 104 },
190 : { 69, 86, 104 },
191 : { 0, 39, 79 },
192 : { 53, 66, 79 },
193 : { 0, 63, 255 },
194 : { 170, 191, 255 },
195 : { 0, 46, 189 },
196 : { 126, 141, 189 },
197 : { 0, 31, 129 },
198 : { 86, 96, 129 },
199 : { 0, 25, 104 },
200 : { 69, 78, 104 },
201 : { 0, 19, 79 },
202 : { 53, 59, 79 },
203 : { 0, 0, 255 },
204 : { 170, 170, 255 },
205 : { 0, 0, 189 },
206 : { 126, 126, 189 },
207 : { 0, 0, 129 },
208 : { 86, 86, 129 },
209 : { 0, 0, 104 },
210 : { 69, 69, 104 },
211 : { 0, 0, 79 },
212 : { 53, 53, 79 },
213 : { 63, 0, 255 },
214 : { 191, 170, 255 },
215 : { 46, 0, 189 },
216 : { 141, 126, 189 },
217 : { 31, 0, 129 },
218 : { 96, 86, 129 },
219 : { 25, 0, 104 },
220 : { 78, 69, 104 },
221 : { 19, 0, 79 },
222 : { 59, 53, 79 },
223 : { 127, 0, 255 },
224 : { 212, 170, 255 },
225 : { 94, 0, 189 },
226 : { 157, 126, 189 },
227 : { 64, 0, 129 },
228 : { 107, 86, 129 },
229 : { 52, 0, 104 },
230 : { 86, 69, 104 },
231 : { 39, 0, 79 },
232 : { 66, 53, 79 },
233 : { 191, 0, 255 },
234 : { 234, 170, 255 },
235 : { 141, 0, 189 },
236 : { 173, 126, 189 },
237 : { 96, 0, 129 },
238 : { 118, 86, 129 },
239 : { 78, 0, 104 },
240 : { 95, 69, 104 },
241 : { 59, 0, 79 },
242 : { 73, 53, 79 },
243 : { 255, 0, 255 },
244 : { 255, 170, 255 },
245 : { 189, 0, 189 },
246 : { 189, 126, 189 },
247 : { 129, 0, 129 },
248 : { 129, 86, 129 },
249 : { 104, 0, 104 },
250 : { 104, 69, 104 },
251 : { 79, 0, 79 },
252 : { 79, 53, 79 },
253 : { 255, 0, 191 },
254 : { 255, 170, 234 },
255 : { 189, 0, 141 },
256 : { 189, 126, 173 },
257 : { 129, 0, 96 },
258 : { 129, 86, 118 },
259 : { 104, 0, 78 },
260 : { 104, 69, 95 },
261 : { 79, 0, 59 },
262 : { 79, 53, 73 },
263 : { 255, 0, 127 },
264 : { 255, 170, 212 },
265 : { 189, 0, 94 },
266 : { 189, 126, 157 },
267 : { 129, 0, 64 },
268 : { 129, 86, 107 },
269 : { 104, 0, 52 },
270 : { 104, 69, 86 },
271 : { 79, 0, 39 },
272 : { 79, 53, 66 },
273 : { 255, 0, 63 },
274 : { 255, 170, 191 },
275 : { 189, 0, 46 },
276 : { 189, 126, 141 },
277 : { 129, 0, 31 },
278 : { 129, 86, 96 },
279 : { 104, 0, 25 },
280 : { 104, 69, 78 },
281 : { 79, 0, 19 },
282 : { 79, 53, 59 },
283 : { 51, 51, 51 },
284 : { 80, 80, 80 },
285 : { 105, 105, 105 },
286 : { 130, 130, 130 },
287 : { 190, 190, 190 },
288 : { 255, 255, 255 }
289 : };
290 :
291 17 : const RGBColor getCADACIColor(short index)
292 : {
293 17 : if(index < 0 || index > 255)
294 0 : return {255, 255, 255};
295 17 : return CADACIColors[index];
296 : }
|