Cleanup: trailing space
[blender-addons.git] / io_import_dxf / dxfgrabber / color.py
bloba83aee4f0666e7f8dc370f90461e99276fa68cbd
1 # SPDX-License-Identifier: MIT
3 __author__ = 'manfred'
6 class TrueColor(int):
7 def rgb(self):
8 return (self >> 16) & 0xFF, (self >> 8) & 0xFF, self & 0xFF
10 @property
11 def r(self):
12 return (self >> 16) & 0xFF
14 @property
15 def g(self):
16 return (self >> 8) & 0xFF
18 @property
19 def b(self):
20 return self & 0xFF
22 def __getitem__(self, item):
23 if item == 0:
24 return self.r
25 elif item == 1:
26 return self.g
27 elif item == 2:
28 return self.b
29 raise IndexError(item)
31 @staticmethod
32 def from_rgb(r, g, b):
33 return TrueColor(((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff))
35 @staticmethod
36 def from_aci(index):
37 if index < 1:
38 raise IndexError(index)
39 return dxf_default_colors[index]
42 def aci_to_true_color(index):
43 return TrueColor.from_aci(index)
46 dxf_default_colors = [
47 TrueColor(0x000000),
48 TrueColor(0xff0000),
49 TrueColor(0xffff00),
50 TrueColor(0x00ff00),
51 TrueColor(0x00ffff),
52 TrueColor(0x0000ff),
53 TrueColor(0xff00ff),
54 TrueColor(0xffffff),
55 TrueColor(0x414141),
56 TrueColor(0x808080),
57 TrueColor(0xff0000),
58 TrueColor(0xffaaaa),
59 TrueColor(0xbd0000),
60 TrueColor(0xbd7e7e),
61 TrueColor(0x810000),
62 TrueColor(0x815656),
63 TrueColor(0x680000),
64 TrueColor(0x684545),
65 TrueColor(0x4f0000),
66 TrueColor(0x4f3535),
67 TrueColor(0xff3f00),
68 TrueColor(0xffbfaa),
69 TrueColor(0xbd2e00),
70 TrueColor(0xbd8d7e),
71 TrueColor(0x811f00),
72 TrueColor(0x816056),
73 TrueColor(0x681900),
74 TrueColor(0x684e45),
75 TrueColor(0x4f1300),
76 TrueColor(0x4f3b35),
77 TrueColor(0xff7f00),
78 TrueColor(0xffd4aa),
79 TrueColor(0xbd5e00),
80 TrueColor(0xbd9d7e),
81 TrueColor(0x814000),
82 TrueColor(0x816b56),
83 TrueColor(0x683400),
84 TrueColor(0x685645),
85 TrueColor(0x4f2700),
86 TrueColor(0x4f4235),
87 TrueColor(0xffbf00),
88 TrueColor(0xffeaaa),
89 TrueColor(0xbd8d00),
90 TrueColor(0xbdad7e),
91 TrueColor(0x816000),
92 TrueColor(0x817656),
93 TrueColor(0x684e00),
94 TrueColor(0x685f45),
95 TrueColor(0x4f3b00),
96 TrueColor(0x4f4935),
97 TrueColor(0xffff00),
98 TrueColor(0xffffaa),
99 TrueColor(0xbdbd00),
100 TrueColor(0xbdbd7e),
101 TrueColor(0x818100),
102 TrueColor(0x818156),
103 TrueColor(0x686800),
104 TrueColor(0x686845),
105 TrueColor(0x4f4f00),
106 TrueColor(0x4f4f35),
107 TrueColor(0xbfff00),
108 TrueColor(0xeaffaa),
109 TrueColor(0x8dbd00),
110 TrueColor(0xadbd7e),
111 TrueColor(0x608100),
112 TrueColor(0x768156),
113 TrueColor(0x4e6800),
114 TrueColor(0x5f6845),
115 TrueColor(0x3b4f00),
116 TrueColor(0x494f35),
117 TrueColor(0x7fff00),
118 TrueColor(0xd4ffaa),
119 TrueColor(0x5ebd00),
120 TrueColor(0x9dbd7e),
121 TrueColor(0x408100),
122 TrueColor(0x6b8156),
123 TrueColor(0x346800),
124 TrueColor(0x566845),
125 TrueColor(0x274f00),
126 TrueColor(0x424f35),
127 TrueColor(0x3fff00),
128 TrueColor(0xbfffaa),
129 TrueColor(0x2ebd00),
130 TrueColor(0x8dbd7e),
131 TrueColor(0x1f8100),
132 TrueColor(0x608156),
133 TrueColor(0x196800),
134 TrueColor(0x4e6845),
135 TrueColor(0x134f00),
136 TrueColor(0x3b4f35),
137 TrueColor(0x00ff00),
138 TrueColor(0xaaffaa),
139 TrueColor(0x00bd00),
140 TrueColor(0x7ebd7e),
141 TrueColor(0x008100),
142 TrueColor(0x568156),
143 TrueColor(0x006800),
144 TrueColor(0x456845),
145 TrueColor(0x004f00),
146 TrueColor(0x354f35),
147 TrueColor(0x00ff3f),
148 TrueColor(0xaaffbf),
149 TrueColor(0x00bd2e),
150 TrueColor(0x7ebd8d),
151 TrueColor(0x00811f),
152 TrueColor(0x568160),
153 TrueColor(0x006819),
154 TrueColor(0x45684e),
155 TrueColor(0x004f13),
156 TrueColor(0x354f3b),
157 TrueColor(0x00ff7f),
158 TrueColor(0xaaffd4),
159 TrueColor(0x00bd5e),
160 TrueColor(0x7ebd9d),
161 TrueColor(0x008140),
162 TrueColor(0x56816b),
163 TrueColor(0x006834),
164 TrueColor(0x456856),
165 TrueColor(0x004f27),
166 TrueColor(0x354f42),
167 TrueColor(0x00ffbf),
168 TrueColor(0xaaffea),
169 TrueColor(0x00bd8d),
170 TrueColor(0x7ebdad),
171 TrueColor(0x008160),
172 TrueColor(0x568176),
173 TrueColor(0x00684e),
174 TrueColor(0x45685f),
175 TrueColor(0x004f3b),
176 TrueColor(0x354f49),
177 TrueColor(0x00ffff),
178 TrueColor(0xaaffff),
179 TrueColor(0x00bdbd),
180 TrueColor(0x7ebdbd),
181 TrueColor(0x008181),
182 TrueColor(0x568181),
183 TrueColor(0x006868),
184 TrueColor(0x456868),
185 TrueColor(0x004f4f),
186 TrueColor(0x354f4f),
187 TrueColor(0x00bfff),
188 TrueColor(0xaaeaff),
189 TrueColor(0x008dbd),
190 TrueColor(0x7eadbd),
191 TrueColor(0x006081),
192 TrueColor(0x567681),
193 TrueColor(0x004e68),
194 TrueColor(0x455f68),
195 TrueColor(0x003b4f),
196 TrueColor(0x35494f),
197 TrueColor(0x007fff),
198 TrueColor(0xaad4ff),
199 TrueColor(0x005ebd),
200 TrueColor(0x7e9dbd),
201 TrueColor(0x004081),
202 TrueColor(0x566b81),
203 TrueColor(0x003468),
204 TrueColor(0x455668),
205 TrueColor(0x00274f),
206 TrueColor(0x35424f),
207 TrueColor(0x003fff),
208 TrueColor(0xaabfff),
209 TrueColor(0x002ebd),
210 TrueColor(0x7e8dbd),
211 TrueColor(0x001f81),
212 TrueColor(0x566081),
213 TrueColor(0x001968),
214 TrueColor(0x454e68),
215 TrueColor(0x00134f),
216 TrueColor(0x353b4f),
217 TrueColor(0x0000ff),
218 TrueColor(0xaaaaff),
219 TrueColor(0x0000bd),
220 TrueColor(0x7e7ebd),
221 TrueColor(0x000081),
222 TrueColor(0x565681),
223 TrueColor(0x000068),
224 TrueColor(0x454568),
225 TrueColor(0x00004f),
226 TrueColor(0x35354f),
227 TrueColor(0x3f00ff),
228 TrueColor(0xbfaaff),
229 TrueColor(0x2e00bd),
230 TrueColor(0x8d7ebd),
231 TrueColor(0x1f0081),
232 TrueColor(0x605681),
233 TrueColor(0x190068),
234 TrueColor(0x4e4568),
235 TrueColor(0x13004f),
236 TrueColor(0x3b354f),
237 TrueColor(0x7f00ff),
238 TrueColor(0xd4aaff),
239 TrueColor(0x5e00bd),
240 TrueColor(0x9d7ebd),
241 TrueColor(0x400081),
242 TrueColor(0x6b5681),
243 TrueColor(0x340068),
244 TrueColor(0x564568),
245 TrueColor(0x27004f),
246 TrueColor(0x42354f),
247 TrueColor(0xbf00ff),
248 TrueColor(0xeaaaff),
249 TrueColor(0x8d00bd),
250 TrueColor(0xad7ebd),
251 TrueColor(0x600081),
252 TrueColor(0x765681),
253 TrueColor(0x4e0068),
254 TrueColor(0x5f4568),
255 TrueColor(0x3b004f),
256 TrueColor(0x49354f),
257 TrueColor(0xff00ff),
258 TrueColor(0xffaaff),
259 TrueColor(0xbd00bd),
260 TrueColor(0xbd7ebd),
261 TrueColor(0x810081),
262 TrueColor(0x815681),
263 TrueColor(0x680068),
264 TrueColor(0x684568),
265 TrueColor(0x4f004f),
266 TrueColor(0x4f354f),
267 TrueColor(0xff00bf),
268 TrueColor(0xffaaea),
269 TrueColor(0xbd008d),
270 TrueColor(0xbd7ead),
271 TrueColor(0x810060),
272 TrueColor(0x815676),
273 TrueColor(0x68004e),
274 TrueColor(0x68455f),
275 TrueColor(0x4f003b),
276 TrueColor(0x4f3549),
277 TrueColor(0xff007f),
278 TrueColor(0xffaad4),
279 TrueColor(0xbd005e),
280 TrueColor(0xbd7e9d),
281 TrueColor(0x810040),
282 TrueColor(0x81566b),
283 TrueColor(0x680034),
284 TrueColor(0x684556),
285 TrueColor(0x4f0027),
286 TrueColor(0x4f3542),
287 TrueColor(0xff003f),
288 TrueColor(0xffaabf),
289 TrueColor(0xbd002e),
290 TrueColor(0xbd7e8d),
291 TrueColor(0x81001f),
292 TrueColor(0x815660),
293 TrueColor(0x680019),
294 TrueColor(0x68454e),
295 TrueColor(0x4f0013),
296 TrueColor(0x4f353b),
297 TrueColor(0x333333),
298 TrueColor(0x505050),
299 TrueColor(0x696969),
300 TrueColor(0x828282),
301 TrueColor(0xbebebe),
302 TrueColor(0xffffff),