|
1 /**************************************************************************** |
|
2 ** |
|
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
4 ** All rights reserved. |
|
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
|
6 ** |
|
7 ** This file is part of the QtGui module of the Qt Toolkit. |
|
8 ** |
|
9 ** $QT_BEGIN_LICENSE:LGPL$ |
|
10 ** No Commercial Usage |
|
11 ** This file contains pre-release code and may not be distributed. |
|
12 ** You may use this file in accordance with the terms and conditions |
|
13 ** contained in the Technology Preview License Agreement accompanying |
|
14 ** this package. |
|
15 ** |
|
16 ** GNU Lesser General Public License Usage |
|
17 ** Alternatively, this file may be used under the terms of the GNU Lesser |
|
18 ** General Public License version 2.1 as published by the Free Software |
|
19 ** Foundation and appearing in the file LICENSE.LGPL included in the |
|
20 ** packaging of this file. Please review the following information to |
|
21 ** ensure the GNU Lesser General Public License version 2.1 requirements |
|
22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
|
23 ** |
|
24 ** In addition, as a special exception, Nokia gives you certain additional |
|
25 ** rights. These rights are described in the Nokia Qt LGPL Exception |
|
26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
|
27 ** |
|
28 ** If you have questions regarding the use of this file, please contact |
|
29 ** Nokia at qt-info@nokia.com. |
|
30 ** |
|
31 ** |
|
32 ** |
|
33 ** |
|
34 ** |
|
35 ** |
|
36 ** |
|
37 ** |
|
38 ** $QT_END_LICENSE$ |
|
39 ** |
|
40 ****************************************************************************/ |
|
41 |
|
42 #include "qwindowsmobilestyle.h" |
|
43 #include "qwindowsmobilestyle_p.h" |
|
44 |
|
45 #if !defined(QT_NO_STYLE_WINDOWSMOBILE) || defined(QT_PLUGIN) |
|
46 |
|
47 #include "qpainterpath.h" |
|
48 #include "qapplication.h" |
|
49 #include "qdesktopwidget.h" |
|
50 #include "qwidget.h" |
|
51 #include "qdockwidget.h" |
|
52 #include "qframe.h" |
|
53 #include "qmenu.h" |
|
54 #include "qpaintengine.h" |
|
55 #include "qpainter.h" |
|
56 #include "qgroupbox.h" |
|
57 #include "qstyleoption.h" |
|
58 #include "qlistview.h" |
|
59 #include "qdrawutil.h" |
|
60 #include "qtoolbar.h" |
|
61 #include "qabstractscrollarea.h" |
|
62 #include "qabstractbutton.h" |
|
63 #include "qcombobox.h" |
|
64 #include "qabstractscrollarea.h" |
|
65 #include "qframe.h" |
|
66 #include "qscrollbar.h" |
|
67 #include "qabstractitemview.h" |
|
68 #include "qmenubar.h" |
|
69 #include "qtoolbutton.h" |
|
70 #include "qtextedit.h" |
|
71 #include "qdialog.h" |
|
72 #include "qdebug.h" |
|
73 #include "qtabwidget.h" |
|
74 |
|
75 #ifdef Q_WS_WINCE |
|
76 #include "qt_windows.h" |
|
77 #include "qguifunctions_wince.h" |
|
78 extern bool qt_wince_is_high_dpi(); //defined in qguifunctions_wince.cpp |
|
79 extern bool qt_wince_is_smartphone(); //defined in qguifunctions_wince.cpp |
|
80 extern bool qt_wince_is_windows_mobile_65(); //defined in qguifunctions_wince.cpp |
|
81 #endif // Q_WS_WINCE |
|
82 |
|
83 QT_BEGIN_NAMESPACE |
|
84 |
|
85 static const int windowsItemFrame = 1; // menu item frame width |
|
86 |
|
87 static const int windowsMobileitemViewCheckBoxSize = 13; |
|
88 static const int windowsMobileFrameGroupBoxOffset = 9; |
|
89 static const int windowsMobileIndicatorSize = 14; |
|
90 static const int windowsMobileExclusiveIndicatorSize = 14; |
|
91 static const int windowsMobileSliderThickness = 6; |
|
92 static const int windowsMobileIconSize = 16; |
|
93 static const int PE_IndicatorArrowUpBig = 0xf000101; |
|
94 static const int PE_IndicatorArrowDownBig = 0xf000102; |
|
95 static const int PE_IndicatorArrowLeftBig = 0xf000103; |
|
96 static const int PE_IndicatorArrowRightBig = 0xf000104; |
|
97 |
|
98 /* XPM */ |
|
99 static const char *const radiobutton_xpm[] = { |
|
100 "30 30 2 1", |
|
101 " c None", |
|
102 ". c #000000", |
|
103 " ........ ", |
|
104 " .............. ", |
|
105 " .... .... ", |
|
106 " .... .... ", |
|
107 " ... ... ", |
|
108 " ... ... ", |
|
109 " .. .. ", |
|
110 " .. .. ", |
|
111 " ... ... ", |
|
112 " .. .. ", |
|
113 " .. .. ", |
|
114 ".. ..", |
|
115 ".. ..", |
|
116 ".. ..", |
|
117 ".. ..", |
|
118 ".. ..", |
|
119 ".. ..", |
|
120 ".. ..", |
|
121 ".. ..", |
|
122 " .. .. ", |
|
123 " .. .. ", |
|
124 " ... ... ", |
|
125 " .. .. ", |
|
126 " .. .. ", |
|
127 " ... ... ", |
|
128 " ... ... ", |
|
129 " .... .... ", |
|
130 " .... .... ", |
|
131 " .............. ", |
|
132 " ........ "}; |
|
133 |
|
134 /* XPM */ |
|
135 static const char * const radiobutton_low_xpm[] = { |
|
136 "15 15 2 1", |
|
137 " c None", |
|
138 ". c #000000", |
|
139 " ..... ", |
|
140 " .. .. ", |
|
141 " . . ", |
|
142 " . . ", |
|
143 " . . ", |
|
144 ". .", |
|
145 ". .", |
|
146 ". .", |
|
147 ". .", |
|
148 ". .", |
|
149 " . . ", |
|
150 " . . ", |
|
151 " . . ", |
|
152 " .. .. ", |
|
153 " ..... "}; |
|
154 |
|
155 /* XPM */ |
|
156 static const char * const arrowleft_big_xpm[] = { |
|
157 "9 17 2 1", |
|
158 " c None", |
|
159 ". c #000000", |
|
160 " .", |
|
161 " ..", |
|
162 " ...", |
|
163 " ....", |
|
164 " .....", |
|
165 " ......", |
|
166 " .......", |
|
167 " ........", |
|
168 ".........", |
|
169 " ........", |
|
170 " .......", |
|
171 " ......", |
|
172 " .....", |
|
173 " ....", |
|
174 " ...", |
|
175 " ..", |
|
176 " ."}; |
|
177 |
|
178 /* XPM */ |
|
179 static const char * const arrowleft_xpm[] = { |
|
180 "8 15 2 1", |
|
181 " c None", |
|
182 ". c #000000", |
|
183 " .", |
|
184 " ..", |
|
185 " ...", |
|
186 " ....", |
|
187 " .....", |
|
188 " ......", |
|
189 " .......", |
|
190 "........", |
|
191 " .......", |
|
192 " ......", |
|
193 " .....", |
|
194 " ....", |
|
195 " ...", |
|
196 " ..", |
|
197 " ."}; |
|
198 |
|
199 |
|
200 |
|
201 /* XPM */ |
|
202 static const char *const horlines_xpm[] = { |
|
203 "2 2 2 1", |
|
204 " c None", |
|
205 ". c #000000", |
|
206 " ", |
|
207 ".."}; |
|
208 |
|
209 /* XPM */ |
|
210 static const char *const vertlines_xpm[] = { |
|
211 "2 2 2 1", |
|
212 " c None", |
|
213 ". c #000000", |
|
214 ". ", |
|
215 ". "}; |
|
216 |
|
217 /* XPM */ |
|
218 static const char *const radiochecked_xpm[] = { |
|
219 "18 18 2 1", |
|
220 " c None", |
|
221 ". c #000000", |
|
222 " ...... ", |
|
223 " .......... ", |
|
224 " .............. ", |
|
225 " .............. ", |
|
226 " ................ ", |
|
227 " ................ ", |
|
228 "..................", |
|
229 "..................", |
|
230 "..................", |
|
231 "..................", |
|
232 "..................", |
|
233 "..................", |
|
234 " ................ ", |
|
235 " ................ ", |
|
236 " .............. ", |
|
237 " .............. ", |
|
238 " .......... ", |
|
239 " ...... "}; |
|
240 |
|
241 /* XPM */ |
|
242 static const char * const radiochecked_low_xpm[] = { |
|
243 "9 9 2 1", |
|
244 " c None", |
|
245 ". c #000000", |
|
246 " ... ", |
|
247 " ....... ", |
|
248 " ....... ", |
|
249 ".........", |
|
250 ".........", |
|
251 ".........", |
|
252 " ....... ", |
|
253 " ....... ", |
|
254 " ... "}; |
|
255 |
|
256 static const char *const arrowdown_xpm[] = { |
|
257 "15 8 2 1", |
|
258 " c None", |
|
259 ". c #000000", |
|
260 "...............", |
|
261 " ............. ", |
|
262 " ........... ", |
|
263 " ......... ", |
|
264 " ....... ", |
|
265 " ..... ", |
|
266 " ... ", |
|
267 " . "}; |
|
268 |
|
269 |
|
270 static const char *const arrowdown_big_xpm[] = { |
|
271 "17 9 2 1", |
|
272 " c None", |
|
273 ". c #000000", |
|
274 ".................", |
|
275 " ............... ", |
|
276 " ............. ", |
|
277 " ........... ", |
|
278 " ......... ", |
|
279 " ....... ", |
|
280 " ..... ", |
|
281 " ... ", |
|
282 " . "}; |
|
283 |
|
284 |
|
285 /* XPM */ |
|
286 static const char *const checkedlight_xpm[] = { |
|
287 "24 24 2 1", |
|
288 " c None", |
|
289 ". c #000000", |
|
290 " ", |
|
291 " ", |
|
292 " ", |
|
293 " ", |
|
294 " ", |
|
295 " . ", |
|
296 " .. ", |
|
297 " ... ", |
|
298 " .... ", |
|
299 " ..... ", |
|
300 " ...... ", |
|
301 " . ...... ", |
|
302 " .. ...... ", |
|
303 " ... ...... ", |
|
304 " .... ...... ", |
|
305 " .......... ", |
|
306 " ......... ", |
|
307 " ....... ", |
|
308 " ..... ", |
|
309 " ... ", |
|
310 " . ", |
|
311 " ", |
|
312 " ", |
|
313 " "}; |
|
314 |
|
315 |
|
316 /* XPM */ |
|
317 static const char *const checkedbold_xpm[] = { |
|
318 "26 26 2 1", |
|
319 " c None", |
|
320 ". c #000000", |
|
321 " ", |
|
322 " ", |
|
323 " ", |
|
324 " ", |
|
325 " ", |
|
326 " ", |
|
327 " .. ", |
|
328 " ... ", |
|
329 " .... ", |
|
330 " ..... ", |
|
331 " .. ...... ", |
|
332 " ... ....... ", |
|
333 " .... ....... ", |
|
334 " ..... ....... ", |
|
335 " ...... ....... ", |
|
336 " .............. ", |
|
337 " ............ ", |
|
338 " .......... ", |
|
339 " ........ ", |
|
340 " ...... ", |
|
341 " .... ", |
|
342 " .. ", |
|
343 " ", |
|
344 " ", |
|
345 " ", |
|
346 " "}; |
|
347 |
|
348 /* XPM */ |
|
349 static const char * const checkedbold_low_xpm[] = { |
|
350 "9 8 2 1", |
|
351 " c None", |
|
352 ". c #000000", |
|
353 " .", |
|
354 " ..", |
|
355 ". ...", |
|
356 ".. ... ", |
|
357 "... ... ", |
|
358 " ..... ", |
|
359 " ... ", |
|
360 " . "}; |
|
361 |
|
362 /* XPM */ |
|
363 static const char * const checkedlight_low_xpm[] = { |
|
364 "8 8 2 1", |
|
365 " c None", |
|
366 ". c #000000", |
|
367 " .", |
|
368 " ..", |
|
369 " ...", |
|
370 ". ... ", |
|
371 ".. ... ", |
|
372 "..... ", |
|
373 " ... ", |
|
374 " . "}; |
|
375 |
|
376 /* XPM */ |
|
377 static const char * const highlightedradiobutton_xpm[] = { |
|
378 "30 30 3 1", |
|
379 " c None", |
|
380 ". c #000000", |
|
381 "+ c #0078CC", |
|
382 " ........ ", |
|
383 " .............. ", |
|
384 " ....++++++++.... ", |
|
385 " ....++++++++++++.... ", |
|
386 " ...++++ ++++... ", |
|
387 " ...+++ +++... ", |
|
388 " ..++ ++.. ", |
|
389 " ..++ ++.. ", |
|
390 " ...++ ++... ", |
|
391 " ..++ ++.. ", |
|
392 " ..++ ++.. ", |
|
393 "..++ ++..", |
|
394 "..++ ++..", |
|
395 "..++ ++..", |
|
396 "..++ ++..", |
|
397 "..++ ++..", |
|
398 "..++ ++..", |
|
399 "..++ ++..", |
|
400 "..++ ++..", |
|
401 " ..++ ++.. ", |
|
402 " ..++ ++.. ", |
|
403 " ...++ ++... ", |
|
404 " ..++ ++.. ", |
|
405 " ..++ ++.. ", |
|
406 " ...+++ +++... ", |
|
407 " ...++++ ++++... ", |
|
408 " ....++++++++++++.... ", |
|
409 " ....++++++++.... ", |
|
410 " .............. ", |
|
411 " ........ "}; |
|
412 |
|
413 /* XPM */ |
|
414 static const char * const highlightedradiobutton_low_xpm[] = { |
|
415 "15 15 3 1", |
|
416 " c None", |
|
417 ". c #000000", |
|
418 "+ c #3192D6", |
|
419 " ..... ", |
|
420 " ..+++++.. ", |
|
421 " .++ ++. ", |
|
422 " .+ +. ", |
|
423 " .+ +. ", |
|
424 ".+ +.", |
|
425 ".+ +.", |
|
426 ".+ +.", |
|
427 ".+ +.", |
|
428 ".+ +.", |
|
429 " .+ +. ", |
|
430 " .+ +. ", |
|
431 " .++ ++. ", |
|
432 " ..+++++.. ", |
|
433 " ..... "}; |
|
434 |
|
435 /* XPM */ |
|
436 static const char * const cross_big_xpm[] = { |
|
437 "28 28 4 1", |
|
438 " c #09454A", |
|
439 ". c #218C98", |
|
440 "+ c #47D8E5", |
|
441 "@ c #FDFFFC", |
|
442 " ", |
|
443 " ", |
|
444 " ++++++++++++++++++++++++ ", |
|
445 " ++++++++++++++++++++++++ ", |
|
446 " ++....................++ ", |
|
447 " ++....................++ ", |
|
448 " ++..@@@..........@@@..++ ", |
|
449 " ++..@@@@........@@@@..++ ", |
|
450 " ++..@@@@@......@@@@@..++ ", |
|
451 " ++...@@@@@....@@@@@...++ ", |
|
452 " ++....@@@@@..@@@@@....++ ", |
|
453 " ++.....@@@@@@@@@@.....++ ", |
|
454 " ++......@@@@@@@@......++ ", |
|
455 " ++.......@@@@@@.......++ ", |
|
456 " ++.......@@@@@@.......++ ", |
|
457 " ++......@@@@@@@@......++ ", |
|
458 " ++.....@@@@@@@@@@.....++ ", |
|
459 " ++....@@@@@..@@@@@....++ ", |
|
460 " ++...@@@@@....@@@@@...++ ", |
|
461 " ++..@@@@@......@@@@@..++ ", |
|
462 " ++..@@@@........@@@@..++ ", |
|
463 " ++..@@@..........@@@..++ ", |
|
464 " ++....................++ ", |
|
465 " ++....................++ ", |
|
466 " ++++++++++++++++++++++++ ", |
|
467 " ++++++++++++++++++++++++ ", |
|
468 " ", |
|
469 " "}; |
|
470 |
|
471 /* XPM */ |
|
472 static const char * const cross_small_xpm[] = { |
|
473 "14 14 4 1", |
|
474 " c #09454A", |
|
475 ". c #218C98", |
|
476 "+ c #47D8E5", |
|
477 "@ c #FCFFFC", |
|
478 " ", |
|
479 " ++++++++++++ ", |
|
480 " +..........+ ", |
|
481 " +.@@....@@.+ ", |
|
482 " +.@@@..@@@.+ ", |
|
483 " +..@@@@@@..+ ", |
|
484 " +...@@@@...+ ", |
|
485 " +...@@@@...+ ", |
|
486 " +..@@@@@@..+ ", |
|
487 " +.@@@..@@@.+ ", |
|
488 " +.@@....@@.+ ", |
|
489 " +..........+ ", |
|
490 " ++++++++++++ ", |
|
491 " "}; |
|
492 |
|
493 /* XPM */ |
|
494 static const char * const max_big_xpm[] = { |
|
495 "28 28 4 1", |
|
496 " c #09454A", |
|
497 ". c #218C98", |
|
498 "+ c #47D8E5", |
|
499 "@ c #FDFFFC", |
|
500 " ", |
|
501 " ", |
|
502 " ++++++++++++++++++++++++ ", |
|
503 " ++++++++++++++++++++++++ ", |
|
504 " ++....................++ ", |
|
505 " ++....................++ ", |
|
506 " ++....................++ ", |
|
507 " ++....................++ ", |
|
508 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
509 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
510 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
511 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
512 " ++..@@............@@..++ ", |
|
513 " ++..@@............@@..++ ", |
|
514 " ++..@@............@@..++ ", |
|
515 " ++..@@............@@..++ ", |
|
516 " ++..@@............@@..++ ", |
|
517 " ++..@@............@@..++ ", |
|
518 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
519 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
520 " ++....................++ ", |
|
521 " ++....................++ ", |
|
522 " ++....................++ ", |
|
523 " ++....................++ ", |
|
524 " ++++++++++++++++++++++++ ", |
|
525 " ++++++++++++++++++++++++ ", |
|
526 " ", |
|
527 " "}; |
|
528 |
|
529 /* XPM */ |
|
530 static const char * const max_small_xpm[] = { |
|
531 "14 14 4 1", |
|
532 " c #09454A", |
|
533 ". c #218C98", |
|
534 "+ c #47D8E5", |
|
535 "@ c #FCFFFC", |
|
536 " ", |
|
537 " ++++++++++++ ", |
|
538 " +..........+ ", |
|
539 " +..........+ ", |
|
540 " +.@@@@@@@@.+ ", |
|
541 " +.@@@@@@@@.+ ", |
|
542 " +.@......@.+ ", |
|
543 " +.@......@.+ ", |
|
544 " +.@......@.+ ", |
|
545 " +.@@@@@@@@.+ ", |
|
546 " +..........+ ", |
|
547 " +..........+ ", |
|
548 " ++++++++++++ ", |
|
549 " "}; |
|
550 |
|
551 /* XPM */ |
|
552 static const char * const normal_big_xpm[] = { |
|
553 "28 28 4 1", |
|
554 " c #09454A", |
|
555 ". c #218C98", |
|
556 "+ c #47D8E5", |
|
557 "@ c #FDFFFC", |
|
558 " ", |
|
559 " ", |
|
560 " ++++++++++++++++++++++++ ", |
|
561 " ++++++++++++++++++++++++ ", |
|
562 " ++....................++ ", |
|
563 " ++....................++ ", |
|
564 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
565 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
566 " ++..@@............@@..++ ", |
|
567 " ++..@@............@@..++ ", |
|
568 " ++..@@............@@..++ ", |
|
569 " ++..@@............@@..++ ", |
|
570 " ++..@@............@@..++ ", |
|
571 " ++..@@............@@..++ ", |
|
572 " ++..@@............@@..++ ", |
|
573 " ++..@@............@@..++ ", |
|
574 " ++..@@............@@..++ ", |
|
575 " ++..@@............@@..++ ", |
|
576 " ++..@@............@@..++ ", |
|
577 " ++..@@............@@..++ ", |
|
578 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
579 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
580 " ++....................++ ", |
|
581 " ++....................++ ", |
|
582 " ++++++++++++++++++++++++ ", |
|
583 " ++++++++++++++++++++++++ ", |
|
584 " ", |
|
585 " "}; |
|
586 |
|
587 /* XPM */ |
|
588 static const char * const normal_small_xpm[] = { |
|
589 "14 14 4 1", |
|
590 " c #09454A", |
|
591 ". c #218C98", |
|
592 "+ c #47D8E5", |
|
593 "@ c #FCFFFC", |
|
594 " ", |
|
595 " ++++++++++++ ", |
|
596 " +..........+ ", |
|
597 " +.@@@@@@@@.+ ", |
|
598 " +.@......@.+ ", |
|
599 " +.@......@.+ ", |
|
600 " +.@......@.+ ", |
|
601 " +.@......@.+ ", |
|
602 " +.@......@.+ ", |
|
603 " +.@......@.+ ", |
|
604 " +.@@@@@@@@.+ ", |
|
605 " +..........+ ", |
|
606 " ++++++++++++ ", |
|
607 " "}; |
|
608 |
|
609 |
|
610 /* XPM */ |
|
611 static const char * const min_big_xpm[] = { |
|
612 "28 28 4 1", |
|
613 " c #09454A", |
|
614 ". c #218C98", |
|
615 "+ c #47D8E5", |
|
616 "@ c #FDFFFC", |
|
617 " ", |
|
618 " ", |
|
619 " ++++++++++++++++++++++++ ", |
|
620 " ++++++++++++++++++++++++ ", |
|
621 " ++....................++ ", |
|
622 " ++....................++ ", |
|
623 " ++....................++ ", |
|
624 " ++....................++ ", |
|
625 " ++....................++ ", |
|
626 " ++....................++ ", |
|
627 " ++....................++ ", |
|
628 " ++....................++ ", |
|
629 " ++....................++ ", |
|
630 " ++....................++ ", |
|
631 " ++....................++ ", |
|
632 " ++....................++ ", |
|
633 " ++....................++ ", |
|
634 " ++....................++ ", |
|
635 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
636 " ++..@@@@@@@@@@@@@@@@..++ ", |
|
637 " ++....................++ ", |
|
638 " ++....................++ ", |
|
639 " ++....................++ ", |
|
640 " ++....................++ ", |
|
641 " ++++++++++++++++++++++++ ", |
|
642 " ++++++++++++++++++++++++ ", |
|
643 " ", |
|
644 " "}; |
|
645 |
|
646 /* XPM */ |
|
647 static const char * const min_small_xpm[] = { |
|
648 "14 14 4 1", |
|
649 " c #09454A", |
|
650 ". c #218C98", |
|
651 "+ c #47D8E5", |
|
652 "@ c #FCFFFC", |
|
653 " ", |
|
654 " ++++++++++++ ", |
|
655 " +..........+ ", |
|
656 " +..........+ ", |
|
657 " +..........+ ", |
|
658 " +..........+ ", |
|
659 " +..........+ ", |
|
660 " +..........+ ", |
|
661 " +..........+ ", |
|
662 " +.@@@@@@@@.+ ", |
|
663 " +..........+ ", |
|
664 " +..........+ ", |
|
665 " ++++++++++++ ", |
|
666 " "}; |
|
667 |
|
668 #ifdef Q_WS_WINCE_WM |
|
669 |
|
670 static char * sbhandleup_xpm[] = { |
|
671 "26 41 45 1", |
|
672 " c None", |
|
673 ". c #000000", |
|
674 "+ c #E7E7E7", |
|
675 "@ c #D6D7D6", |
|
676 "# c #949294", |
|
677 "$ c #737573", |
|
678 "% c #636563", |
|
679 "& c #636163", |
|
680 "* c #5A5D5A", |
|
681 "= c #5A595A", |
|
682 "- c #525552", |
|
683 "; c #525152", |
|
684 "> c #4A4D4A", |
|
685 ", c #7B797B", |
|
686 "' c #CECFCE", |
|
687 ") c #CED3CE", |
|
688 "! c #6B6D6B", |
|
689 "~ c #6B696B", |
|
690 "{ c #737173", |
|
691 "] c #7B7D7B", |
|
692 "^ c #848684", |
|
693 "/ c #848284", |
|
694 "( c #8C8A8C", |
|
695 "_ c #8C8E8C", |
|
696 ": c #B5B2B5", |
|
697 "< c #FFFFFF", |
|
698 "[ c #949694", |
|
699 "} c #B5B6B5", |
|
700 "| c #9C9A9C", |
|
701 "1 c #ADAEAD", |
|
702 "2 c #9C9E9C", |
|
703 "3 c #BDBABD", |
|
704 "4 c #BDBEBD", |
|
705 "5 c #F7F3F7", |
|
706 "6 c #C6C3C6", |
|
707 "7 c #C6C7C6", |
|
708 "8 c #A5A2A5", |
|
709 "9 c #CECBCE", |
|
710 "0 c #FFFBFF", |
|
711 "a c #ADAAAD", |
|
712 "b c #A5A6A5", |
|
713 "c c #D6D3D6", |
|
714 "d c #B5BAB5", |
|
715 "e c #DEDFDE", |
|
716 "f c #DEDBDE", |
|
717 "..........................", |
|
718 "+@#$%%&&&**===---;;;;>=,'+", |
|
719 "+@#$%%&&&**===---;;;;>=$'+", |
|
720 ")$!!~~%%&&&**===---;;;;>;'", |
|
721 "#{$]],,$${{{!!~~%%%&&&*-;]", |
|
722 "#{$]],,$${{{!!~~%%%&&&*-;]", |
|
723 ",$^//]],,$${{{!!~~%%%&&*;*", |
|
724 ",,(^^//]],$${!!!!!~~%%%&-*", |
|
725 ",,(^^//]],$${!!!!!~~%%%&-*", |
|
726 "]]_((^^//]$!%%~!{{!!~~%%-*", |
|
727 "//#__((^^]{:<<:~!{{{!!~~=*", |
|
728 "//#__((^^]{:<<:~!{{{!!~~=&", |
|
729 "//###__(/$:<<<<:~{${{!!~*&", |
|
730 "^^[[##_^]:<<<<<<}!{$${{!*%", |
|
731 "^^[[##_^]:<<<<<<}!{$${{!*%", |
|
732 "((|[[#_/:<<<<<<<<}!$$${{&~", |
|
733 "((||[#^1<<<<1:<<<<}!$$$$&~", |
|
734 "((||[#^1<<<<1:<<<<}!$$$$&~", |
|
735 "__2|#(1<<<<}],}<<<<}{$,$%~", |
|
736 "##2|_1<<<<}^((]3<<<<}{$,~!", |
|
737 "##2|_1<<<<}^((]3<<<<}{$,~!", |
|
738 "##2#1<<<<3^###(/4<<<<}{,~{", |
|
739 "##2#1<<<<3^###(/4<<<<}{,~!", |
|
740 "[[2_5<<<4(#|[[#_/6<<<<,,!{", |
|
741 "[|2_5<<4_[||||[[_/7<<<,]{$", |
|
742 "[|2_5<<4_[||||[[_/7<<<,]{$", |
|
743 "||8_5<6#|2222|||[_/9<<,]{$", |
|
744 "228#06[28888222||[_/'<,/$,", |
|
745 "228#06[28888222||[_/'<,/$,", |
|
746 "22a|6[8bbbb88822||[(/c](,]", |
|
747 "881b8baaabbbb88222|[(^(_,]", |
|
748 "881b8baaabbbb88222|[(^(_,]", |
|
749 "88111111aaabbb88822|[###]/", |
|
750 "bb:::11111aaabbb8822||[[/^", |
|
751 "bb:::11111aaabbb8822||[[//", |
|
752 "bb:::::1111aaabbb8822||[/(", |
|
753 "3a1::::::1111aaabb8822|_^8", |
|
754 "da1::::::1111aaabb8822|_^8", |
|
755 "e1aaabbbb888822||[[##__((@", |
|
756 "+e4:aaabbbb88822||[[[#[b@+", |
|
757 "+e4:aaabbbb88822||[[[#[bf+"}; |
|
758 |
|
759 static char * sbhandledown_xpm[] = { |
|
760 "26 40 46 1", |
|
761 " c None", |
|
762 ". c #E7E7E7", |
|
763 "+ c #DEDFDE", |
|
764 "@ c #BDBEBD", |
|
765 "# c #B5B2B5", |
|
766 "$ c #ADAAAD", |
|
767 "% c #A5A6A5", |
|
768 "& c #A5A2A5", |
|
769 "* c #9C9E9C", |
|
770 "= c #9C9A9C", |
|
771 "- c #949694", |
|
772 "; c #949294", |
|
773 "> c #D6D7D6", |
|
774 ", c #DEDBDE", |
|
775 "' c #D6DBD6", |
|
776 ") c #ADAEAD", |
|
777 "! c #8C8E8C", |
|
778 "~ c #8C8A8C", |
|
779 "{ c #BDBABD", |
|
780 "] c #848684", |
|
781 "^ c #B5BAB5", |
|
782 "/ c #848284", |
|
783 "( c #848A84", |
|
784 "_ c #7B7D7B", |
|
785 ": c #7B797B", |
|
786 "< c #C6C3C6", |
|
787 "[ c #D6D3D6", |
|
788 "} c #FFFBFF", |
|
789 "| c #CECFCE", |
|
790 "1 c #FFFFFF", |
|
791 "2 c #737573", |
|
792 "3 c #F7F3F7", |
|
793 "4 c #CECBCE", |
|
794 "5 c #737173", |
|
795 "6 c #C6C7C6", |
|
796 "7 c #6B6D6B", |
|
797 "8 c #B5B6B5", |
|
798 "9 c #6B696B", |
|
799 "0 c #636563", |
|
800 "a c #636163", |
|
801 "b c #5A5D5A", |
|
802 "c c #5A595A", |
|
803 "d c #525552", |
|
804 "e c #525152", |
|
805 "f c #4A4D4A", |
|
806 "g c #C6CBC6", |
|
807 ".+@#$$$%%%%&&&**==---;-%>.", |
|
808 ".+@#$$$%%%%&&&**==---;-%,.", |
|
809 "')$$$%%%%&&&&**==--;;!!~~>", |
|
810 "{$)######))))$$$%%&&**=!]&", |
|
811 "^$)######))))$$$%%&&**=!]&", |
|
812 "%%#####))))$$$%%%&&**==-/(", |
|
813 "%%###)))))$$$%%%&&**==--/]", |
|
814 "%%###)))))$$$%%%&&**==--//", |
|
815 "&&))))))$$$%%%&&&**=-;;;_/", |
|
816 "&&)%&%$$$%%%%&&***=-~]~!:_", |
|
817 "&&)%&%$$$%%%%&&***=-~]~!:_", |
|
818 "**$=<-&%%%%&&&**==-~/[_~:_", |
|
819 "**&;}<-*&&&&***==-!/|1:/2:", |
|
820 "**&;}<-*&&&&***==-!/|1:/2:", |
|
821 "==&!31<;=****===-!/411:_5:", |
|
822 "-=*!311@!-====--!/6111:_52", |
|
823 "-=*!311@!-====--!/6111:_52", |
|
824 "--*!3111@~;=--;!/<1111::75", |
|
825 ";;*;)1111{];;;~/@111185:95", |
|
826 ";;*;)1111{];;;~/@111185:97", |
|
827 ";;*=!)11118]~~_{1111852:97", |
|
828 ";;*=!)11118]~~_{1111852:97", |
|
829 "!!*=;~)11118_:81111852:207", |
|
830 "~~==-;])1111)#1111872222a9", |
|
831 "~~==-;])1111)#1111872222a9", |
|
832 "~~=--;!/#111111118722255a0", |
|
833 "]]--;;!]_#11111187522557b0", |
|
834 "]]--;;!]_#11111187522557b0", |
|
835 "//;;;!!~/2#1111#95255779ba", |
|
836 "//;!!~~]]_5#11#975557799cb", |
|
837 "//;!!~~]]_5#11#975557799ca", |
|
838 "__!~~]]//_27009755779900db", |
|
839 "::~]]//__:2257777799000adb", |
|
840 "::~]]//__:2257777799000adb", |
|
841 ":2]//__::225557799000aabeb", |
|
842 ";52__::225557799000aaabde_", |
|
843 ";52__::225557799000aaabde_", |
|
844 "[2779900aaabbcccdddeeeefeg", |
|
845 ".>;200aaabbcccdddeeeefc:|.", |
|
846 ".>;200aaabbcccdddeeeefc2|."}; |
|
847 |
|
848 static char * sbgripdown_xpm[] = { |
|
849 "26 34 39 1", |
|
850 " c None", |
|
851 ". c #949294", |
|
852 "+ c #9C9E9C", |
|
853 "@ c #9C9A9C", |
|
854 "# c #949694", |
|
855 "$ c #8C8E8C", |
|
856 "% c #8C8A8C", |
|
857 "& c #848684", |
|
858 "* c #848284", |
|
859 "= c #7B7D7B", |
|
860 "- c #7B797B", |
|
861 "; c #6B696B", |
|
862 "> c #636563", |
|
863 ", c #737573", |
|
864 "' c #636163", |
|
865 ") c #737173", |
|
866 "! c #5A5D5A", |
|
867 "~ c #6B6D6B", |
|
868 "{ c #5A595A", |
|
869 "] c #B5B6B5", |
|
870 "^ c #BDBEBD", |
|
871 "/ c #ADAEAD", |
|
872 "( c #BDBABD", |
|
873 "_ c #525552", |
|
874 ": c #313031", |
|
875 "< c #525152", |
|
876 "[ c #ADAAAD", |
|
877 "} c #BDBAB5", |
|
878 "| c #4A4D4A", |
|
879 "1 c #4A494A", |
|
880 "2 c #C6C3C6", |
|
881 "3 c #C6CBC6", |
|
882 "4 c #E7E7E7", |
|
883 "5 c #DEDFDE", |
|
884 "6 c #E7E3E7", |
|
885 "7 c #DEE3DE", |
|
886 "8 c #CECBCE", |
|
887 "9 c #8C928C", |
|
888 "0 c #CECFCE", |
|
889 "..+++@@@###...$$%&&**==-;>", |
|
890 "$.++@@@@##...$$%%&**==-->>", |
|
891 "$$+@@@@###..$$%%&&*==--,>>", |
|
892 "$$@@@@###..$$%%&&**==-,,>'", |
|
893 "%%@@@###..$$$%&&**==--,,''", |
|
894 "%%@@###..$$$%&&**==--,,)''", |
|
895 "%%@###...$$%%&&*==--,,))'!", |
|
896 "&&###...$$%%&&**==--,)))!!", |
|
897 "&&##...$$%%&&**==--,,))~!!", |
|
898 "&&#...$$%%&&**==--,,))~~!{", |
|
899 "**...$$%%&&**==--,,))~~;!{", |
|
900 "**..$$%%&&**===--,)))~~;{{", |
|
901 "**.$$%%&]^&===//,,))~~;;{{", |
|
902 "==$$%%&&]^*==-((,))~~;;>{_", |
|
903 "==$%%&&***::--,,::~~;;;>__", |
|
904 "==%%&&&**=::-,,)::~~;;>>__", |
|
905 "--%&&&**==--,,)))~~;;>>>__", |
|
906 "--&&&**==--,,)))~~;;>>>'_<", |
|
907 ",-&&**==]^-,))[[~;;>>>''<<", |
|
908 ",,&**==-]^-)))}};;>>>'''<<", |
|
909 ",,**==--,,::)~~;::>>'''!<<", |
|
910 "))*==--,,)::~~;;::>'''!!<|", |
|
911 "))==--,,)))~~;;;>>'''!!!||", |
|
912 "))=--,,)))~~;;;>>'''!!!{||", |
|
913 "~~--,,)))~~;;;>>'''!!!{{||", |
|
914 "~~-,,)))~~;;>>>'''!!!{{{|1", |
|
915 ";;,,)))~~;;>>>'''!!!{{{_1<", |
|
916 "~;,)))~~;;>>>'''!!!{{{__1'", |
|
917 "%>~))~~;;>>>'''!!!{{{__|1$", |
|
918 "2>>~~~;;>>>''!!!{{{{__<113", |
|
919 "4%'';;;>>>''!!!{{{{__<11%4", |
|
920 "45-!!'>>>''!!!{{{{_<|11)64", |
|
921 "447+!{{___<<<||||1111|+444", |
|
922 "444489~__<<<||||111>$04444"}; |
|
923 |
|
924 static char * sbgripup_xpm[] = { |
|
925 "26 34 38 1", |
|
926 " c None", |
|
927 ". c #E7E7E7", |
|
928 "+ c #D6DBD6", |
|
929 "@ c #C6C7C6", |
|
930 "# c #B5B6B5", |
|
931 "$ c #ADAEAD", |
|
932 "% c #ADAAAD", |
|
933 "& c #A5A6A5", |
|
934 "* c #A5A2A5", |
|
935 "= c #BDBEBD", |
|
936 "- c #DEDFDE", |
|
937 "; c #C6CBC6", |
|
938 "> c #9C9E9C", |
|
939 ", c #E7E3E7", |
|
940 "' c #BDBABD", |
|
941 ") c #B5B2B5", |
|
942 "! c #9C9A9C", |
|
943 "~ c #DEE3DE", |
|
944 "{ c #949694", |
|
945 "] c #D6D7D6", |
|
946 "^ c #949294", |
|
947 "/ c #DEDBDE", |
|
948 "( c #8C8E8C", |
|
949 "_ c #8C8A8C", |
|
950 ": c #848684", |
|
951 "< c #D6D3CE", |
|
952 "[ c #CECBCE", |
|
953 "} c #D6D3D6", |
|
954 "| c #848284", |
|
955 "1 c #313031", |
|
956 "2 c #7B7D7B", |
|
957 "3 c #CECFCE", |
|
958 "4 c #CECBC6", |
|
959 "5 c #7B797B", |
|
960 "6 c #737573", |
|
961 "7 c #737173", |
|
962 "8 c #6B6D6B", |
|
963 "9 c #6B696B", |
|
964 "....+@#$$%%%%&&&***$=-....", |
|
965 "...;$$$$$%%%&&&&**>>>>@...", |
|
966 ".,'$$)#'#####)))$$$%*!!$~.", |
|
967 ".=$)#'''####))))$$$%%*!{'.", |
|
968 "]$$''''#####)))$$$%%%&*{^/", |
|
969 "=$#'''#####)))$$$$%%&&&!^#", |
|
970 "$$'''#####))))$$$%%%&&*>(!", |
|
971 "$$''#####))))$$$%%%&&&*>(^", |
|
972 "$$######))))$$$$%%&&&**>(_", |
|
973 "%$#####))))$$$$%%%&&***>__", |
|
974 "%$####))))$$$$%%%&&&**>>__", |
|
975 "%%###)))))$$$%%%&&&**>>>_:", |
|
976 "%%##))))<])$$%[[&&***>>!::", |
|
977 "%%#)))))<]$$%%}<&&**>>!!:|", |
|
978 "&%)))))$$$11%%&&11*>>>!!:|", |
|
979 "&&))))$$$$11%&&&11*>>!!{||", |
|
980 "&&)))$$$$$%%%&&&**>>!!!{|2", |
|
981 "&&))$$$$$%%%&&&**>>>!!{{|2", |
|
982 "*&)$$$$$3]%&&&4@*>>!!{{{22", |
|
983 "**$$$$$%3]%&&&<<>>!!!{{^25", |
|
984 "**$$$$%%%%11&**>11!!{{^^25", |
|
985 "**$$$%%%%&11***>11!!{{^^55", |
|
986 "**$$%%%%&&&***>>!!!{{^^(55", |
|
987 ">>$%%%%&&&***>>>!!{{^^((56", |
|
988 ">>%%%%&&&&***>>!!!{{^^((66", |
|
989 ">>%%%&&&&***>>!!!{{^^((_67", |
|
990 "!>%%&&&&***>>>!!{{{^^(__67", |
|
991 "!!%&&&&***>>>!!!{{^^((_:77", |
|
992 "!!&&&&***>>>!!!{{^^((__:77", |
|
993 "!!&&&****>>!!!{{^^^(__::78", |
|
994 "{!&&****>>>!!{{{^^((_::|88", |
|
995 "{{&****>>>!!!{{^^((__:||88", |
|
996 "{{****>>>!!!{{^^^(__::|289", |
|
997 "{{***>>>!!!{{{^^((_::||289"}; |
|
998 |
|
999 static char * sbgripmiddle_xpm[] = { |
|
1000 "26 2 12 1", |
|
1001 " c None", |
|
1002 ". c #949294", |
|
1003 "+ c #A5A2A5", |
|
1004 "@ c #9C9E9C", |
|
1005 "# c #9C9A9C", |
|
1006 "$ c #949694", |
|
1007 "% c #8C8E8C", |
|
1008 "& c #8C8A8C", |
|
1009 "* c #848684", |
|
1010 "= c #848284", |
|
1011 "- c #7B7D7B", |
|
1012 "; c #6B696B", |
|
1013 "..++@@@###$$$..%%&&*==--;;", |
|
1014 "..++@@@###$$$..%%&&*==--;;"}; |
|
1015 |
|
1016 |
|
1017 static char * listviewhighmiddle_xpm[] = { |
|
1018 "8 46 197 2", |
|
1019 " c None", |
|
1020 ". c #66759E", |
|
1021 "+ c #6C789D", |
|
1022 "@ c #6A789E", |
|
1023 "# c #6B789E", |
|
1024 "$ c #6A779D", |
|
1025 "% c #6C789C", |
|
1026 "& c #6F7D9B", |
|
1027 "* c #6F7D9A", |
|
1028 "= c #9DB6EE", |
|
1029 "- c #9DB6ED", |
|
1030 "; c #9CB6ED", |
|
1031 "> c #A1B6EF", |
|
1032 ", c #A2B6F0", |
|
1033 "' c #93AAE9", |
|
1034 ") c #95ABEA", |
|
1035 "! c #94ABEA", |
|
1036 "~ c #94A9E8", |
|
1037 "{ c #8BA8EA", |
|
1038 "] c #8BA7EA", |
|
1039 "^ c #8AA7EA", |
|
1040 "/ c #8EAAE8", |
|
1041 "( c #8FAAE8", |
|
1042 "_ c #88A2E7", |
|
1043 ": c #8CA3E8", |
|
1044 "< c #8BA3E7", |
|
1045 "[ c #8BA3E8", |
|
1046 "} c #8BA2E7", |
|
1047 "| c #8CA2E7", |
|
1048 "1 c #8DA2E7", |
|
1049 "2 c #87A1E8", |
|
1050 "3 c #87A1E9", |
|
1051 "4 c #86A0E8", |
|
1052 "5 c #86A1E7", |
|
1053 "6 c #87A2E7", |
|
1054 "7 c #859EE9", |
|
1055 "8 c #849DE9", |
|
1056 "9 c #869EE9", |
|
1057 "0 c #869FE9", |
|
1058 "a c #7C9BEA", |
|
1059 "b c #7C9CEA", |
|
1060 "c c #7B9CEA", |
|
1061 "d c #7C9BE9", |
|
1062 "e c #7E9CE9", |
|
1063 "f c #7B9AEA", |
|
1064 "g c #7C99E9", |
|
1065 "h c #7C9AEA", |
|
1066 "i c #7B9AE8", |
|
1067 "j c #7A9AEA", |
|
1068 "k c #7996E1", |
|
1069 "l c #7C96E4", |
|
1070 "m c #7B96E3", |
|
1071 "n c #7B95E3", |
|
1072 "o c #7E95E5", |
|
1073 "p c #7E95E6", |
|
1074 "q c #7292E1", |
|
1075 "r c #7490DF", |
|
1076 "s c #7591E0", |
|
1077 "t c #7590DF", |
|
1078 "u c #7392E1", |
|
1079 "v c #6D8CDE", |
|
1080 "w c #6F8EDD", |
|
1081 "x c #6E8DDD", |
|
1082 "y c #6E8DDE", |
|
1083 "z c #6F8EDE", |
|
1084 "A c #6E8EDE", |
|
1085 "B c #718EDD", |
|
1086 "C c #728EDD", |
|
1087 "D c #6B89E0", |
|
1088 "E c #6C89DF", |
|
1089 "F c #6D89E0", |
|
1090 "G c #6D89DF", |
|
1091 "H c #6C88DF", |
|
1092 "I c #6D88DF", |
|
1093 "J c #6D86DD", |
|
1094 "K c #6086E0", |
|
1095 "L c #6686E0", |
|
1096 "M c #6586E0", |
|
1097 "N c #6486E0", |
|
1098 "O c #6485E0", |
|
1099 "P c #6786DF", |
|
1100 "Q c #5F85E0", |
|
1101 "R c #6583DE", |
|
1102 "S c #6683DE", |
|
1103 "T c #6682DD", |
|
1104 "U c #6086DF", |
|
1105 "V c #5F86E0", |
|
1106 "W c #567ED7", |
|
1107 "X c #567ED8", |
|
1108 "Y c #557DD7", |
|
1109 "Z c #5A7FD8", |
|
1110 "` c #6281DA", |
|
1111 " . c #5379D9", |
|
1112 ".. c #5278D9", |
|
1113 "+. c #547BD8", |
|
1114 "@. c #4C73D7", |
|
1115 "#. c #4B72D2", |
|
1116 "$. c #4C73D4", |
|
1117 "%. c #4C73D3", |
|
1118 "&. c #4B72D4", |
|
1119 "*. c #4F75D3", |
|
1120 "=. c #5074D2", |
|
1121 "-. c #4971D0", |
|
1122 ";. c #4871D0", |
|
1123 ">. c #335ECF", |
|
1124 ",. c #325ECB", |
|
1125 "'. c #335ECD", |
|
1126 "). c #335ECE", |
|
1127 "!. c #325DCD", |
|
1128 "~. c #2E59C9", |
|
1129 "{. c #3059C9", |
|
1130 "]. c #2F59C9", |
|
1131 "^. c #2F59C8", |
|
1132 "/. c #2B59CA", |
|
1133 "(. c #3355C6", |
|
1134 "_. c #3354C5", |
|
1135 ":. c #3156C7", |
|
1136 "<. c #3056C7", |
|
1137 "[. c #3355C7", |
|
1138 "}. c #3355C5", |
|
1139 "|. c #254EBF", |
|
1140 "1. c #1F51C1", |
|
1141 "2. c #234FC0", |
|
1142 "3. c #234FBF", |
|
1143 "4. c #2350C0", |
|
1144 "5. c #1E50BE", |
|
1145 "6. c #1D50C0", |
|
1146 "7. c #264DBE", |
|
1147 "8. c #264CBD", |
|
1148 "9. c #254DBE", |
|
1149 "0. c #244EBF", |
|
1150 "a. c #254DBF", |
|
1151 "b. c #234CBF", |
|
1152 "c. c #244CC0", |
|
1153 "d. c #244BC0", |
|
1154 "e. c #234BC0", |
|
1155 "f. c #234BBF", |
|
1156 "g. c #234CBE", |
|
1157 "h. c #2049B7", |
|
1158 "i. c #2A49B5", |
|
1159 "j. c #2749B5", |
|
1160 "k. c #2749B6", |
|
1161 "l. c #2D49B4", |
|
1162 "m. c #2649B6", |
|
1163 "n. c #2946B5", |
|
1164 "o. c #2A48B6", |
|
1165 "p. c #2947B5", |
|
1166 "q. c #2946B6", |
|
1167 "r. c #2848B6", |
|
1168 "s. c #2549B5", |
|
1169 "t. c #2648B6", |
|
1170 "u. c #2744B5", |
|
1171 "v. c #2744B4", |
|
1172 "w. c #2744AF", |
|
1173 "x. c #2543B4", |
|
1174 "y. c #2543B2", |
|
1175 "z. c #2442B2", |
|
1176 "A. c #2442B3", |
|
1177 "B. c #2442B5", |
|
1178 "C. c #2543B3", |
|
1179 "D. c #1F40B1", |
|
1180 "E. c #1E40B1", |
|
1181 "F. c #243EAE", |
|
1182 "G. c #273BAC", |
|
1183 "H. c #263DAC", |
|
1184 "I. c #253CAB", |
|
1185 "J. c #273CAB", |
|
1186 "K. c #273CAC", |
|
1187 "L. c #263BAA", |
|
1188 "M. c #253CAE", |
|
1189 "N. c #263BA6", |
|
1190 "O. c #253BA5", |
|
1191 "P. c #253AA5", |
|
1192 "Q. c #253BA6", |
|
1193 "R. c #253CA7", |
|
1194 "S. c #263AA6", |
|
1195 "T. c #243CA6", |
|
1196 "U. c #253CA5", |
|
1197 "V. c #273BA8", |
|
1198 "W. c #2F4DA4", |
|
1199 "X. c #2F4DA3", |
|
1200 "Y. c #1B2F85", |
|
1201 "Z. c #B5B5B6", |
|
1202 "`. c #B5B5B5", |
|
1203 " + c #B5B6B6", |
|
1204 ".+ c #B5B4B6", |
|
1205 "++ c #C2C3C5", |
|
1206 "@+ c #C0C3C3", |
|
1207 "#+ c #C1C3C4", |
|
1208 "$+ c #E3E3E3", |
|
1209 "%+ c #E3E3E4", |
|
1210 "&+ c #E4E3E4", |
|
1211 "*+ c #E2E3E4", |
|
1212 "=+ c #ECEEEB", |
|
1213 "-+ c #EBEDEA", |
|
1214 ";+ c #EEF0ED", |
|
1215 ">+ c #EFF0EE", |
|
1216 ". + @ @ # # $ % ", |
|
1217 "& & * & & & & & ", |
|
1218 "= = - = = ; > , ", |
|
1219 "' ) ! ! ! ) ' ~ ", |
|
1220 "{ ] { { { ^ / ( ", |
|
1221 "_ : < [ : } | 1 ", |
|
1222 "2 2 2 3 2 4 5 6 ", |
|
1223 "7 7 7 7 7 8 9 0 ", |
|
1224 "a b a a a c d e ", |
|
1225 "f g h h h h i j ", |
|
1226 "k l m m m n o p ", |
|
1227 "q q q q q q q q ", |
|
1228 "r r s s s t q u ", |
|
1229 "v w x y z A B C ", |
|
1230 "D E F F G F H I ", |
|
1231 "J K L M N O P Q ", |
|
1232 "R R S S S T U V ", |
|
1233 "W W X X X Y Z ` ", |
|
1234 " . . . . ...+.W ", |
|
1235 " . . . . ..... .", |
|
1236 "@.#.$.$.%.&.*.=.", |
|
1237 "-.-.;.-.-.-.-.-.", |
|
1238 ">.,.'.).).!.!.>.", |
|
1239 "~.{.].^.].^././.", |
|
1240 "(.(.(.(.(._.:.<.", |
|
1241 "(.(.[.[.[.[.(.}.", |
|
1242 "|.1.2.3.3.4.5.6.", |
|
1243 "7.7.7.7.7.8.9.0.", |
|
1244 "a.b.c.d.c.e.f.g.", |
|
1245 "h.i.j.k.j.k.l.m.", |
|
1246 "n.o.p.q.r.p.s.t.", |
|
1247 "u.u.v.u.u.u.u.u.", |
|
1248 "w.x.y.z.A.y.B.C.", |
|
1249 "D.D.E.D.D.D.D.D.", |
|
1250 "D.D.E.D.D.D.D.D.", |
|
1251 "F.G.H.I.J.K.L.M.", |
|
1252 "N.N.O.N.N.P.Q.R.", |
|
1253 "N.N.S.N.N.N.N.N.", |
|
1254 "T.N.T.T.T.U.N.V.", |
|
1255 "W.W.X.W.W.W.W.W.", |
|
1256 "W.W.W.W.W.W.W.W.", |
|
1257 "Y.Y.Y.Y.Y.Y.Y.Y.", |
|
1258 "Z.`. + +.+Z.`.`.", |
|
1259 "++@+#+#+#+#+@+@+", |
|
1260 "$+%+&+&+*+%+%+%+", |
|
1261 "=+-+;+-+-+>+-+-+"}; |
|
1262 |
|
1263 |
|
1264 |
|
1265 static char * listviewhighcornerleft_xpm[] = { |
|
1266 "100 46 1475 2", |
|
1267 " c None", |
|
1268 ". c #FBFBFC", |
|
1269 "+ c #E8EAE7", |
|
1270 "@ c #758DC3", |
|
1271 "# c #42599E", |
|
1272 "$ c #28418A", |
|
1273 "% c #19418F", |
|
1274 "& c #3F5695", |
|
1275 "* c #415896", |
|
1276 "= c #435A98", |
|
1277 "- c #445C99", |
|
1278 "; c #465E9B", |
|
1279 "> c #48609B", |
|
1280 ", c #49629C", |
|
1281 "' c #4A639D", |
|
1282 ") c #49639D", |
|
1283 "! c #4A629D", |
|
1284 "~ c #4B639D", |
|
1285 "{ c #4B649D", |
|
1286 "] c #4C659D", |
|
1287 "^ c #4D669D", |
|
1288 "/ c #4E689D", |
|
1289 "( c #506A9D", |
|
1290 "_ c #516A9D", |
|
1291 ": c #536B9C", |
|
1292 "< c #546C9C", |
|
1293 "[ c #566D9B", |
|
1294 "} c #576D9B", |
|
1295 "| c #586E9C", |
|
1296 "1 c #5B6F9D", |
|
1297 "2 c #61739D", |
|
1298 "3 c #63749E", |
|
1299 "4 c #64749E", |
|
1300 "5 c #68769E", |
|
1301 "6 c #6A779E", |
|
1302 "7 c #6B789E", |
|
1303 "8 c #66759E", |
|
1304 "9 c #6C789D", |
|
1305 "0 c #EEF0ED", |
|
1306 "a c #D0D3DC", |
|
1307 "b c #3E51A3", |
|
1308 "c c #28428B", |
|
1309 "d c #29428C", |
|
1310 "e c #425996", |
|
1311 "f c #455C99", |
|
1312 "g c #485F9C", |
|
1313 "h c #49619E", |
|
1314 "i c #4A63A0", |
|
1315 "j c #4B64A1", |
|
1316 "k c #4B65A1", |
|
1317 "l c #4C66A2", |
|
1318 "m c #4D67A2", |
|
1319 "n c #4F69A1", |
|
1320 "o c #516AA1", |
|
1321 "p c #536CA0", |
|
1322 "q c #556DA1", |
|
1323 "r c #576EA0", |
|
1324 "s c #586F9F", |
|
1325 "t c #586E9F", |
|
1326 "u c #596F9E", |
|
1327 "v c #5A6F9E", |
|
1328 "w c #5C709E", |
|
1329 "x c #5E719E", |
|
1330 "y c #5F729F", |
|
1331 "z c #62739F", |
|
1332 "A c #63739E", |
|
1333 "B c #64749D", |
|
1334 "C c #65749E", |
|
1335 "D c #69769D", |
|
1336 "E c #6C799E", |
|
1337 "F c #6D799F", |
|
1338 "G c #707D9F", |
|
1339 "H c #717F9E", |
|
1340 "I c #6E7AA1", |
|
1341 "J c #6C789E", |
|
1342 "K c #6F7C9C", |
|
1343 "L c #6F7D9B", |
|
1344 "M c #2A4AA0", |
|
1345 "N c #4971D0", |
|
1346 "O c #4C72D8", |
|
1347 "P c #5472C0", |
|
1348 "Q c #5573BF", |
|
1349 "R c #5774BF", |
|
1350 "S c #5875BF", |
|
1351 "T c #5976C1", |
|
1352 "U c #5A76C1", |
|
1353 "V c #5C78C2", |
|
1354 "W c #5E7AC2", |
|
1355 "X c #607CC3", |
|
1356 "Y c #627EC3", |
|
1357 "Z c #637FC4", |
|
1358 "` c #6581C5", |
|
1359 " . c #6682C6", |
|
1360 ".. c #6783C7", |
|
1361 "+. c #6984C8", |
|
1362 "@. c #6B85C9", |
|
1363 "#. c #6D87CA", |
|
1364 "$. c #6F89CB", |
|
1365 "%. c #718CCD", |
|
1366 "&. c #748ECF", |
|
1367 "*. c #7690D0", |
|
1368 "=. c #7992D2", |
|
1369 "-. c #7A93D3", |
|
1370 ";. c #7C95D5", |
|
1371 ">. c #7F98D7", |
|
1372 ",. c #8099D8", |
|
1373 "'. c #859CDB", |
|
1374 "). c #8AA0DD", |
|
1375 "!. c #8DA3DF", |
|
1376 "~. c #8FA5E0", |
|
1377 "{. c #90A5E0", |
|
1378 "]. c #91A6E1", |
|
1379 "^. c #91A5E1", |
|
1380 "/. c #90A4E0", |
|
1381 "(. c #8EA3DE", |
|
1382 "_. c #92A6E2", |
|
1383 ":. c #8FA4DF", |
|
1384 "<. c #90A5DE", |
|
1385 "[. c #90A5DC", |
|
1386 "}. c #90A6DB", |
|
1387 "|. c #91A6E0", |
|
1388 "1. c #93A7E2", |
|
1389 "2. c #95AAE6", |
|
1390 "3. c #99AEEA", |
|
1391 "4. c #9AB2EA", |
|
1392 "5. c #99B1E9", |
|
1393 "6. c #99B1E7", |
|
1394 "7. c #98AFE6", |
|
1395 "8. c #93A8E2", |
|
1396 "9. c #97ACE7", |
|
1397 "0. c #9AB3EB", |
|
1398 "a. c #9DB5ED", |
|
1399 "b. c #9DB6EE", |
|
1400 "c. c #375095", |
|
1401 "d. c #4056AD", |
|
1402 "e. c #506DCD", |
|
1403 "f. c #4360CC", |
|
1404 "g. c #345ED6", |
|
1405 "h. c #335ECF", |
|
1406 "i. c #355ED6", |
|
1407 "j. c #355FD6", |
|
1408 "k. c #365FD6", |
|
1409 "l. c #355FD0", |
|
1410 "m. c #3760D5", |
|
1411 "n. c #3A63D4", |
|
1412 "o. c #3C63D1", |
|
1413 "p. c #3B63CD", |
|
1414 "q. c #3B63C9", |
|
1415 "r. c #3B62C9", |
|
1416 "s. c #3D63C8", |
|
1417 "t. c #4065C5", |
|
1418 "u. c #4567C5", |
|
1419 "v. c #496BC5", |
|
1420 "w. c #4F70C7", |
|
1421 "x. c #5273C8", |
|
1422 "y. c #5475CA", |
|
1423 "z. c #5777CB", |
|
1424 "A. c #5879CD", |
|
1425 "B. c #5A7BCE", |
|
1426 "C. c #5D7DCF", |
|
1427 "D. c #5F7ECF", |
|
1428 "E. c #617FD0", |
|
1429 "F. c #6381D1", |
|
1430 "G. c #6583D2", |
|
1431 "H. c #6785D2", |
|
1432 "I. c #6886D3", |
|
1433 "J. c #6A88D4", |
|
1434 "K. c #6C89D5", |
|
1435 "L. c #6E8BD6", |
|
1436 "M. c #708CD7", |
|
1437 "N. c #718DD8", |
|
1438 "O. c #738EDA", |
|
1439 "P. c #748FDB", |
|
1440 "Q. c #7691DC", |
|
1441 "R. c #7893DD", |
|
1442 "S. c #7994DD", |
|
1443 "T. c #7A96DE", |
|
1444 "U. c #7B97DF", |
|
1445 "V. c #7C98E0", |
|
1446 "W. c #7E9AE2", |
|
1447 "X. c #7F9BE3", |
|
1448 "Y. c #829DE4", |
|
1449 "Z. c #849FE5", |
|
1450 "`. c #87A0E6", |
|
1451 " + c #88A1E7", |
|
1452 ".+ c #89A2E6", |
|
1453 "++ c #8CA3E7", |
|
1454 "@+ c #8EA5E9", |
|
1455 "#+ c #8EA6E9", |
|
1456 "$+ c #8FA7E9", |
|
1457 "%+ c #8FA8E8", |
|
1458 "&+ c #8FA9E8", |
|
1459 "*+ c #91A9E8", |
|
1460 "=+ c #90A7E8", |
|
1461 "-+ c #8FA8EA", |
|
1462 ";+ c #90AAEA", |
|
1463 ">+ c #93ABEA", |
|
1464 ",+ c #95ABEA", |
|
1465 "'+ c #93ABE9", |
|
1466 ")+ c #94ABEA", |
|
1467 "!+ c #90A9EA", |
|
1468 "~+ c #93AAE9", |
|
1469 "{+ c #273E7E", |
|
1470 "]+ c #345ED5", |
|
1471 "^+ c #3D60CE", |
|
1472 "/+ c #3D60CF", |
|
1473 "(+ c #345ECF", |
|
1474 "_+ c #335ED0", |
|
1475 ":+ c #355FD3", |
|
1476 "<+ c #3A60CE", |
|
1477 "[+ c #3A5FCB", |
|
1478 "}+ c #385FC9", |
|
1479 "|+ c #3B60C8", |
|
1480 "1+ c #3C63CB", |
|
1481 "2+ c #3E64CB", |
|
1482 "3+ c #4166CA", |
|
1483 "4+ c #4568C9", |
|
1484 "5+ c #4A6CC7", |
|
1485 "6+ c #4F71C8", |
|
1486 "7+ c #5172CA", |
|
1487 "8+ c #5475CE", |
|
1488 "9+ c #5678D3", |
|
1489 "0+ c #597CD6", |
|
1490 "a+ c #5C7ED7", |
|
1491 "b+ c #5E7FD8", |
|
1492 "c+ c #6181D9", |
|
1493 "d+ c #6383DA", |
|
1494 "e+ c #6585DA", |
|
1495 "f+ c #6786DB", |
|
1496 "g+ c #6988DC", |
|
1497 "h+ c #6B8ADD", |
|
1498 "i+ c #6D8BDE", |
|
1499 "j+ c #6F8DDE", |
|
1500 "k+ c #718EDF", |
|
1501 "l+ c #728FE0", |
|
1502 "m+ c #7390E1", |
|
1503 "n+ c #7390E2", |
|
1504 "o+ c #7491E3", |
|
1505 "p+ c #7592E4", |
|
1506 "q+ c #7693E4", |
|
1507 "r+ c #7794E5", |
|
1508 "s+ c #7894E5", |
|
1509 "t+ c #7995E6", |
|
1510 "u+ c #7B96E6", |
|
1511 "v+ c #7C97E7", |
|
1512 "w+ c #7D9AE8", |
|
1513 "x+ c #7F9CE9", |
|
1514 "y+ c #829DE9", |
|
1515 "z+ c #849EE9", |
|
1516 "A+ c #859EE9", |
|
1517 "B+ c #87A0E7", |
|
1518 "C+ c #8AA2E7", |
|
1519 "D+ c #8BA3E8", |
|
1520 "E+ c #89A2E7", |
|
1521 "F+ c #8CA6EA", |
|
1522 "G+ c #8BA6EA", |
|
1523 "H+ c #8BA7EA", |
|
1524 "I+ c #8CA3E8", |
|
1525 "J+ c #8BA8EA", |
|
1526 "K+ c #8CA7EA", |
|
1527 "L+ c #8CA8EA", |
|
1528 "M+ c #4659C7", |
|
1529 "N+ c #355ECF", |
|
1530 "O+ c #3660CF", |
|
1531 "P+ c #3860CE", |
|
1532 "Q+ c #3961CD", |
|
1533 "R+ c #3B61CB", |
|
1534 "S+ c #3B61CA", |
|
1535 "T+ c #3D62CA", |
|
1536 "U+ c #3D63CA", |
|
1537 "V+ c #4165CB", |
|
1538 "W+ c #456ACB", |
|
1539 "X+ c #4B6FCD", |
|
1540 "Y+ c #5174CE", |
|
1541 "Z+ c #5275D1", |
|
1542 "`+ c #5477D4", |
|
1543 " @ c #5678D9", |
|
1544 ".@ c #587ADB", |
|
1545 "+@ c #597BDB", |
|
1546 "@@ c #5B7DDC", |
|
1547 "#@ c #5E7FDC", |
|
1548 "$@ c #6081DD", |
|
1549 "%@ c #6283DE", |
|
1550 "&@ c #6484DF", |
|
1551 "*@ c #6787E0", |
|
1552 "=@ c #6989E1", |
|
1553 "-@ c #6B8BE1", |
|
1554 ";@ c #6D8DE2", |
|
1555 ">@ c #6F8EE3", |
|
1556 ",@ c #718FE4", |
|
1557 "'@ c #7290E4", |
|
1558 ")@ c #7491E5", |
|
1559 "!@ c #7692E6", |
|
1560 "~@ c #7793E5", |
|
1561 "{@ c #7894E6", |
|
1562 "]@ c #7895E7", |
|
1563 "^@ c #7996E8", |
|
1564 "/@ c #7A97E8", |
|
1565 "(@ c #7B98E9", |
|
1566 "_@ c #7D99E8", |
|
1567 ":@ c #7F9AE8", |
|
1568 "<@ c #7F9BE9", |
|
1569 "[@ c #7F9CEA", |
|
1570 "}@ c #859EE8", |
|
1571 "|@ c #859FE8", |
|
1572 "1@ c #85A0E9", |
|
1573 "2@ c #869FE9", |
|
1574 "3@ c #86A1E7", |
|
1575 "4@ c #86A0E9", |
|
1576 "5@ c #87A1E7", |
|
1577 "6@ c #88A2E7", |
|
1578 "7@ c #87A1E9", |
|
1579 "8@ c #5A6FCA", |
|
1580 "9@ c #365FCF", |
|
1581 "0@ c #345ED0", |
|
1582 "a@ c #385FCC", |
|
1583 "b@ c #385FCE", |
|
1584 "c@ c #3A61CC", |
|
1585 "d@ c #3B62CD", |
|
1586 "e@ c #3E64CD", |
|
1587 "f@ c #4167CF", |
|
1588 "g@ c #4469CF", |
|
1589 "h@ c #486CD1", |
|
1590 "i@ c #4D71D2", |
|
1591 "j@ c #5175D4", |
|
1592 "k@ c #5376D6", |
|
1593 "l@ c #5578DA", |
|
1594 "m@ c #5679DC", |
|
1595 "n@ c #587BDD", |
|
1596 "o@ c #5A7DDE", |
|
1597 "p@ c #5D80DE", |
|
1598 "q@ c #5F82DF", |
|
1599 "r@ c #6284DF", |
|
1600 "s@ c #6585E0", |
|
1601 "t@ c #6787E1", |
|
1602 "u@ c #6988E2", |
|
1603 "v@ c #6B8AE2", |
|
1604 "w@ c #6D8CE3", |
|
1605 "x@ c #6E8DE3", |
|
1606 "y@ c #708EE4", |
|
1607 "z@ c #718FE3", |
|
1608 "A@ c #7391E4", |
|
1609 "B@ c #7592E5", |
|
1610 "C@ c #7895E5", |
|
1611 "D@ c #7996E6", |
|
1612 "E@ c #7A97E6", |
|
1613 "F@ c #7B98E7", |
|
1614 "G@ c #7A98E8", |
|
1615 "H@ c #7B99E9", |
|
1616 "I@ c #7E9AE9", |
|
1617 "J@ c #7D9AE9", |
|
1618 "K@ c #7E9AEA", |
|
1619 "L@ c #809CE9", |
|
1620 "M@ c #819DE8", |
|
1621 "N@ c #7F9BEA", |
|
1622 "O@ c #819DE9", |
|
1623 "P@ c #819CE9", |
|
1624 "Q@ c #839EE9", |
|
1625 "R@ c #839EE8", |
|
1626 "S@ c #839DEA", |
|
1627 "T@ c #859FE9", |
|
1628 "U@ c #87A0E8", |
|
1629 "V@ c #86A0E8", |
|
1630 "W@ c #87A1E8", |
|
1631 "X@ c #3760CF", |
|
1632 "Y@ c #3A61CE", |
|
1633 "Z@ c #3A62CD", |
|
1634 "`@ c #3F66CE", |
|
1635 " # c #4368D0", |
|
1636 ".# c #466CD2", |
|
1637 "+# c #496DD5", |
|
1638 "@# c #4E72D6", |
|
1639 "## c #5175D8", |
|
1640 "$# c #5276DA", |
|
1641 "%# c #5578DC", |
|
1642 "&# c #577ADC", |
|
1643 "*# c #597CDD", |
|
1644 "=# c #5B7DDD", |
|
1645 "-# c #5D7FDE", |
|
1646 ";# c #5E81DE", |
|
1647 "># c #6183DF", |
|
1648 ",# c #6386DF", |
|
1649 "'# c #6687E0", |
|
1650 ")# c #6888E0", |
|
1651 "!# c #6A89E1", |
|
1652 "~# c #6C8AE1", |
|
1653 "{# c #6E8CE2", |
|
1654 "]# c #6F8DE2", |
|
1655 "^# c #7390E4", |
|
1656 "/# c #7390E3", |
|
1657 "(# c #7491E4", |
|
1658 "_# c #7693E5", |
|
1659 ":# c #7895E6", |
|
1660 "<# c #7896E6", |
|
1661 "[# c #7997E7", |
|
1662 "}# c #7B97E7", |
|
1663 "|# c #7B98E8", |
|
1664 "1# c #7C98E8", |
|
1665 "2# c #7E9BE9", |
|
1666 "3# c #809CEA", |
|
1667 "4# c #819CEA", |
|
1668 "5# c #839DE9", |
|
1669 "6# c #365FD0", |
|
1670 "7# c #3660D0", |
|
1671 "8# c #3961CF", |
|
1672 "9# c #3B63CF", |
|
1673 "0# c #3D64D0", |
|
1674 "a# c #4067D0", |
|
1675 "b# c #4469D2", |
|
1676 "c# c #466BD3", |
|
1677 "d# c #496ED5", |
|
1678 "e# c #4C71D6", |
|
1679 "f# c #4E72D8", |
|
1680 "g# c #5074D9", |
|
1681 "h# c #5376DB", |
|
1682 "i# c #5578DB", |
|
1683 "j# c #587ADC", |
|
1684 "k# c #5B7CDC", |
|
1685 "l# c #5D7EDD", |
|
1686 "m# c #5F80DD", |
|
1687 "n# c #6081DE", |
|
1688 "o# c #6383DE", |
|
1689 "p# c #6686DF", |
|
1690 "q# c #6887E0", |
|
1691 "r# c #6988E0", |
|
1692 "s# c #6B89E1", |
|
1693 "t# c #6C8AE0", |
|
1694 "u# c #6E8CE1", |
|
1695 "v# c #708EE2", |
|
1696 "w# c #718FE2", |
|
1697 "x# c #7290E3", |
|
1698 "y# c #7391E2", |
|
1699 "z# c #7492E1", |
|
1700 "A# c #7592E2", |
|
1701 "B# c #7691E3", |
|
1702 "C# c #7591E3", |
|
1703 "D# c #7692E3", |
|
1704 "E# c #7693E3", |
|
1705 "F# c #7793E4", |
|
1706 "G# c #7893E4", |
|
1707 "H# c #7994E5", |
|
1708 "I# c #7D97E8", |
|
1709 "J# c #7E98E8", |
|
1710 "K# c #7D98E8", |
|
1711 "L# c #7D99E9", |
|
1712 "M# c #7D9BEA", |
|
1713 "N# c #7D9CEA", |
|
1714 "O# c #7E99E8", |
|
1715 "P# c #7D9AEA", |
|
1716 "Q# c #7C9BEA", |
|
1717 "R# c #7C9CEA", |
|
1718 "S# c #355FCF", |
|
1719 "T# c #3860D0", |
|
1720 "U# c #3A62D0", |
|
1721 "V# c #3C64D1", |
|
1722 "W# c #4167D1", |
|
1723 "X# c #4369D3", |
|
1724 "Y# c #466BD4", |
|
1725 "Z# c #486DD5", |
|
1726 "`# c #4A6ED7", |
|
1727 " $ c #4C70D8", |
|
1728 ".$ c #5478D9", |
|
1729 "+$ c #577BDA", |
|
1730 "@$ c #597DDB", |
|
1731 "#$ c #5B7EDB", |
|
1732 "$$ c #5D7FDC", |
|
1733 "%$ c #6182DE", |
|
1734 "&$ c #6284DE", |
|
1735 "*$ c #6485DF", |
|
1736 "=$ c #6586DF", |
|
1737 "-$ c #6787DF", |
|
1738 ";$ c #6888DF", |
|
1739 ">$ c #6A8ADF", |
|
1740 ",$ c #6C8BE0", |
|
1741 "'$ c #6D8CE0", |
|
1742 ")$ c #6E8DE1", |
|
1743 "!$ c #6F8DE1", |
|
1744 "~$ c #708EE1", |
|
1745 "{$ c #718FE0", |
|
1746 "]$ c #728FE1", |
|
1747 "^$ c #7390E0", |
|
1748 "/$ c #738FE0", |
|
1749 "($ c #7490E1", |
|
1750 "_$ c #7590E1", |
|
1751 ":$ c #7591E1", |
|
1752 "<$ c #7592E1", |
|
1753 "[$ c #7692E2", |
|
1754 "}$ c #7794E2", |
|
1755 "|$ c #7894E3", |
|
1756 "1$ c #7996E3", |
|
1757 "2$ c #7A96E5", |
|
1758 "3$ c #7B98E6", |
|
1759 "4$ c #7B9AE8", |
|
1760 "5$ c #7C99E8", |
|
1761 "6$ c #7C96E5", |
|
1762 "7$ c #7D97E7", |
|
1763 "8$ c #7C99E9", |
|
1764 "9$ c #7B9AE9", |
|
1765 "0$ c #7B9AEA", |
|
1766 "a$ c #5B6DCF", |
|
1767 "b$ c #305EC8", |
|
1768 "c$ c #335ECE", |
|
1769 "d$ c #305ECA", |
|
1770 "e$ c #345FCF", |
|
1771 "f$ c #3761D0", |
|
1772 "g$ c #3A62D1", |
|
1773 "h$ c #3C64D2", |
|
1774 "i$ c #4066D3", |
|
1775 "j$ c #466BD5", |
|
1776 "k$ c #486ED6", |
|
1777 "l$ c #4A6ED6", |
|
1778 "m$ c #4D71D8", |
|
1779 "n$ c #4F72D9", |
|
1780 "o$ c #5073D9", |
|
1781 "p$ c #4F72D8", |
|
1782 "q$ c #5074D8", |
|
1783 "r$ c #5276D9", |
|
1784 "s$ c #587ADA", |
|
1785 "t$ c #5B7CDB", |
|
1786 "u$ c #5D7EDC", |
|
1787 "v$ c #5F7FDD", |
|
1788 "w$ c #6081DC", |
|
1789 "x$ c #6182DD", |
|
1790 "y$ c #6283DD", |
|
1791 "z$ c #6484DE", |
|
1792 "A$ c #6585DD", |
|
1793 "B$ c #6787DE", |
|
1794 "C$ c #6988DF", |
|
1795 "D$ c #6A89DE", |
|
1796 "E$ c #6C8ADF", |
|
1797 "F$ c #6D8BDF", |
|
1798 "G$ c #6E8CE0", |
|
1799 "H$ c #6F8DE0", |
|
1800 "I$ c #718EE0", |
|
1801 "J$ c #728FDF", |
|
1802 "K$ c #728FDE", |
|
1803 "L$ c #7290E0", |
|
1804 "M$ c #7190E0", |
|
1805 "N$ c #7291E0", |
|
1806 "O$ c #7191E0", |
|
1807 "P$ c #7392E1", |
|
1808 "Q$ c #7493E1", |
|
1809 "R$ c #7594E1", |
|
1810 "S$ c #7594E2", |
|
1811 "T$ c #7694E2", |
|
1812 "U$ c #7695E2", |
|
1813 "V$ c #7A96E4", |
|
1814 "W$ c #7895E2", |
|
1815 "X$ c #7A96E2", |
|
1816 "Y$ c #7A96E3", |
|
1817 "Z$ c #7B96E3", |
|
1818 "`$ c #7996E1", |
|
1819 " % c #7C96E4", |
|
1820 ".% c #305EC9", |
|
1821 "+% c #315ECC", |
|
1822 "@% c #325ECE", |
|
1823 "#% c #3760D0", |
|
1824 "$% c #3962D1", |
|
1825 "%% c #3E66D3", |
|
1826 "&% c #4268D4", |
|
1827 "*% c #446BD5", |
|
1828 "=% c #476CD6", |
|
1829 "-% c #496ED7", |
|
1830 ";% c #4B6FD7", |
|
1831 ">% c #4C70D7", |
|
1832 ",% c #4E71D7", |
|
1833 "'% c #5074D7", |
|
1834 ")% c #5276D8", |
|
1835 "!% c #5376D8", |
|
1836 "~% c #5779DA", |
|
1837 "{% c #597ADA", |
|
1838 "]% c #5A7BDB", |
|
1839 "^% c #5B7CDA", |
|
1840 "/% c #5D7EDB", |
|
1841 "(% c #5E7FDB", |
|
1842 "_% c #6182DB", |
|
1843 ":% c #6384DC", |
|
1844 "<% c #6586DD", |
|
1845 "[% c #6686DC", |
|
1846 "}% c #6887DD", |
|
1847 "|% c #6988DD", |
|
1848 "1% c #6A8ADE", |
|
1849 "2% c #6B8BDE", |
|
1850 "3% c #6C8CDE", |
|
1851 "4% c #6E8DDF", |
|
1852 "5% c #6E8CDF", |
|
1853 "6% c #6D8DDF", |
|
1854 "7% c #6C8BDF", |
|
1855 "8% c #6F8DDF", |
|
1856 "9% c #718FDF", |
|
1857 "0% c #7290DF", |
|
1858 "a% c #7391E0", |
|
1859 "b% c #7491E0", |
|
1860 "c% c #7292E1", |
|
1861 "d% c #3959C5", |
|
1862 "e% c #345BC5", |
|
1863 "f% c #315EC8", |
|
1864 "g% c #355BC5", |
|
1865 "h% c #325EC8", |
|
1866 "i% c #315ECB", |
|
1867 "j% c #345DCC", |
|
1868 "k% c #335ECD", |
|
1869 "l% c #345ECD", |
|
1870 "m% c #355FCE", |
|
1871 "n% c #3862D0", |
|
1872 "o% c #3E66D2", |
|
1873 "p% c #456BD5", |
|
1874 "q% c #476CD5", |
|
1875 "r% c #4B6ED7", |
|
1876 "s% c #4B6FD6", |
|
1877 "t% c #4B6FD5", |
|
1878 "u% c #4D71D6", |
|
1879 "v% c #5073D7", |
|
1880 "w% c #5174D7", |
|
1881 "x% c #5275D8", |
|
1882 "y% c #5577D8", |
|
1883 "z% c #5678D8", |
|
1884 "A% c #5779D9", |
|
1885 "B% c #587AD8", |
|
1886 "C% c #597CD9", |
|
1887 "D% c #5B7DD9", |
|
1888 "E% c #5D7FDA", |
|
1889 "F% c #5F80DB", |
|
1890 "G% c #6182DC", |
|
1891 "H% c #6484DC", |
|
1892 "I% c #6585DC", |
|
1893 "J% c #6787DD", |
|
1894 "K% c #6988DE", |
|
1895 "L% c #6B8ADE", |
|
1896 "M% c #6B8ADF", |
|
1897 "N% c #6989DE", |
|
1898 "O% c #6B89DE", |
|
1899 "P% c #6E8BDF", |
|
1900 "Q% c #708CDE", |
|
1901 "R% c #708DDF", |
|
1902 "S% c #708FDF", |
|
1903 "T% c #728EDF", |
|
1904 "U% c #6F8EDD", |
|
1905 "V% c #728EDD", |
|
1906 "W% c #7390DF", |
|
1907 "X% c #7490DF", |
|
1908 "Y% c #335DC8", |
|
1909 "Z% c #3759C5", |
|
1910 "`% c #3859C5", |
|
1911 " & c #335EC8", |
|
1912 ".& c #325DCA", |
|
1913 "+& c #345CCB", |
|
1914 "@& c #335DCC", |
|
1915 "#& c #345DCD", |
|
1916 "$& c #355FCD", |
|
1917 "%& c #3861D0", |
|
1918 "&& c #3B64D1", |
|
1919 "*& c #3E65D2", |
|
1920 "=& c #4168D3", |
|
1921 "-& c #456AD5", |
|
1922 ";& c #4B6ED5", |
|
1923 ">& c #4C6FD4", |
|
1924 ",& c #4D70D5", |
|
1925 "'& c #4F72D6", |
|
1926 ")& c #5173D6", |
|
1927 "!& c #5375D7", |
|
1928 "~& c #5476D8", |
|
1929 "{& c #5577D7", |
|
1930 "]& c #5477D8", |
|
1931 "^& c #5677D8", |
|
1932 "/& c #5879D9", |
|
1933 "(& c #597AD9", |
|
1934 "_& c #5C7DDA", |
|
1935 ":& c #6080DC", |
|
1936 "<& c #6080DB", |
|
1937 "[& c #6181DC", |
|
1938 "}& c #6282DC", |
|
1939 "|& c #6383DD", |
|
1940 "1& c #6484DD", |
|
1941 "2& c #6686DE", |
|
1942 "3& c #6685DE", |
|
1943 "4& c #6786DE", |
|
1944 "5& c #6687DE", |
|
1945 "6& c #6887DE", |
|
1946 "7& c #6987DE", |
|
1947 "8& c #6788DF", |
|
1948 "9& c #6785DF", |
|
1949 "0& c #6B89DF", |
|
1950 "a& c #6C89DF", |
|
1951 "b& c #6F8DDD", |
|
1952 "c& c #6D8CDE", |
|
1953 "d& c #445BBB", |
|
1954 "e& c #3759BE", |
|
1955 "f& c #375AC6", |
|
1956 "g& c #355CC8", |
|
1957 "h& c #345CCA", |
|
1958 "i& c #355ECC", |
|
1959 "j& c #365FCD", |
|
1960 "k& c #3761CE", |
|
1961 "l& c #3A63D0", |
|
1962 "m& c #3D65D1", |
|
1963 "n& c #466AD4", |
|
1964 "o& c #476BD4", |
|
1965 "p& c #486CD3", |
|
1966 "q& c #4A6ED4", |
|
1967 "r& c #4B6ED4", |
|
1968 "s& c #4E71D6", |
|
1969 "t& c #4F71D5", |
|
1970 "u& c #5072D6", |
|
1971 "v& c #5274D7", |
|
1972 "w& c #5273D7", |
|
1973 "x& c #5274D6", |
|
1974 "y& c #5476D7", |
|
1975 "z& c #5779D8", |
|
1976 "A& c #587AD9", |
|
1977 "B& c #5A7CDA", |
|
1978 "C& c #5C7DDB", |
|
1979 "D& c #5D7EDA", |
|
1980 "E& c #6081DA", |
|
1981 "F& c #6181DB", |
|
1982 "G& c #6283DC", |
|
1983 "H& c #6483DD", |
|
1984 "I& c #6483DE", |
|
1985 "J& c #6585DE", |
|
1986 "K& c #6786DF", |
|
1987 "L& c #6886DE", |
|
1988 "M& c #6887DF", |
|
1989 "N& c #6987DF", |
|
1990 "O& c #6A88DF", |
|
1991 "P& c #6786E0", |
|
1992 "Q& c #6A86DE", |
|
1993 "R& c #6B89E0", |
|
1994 "S& c #365BC8", |
|
1995 "T& c #365CC8", |
|
1996 "U& c #375DCA", |
|
1997 "V& c #375FCB", |
|
1998 "W& c #3860CD", |
|
1999 "X& c #3C63D0", |
|
2000 "Y& c #4167D2", |
|
2001 "Z& c #4268D2", |
|
2002 "`& c #4368D2", |
|
2003 " * c #4367D2", |
|
2004 ".* c #4568D2", |
|
2005 "+* c #466AD2", |
|
2006 "@* c #496CD3", |
|
2007 "#* c #4A6DD3", |
|
2008 "$* c #4A6DD4", |
|
2009 "%* c #4D70D4", |
|
2010 "&* c #4F72D5", |
|
2011 "** c #4C70D4", |
|
2012 "=* c #4E72D5", |
|
2013 "-* c #5173D5", |
|
2014 ";* c #5375D6", |
|
2015 ">* c #597BDA", |
|
2016 ",* c #5B7DDA", |
|
2017 "'* c #5C7EDB", |
|
2018 ")* c #5D7FDB", |
|
2019 "!* c #5E80DB", |
|
2020 "~* c #5E81DA", |
|
2021 "{* c #5F81DB", |
|
2022 "]* c #5F82DB", |
|
2023 "^* c #6384DD", |
|
2024 "/* c #6384DE", |
|
2025 "(* c #6585DF", |
|
2026 "_* c #6486E0", |
|
2027 ":* c #6583DD", |
|
2028 "<* c #6386E0", |
|
2029 "[* c #6686E0", |
|
2030 "}* c #6B86DD", |
|
2031 "|* c #6D86DD", |
|
2032 "1* c #6086E0", |
|
2033 "2* c #5573CD", |
|
2034 "3* c #3959C3", |
|
2035 "4* c #3959C4", |
|
2036 "5* c #3759C0", |
|
2037 "6* c #375BC7", |
|
2038 "7* c #365CC7", |
|
2039 "8* c #395FCC", |
|
2040 "9* c #3B62CE", |
|
2041 "0* c #3E64D0", |
|
2042 "a* c #4066D1", |
|
2043 "b* c #4166D1", |
|
2044 "c* c #4064CF", |
|
2045 "d* c #4065CF", |
|
2046 "e* c #4266D0", |
|
2047 "f* c #4468D1", |
|
2048 "g* c #4569D1", |
|
2049 "h* c #476BD2", |
|
2050 "i* c #466AD1", |
|
2051 "j* c #476AD2", |
|
2052 "k* c #456AD1", |
|
2053 "l* c #496DD2", |
|
2054 "m* c #4A6FD3", |
|
2055 "n* c #496ED2", |
|
2056 "o* c #4B70D4", |
|
2057 "p* c #4D71D4", |
|
2058 "q* c #4E72D4", |
|
2059 "r* c #5073D4", |
|
2060 "s* c #5174D5", |
|
2061 "t* c #5175D5", |
|
2062 "u* c #5276D6", |
|
2063 "v* c #5377D6", |
|
2064 "w* c #5478D7", |
|
2065 "x* c #5579D7", |
|
2066 "y* c #567AD8", |
|
2067 "z* c #577BD9", |
|
2068 "A* c #597CD8", |
|
2069 "B* c #5A7DD9", |
|
2070 "C* c #5A7ED9", |
|
2071 "D* c #5B7FDA", |
|
2072 "E* c #5C80DA", |
|
2073 "F* c #5D80DA", |
|
2074 "G* c #5E81DB", |
|
2075 "H* c #5D80DB", |
|
2076 "I* c #6082DC", |
|
2077 "J* c #6183DD", |
|
2078 "K* c #6183DE", |
|
2079 "L* c #6082DB", |
|
2080 "M* c #6282DE", |
|
2081 "N* c #6682DE", |
|
2082 "O* c #6583DE", |
|
2083 "P* c #3759BF", |
|
2084 "Q* c #375AC2", |
|
2085 "R* c #375AC1", |
|
2086 "S* c #375AC4", |
|
2087 "T* c #395DCA", |
|
2088 "U* c #3A5ECA", |
|
2089 "V* c #3C60CC", |
|
2090 "W* c #3D61CD", |
|
2091 "X* c #3D61CC", |
|
2092 "Y* c #3C61CD", |
|
2093 "Z* c #3E62CD", |
|
2094 "`* c #3F64CE", |
|
2095 " = c #4266CF", |
|
2096 ".= c #4468D0", |
|
2097 "+= c #4267CF", |
|
2098 "@= c #4166CE", |
|
2099 "#= c #4065CE", |
|
2100 "$= c #4166CD", |
|
2101 "%= c #4267CE", |
|
2102 "&= c #456AD0", |
|
2103 "*= c #4368CE", |
|
2104 "== c #4468CF", |
|
2105 "-= c #4569D0", |
|
2106 ";= c #486BD1", |
|
2107 ">= c #4B6FD3", |
|
2108 ",= c #4C70D3", |
|
2109 "'= c #4F73D4", |
|
2110 ")= c #5275D5", |
|
2111 "!= c #5477D6", |
|
2112 "~= c #577BD7", |
|
2113 "{= c #587CD8", |
|
2114 "]= c #577CD8", |
|
2115 "^= c #597DD9", |
|
2116 "/= c #5A7DDA", |
|
2117 "(= c #597DDA", |
|
2118 "_= c #587CDA", |
|
2119 ":= c #5A7EDA", |
|
2120 "<= c #567BD8", |
|
2121 "[= c #557AD9", |
|
2122 "}= c #567BD9", |
|
2123 "|= c #577CD9", |
|
2124 "1= c #587DD9", |
|
2125 "2= c #587ED9", |
|
2126 "3= c #577ED8", |
|
2127 "4= c #587DD8", |
|
2128 "5= c #587ED8", |
|
2129 "6= c #567ED7", |
|
2130 "7= c #526ABD", |
|
2131 "8= c #3759C1", |
|
2132 "9= c #385BC7", |
|
2133 "0= c #395CC8", |
|
2134 "a= c #3B5DC9", |
|
2135 "b= c #3B5ECA", |
|
2136 "c= c #3A5FCA", |
|
2137 "d= c #3B60CC", |
|
2138 "e= c #3C61CC", |
|
2139 "f= c #3D62CD", |
|
2140 "g= c #3E63CD", |
|
2141 "h= c #3C61CB", |
|
2142 "i= c #3C61CA", |
|
2143 "j= c #3D62CB", |
|
2144 "k= c #3F64CC", |
|
2145 "l= c #4065CD", |
|
2146 "m= c #4669D0", |
|
2147 "n= c #476AD0", |
|
2148 "o= c #496BD1", |
|
2149 "p= c #4A6DD2", |
|
2150 "q= c #4B6ED2", |
|
2151 "r= c #4D71D3", |
|
2152 "s= c #4E73D4", |
|
2153 "t= c #4F74D4", |
|
2154 "u= c #5075D5", |
|
2155 "v= c #5276D5", |
|
2156 "w= c #5377D7", |
|
2157 "x= c #5278D7", |
|
2158 "y= c #5277D6", |
|
2159 "z= c #5378D7", |
|
2160 "A= c #5379D8", |
|
2161 "B= c #5379D9", |
|
2162 "C= c #5278D8", |
|
2163 "D= c #5178D7", |
|
2164 "E= c #3355C0", |
|
2165 "F= c #3556C1", |
|
2166 "G= c #395AC6", |
|
2167 "H= c #385AC7", |
|
2168 "I= c #395BC7", |
|
2169 "J= c #395EC9", |
|
2170 "K= c #395FCA", |
|
2171 "L= c #3B60CA", |
|
2172 "M= c #3B60CB", |
|
2173 "N= c #375DC7", |
|
2174 "O= c #385EC8", |
|
2175 "P= c #395FC9", |
|
2176 "Q= c #3A60CA", |
|
2177 "R= c #3D63CC", |
|
2178 "S= c #4367CF", |
|
2179 "T= c #476BD1", |
|
2180 "U= c #4A6ED2", |
|
2181 "V= c #4B6FD2", |
|
2182 "W= c #4C6FD2", |
|
2183 "X= c #4D70D1", |
|
2184 "Y= c #4E71D2", |
|
2185 "Z= c #4E72D2", |
|
2186 "`= c #4E74D4", |
|
2187 " - c #4E75D5", |
|
2188 ".- c #4E75D4", |
|
2189 "+- c #4F75D3", |
|
2190 "@- c #5075D2", |
|
2191 "#- c #5075D3", |
|
2192 "$- c #5177D7", |
|
2193 "%- c #5178D8", |
|
2194 "&- c #4F75D5", |
|
2195 "*- c #5076D5", |
|
2196 "=- c #4F76D6", |
|
2197 "-- c #5279D9", |
|
2198 ";- c #3C52B1", |
|
2199 ">- c #3656C3", |
|
2200 ",- c #3757C5", |
|
2201 "'- c #3758C6", |
|
2202 ")- c #3759C6", |
|
2203 "!- c #375BC6", |
|
2204 "~- c #385CC7", |
|
2205 "{- c #385DC8", |
|
2206 "]- c #365CC6", |
|
2207 "^- c #355BC6", |
|
2208 "/- c #355CC6", |
|
2209 "(- c #365DC7", |
|
2210 "_- c #375EC8", |
|
2211 ":- c #375CC6", |
|
2212 "<- c #385EC6", |
|
2213 "[- c #3A5FC7", |
|
2214 "}- c #3C60C8", |
|
2215 "|- c #3D61C9", |
|
2216 "1- c #3E62CA", |
|
2217 "2- c #4063CC", |
|
2218 "3- c #4165CE", |
|
2219 "4- c #4268D0", |
|
2220 "5- c #4269D1", |
|
2221 "6- c #436AD2", |
|
2222 "7- c #446AD2", |
|
2223 "8- c #456BD2", |
|
2224 "9- c #496CD1", |
|
2225 "0- c #4C6CD0", |
|
2226 "a- c #4D6CCF", |
|
2227 "b- c #4E6DD0", |
|
2228 "c- c #4F6ECF", |
|
2229 "d- c #4E6FCF", |
|
2230 "e- c #4C70CF", |
|
2231 "f- c #4A71D0", |
|
2232 "g- c #4F6FCF", |
|
2233 "h- c #4B71D0", |
|
2234 "i- c #4A72D1", |
|
2235 "j- c #4B73D4", |
|
2236 "k- c #4F70D0", |
|
2237 "l- c #4C73D3", |
|
2238 "m- c #4C73D6", |
|
2239 "n- c #4B72D2", |
|
2240 "o- c #4B71D1", |
|
2241 "p- c #4C73D7", |
|
2242 "q- c #3354C0", |
|
2243 "r- c #3152BE", |
|
2244 "s- c #3052BE", |
|
2245 "t- c #3051BF", |
|
2246 "u- c #2E4FBF", |
|
2247 "v- c #2E4FBE", |
|
2248 "w- c #2E50BF", |
|
2249 "x- c #2F50BF", |
|
2250 "y- c #3156C4", |
|
2251 "z- c #2F56C5", |
|
2252 "A- c #2E57C5", |
|
2253 "B- c #2F57C5", |
|
2254 "C- c #3057C6", |
|
2255 "D- c #3258C6", |
|
2256 "E- c #3459C7", |
|
2257 "F- c #365AC7", |
|
2258 "G- c #385BC8", |
|
2259 "H- c #3B5DCA", |
|
2260 "I- c #3B5DCB", |
|
2261 "J- c #3C5ECC", |
|
2262 "K- c #3C60CD", |
|
2263 "L- c #3C62CE", |
|
2264 "M- c #3D65D0", |
|
2265 "N- c #3D66D1", |
|
2266 "O- c #4166D2", |
|
2267 "P- c #4667D2", |
|
2268 "Q- c #4A67D1", |
|
2269 "R- c #4C68D0", |
|
2270 "S- c #4C69CF", |
|
2271 "T- c #4D6BCE", |
|
2272 "U- c #4E6DCD", |
|
2273 "V- c #4E6ECE", |
|
2274 "W- c #4E6DCE", |
|
2275 "X- c #4970D0", |
|
2276 "Y- c #4770D0", |
|
2277 "Z- c #4B6BCE", |
|
2278 "`- c #4A6CCE", |
|
2279 " ; c #496DCF", |
|
2280 ".; c #476FD0", |
|
2281 "+; c #4870D0", |
|
2282 "@; c #486DCF", |
|
2283 "#; c #242F79", |
|
2284 "$; c #2F41AC", |
|
2285 "%; c #2040B8", |
|
2286 "&; c #2041B8", |
|
2287 "*; c #2243B3", |
|
2288 "=; c #2243B8", |
|
2289 "-; c #2343B8", |
|
2290 ";; c #2444B8", |
|
2291 ">; c #2445B8", |
|
2292 ",; c #2445B6", |
|
2293 "'; c #2445B7", |
|
2294 "); c #2444B9", |
|
2295 "!; c #2949BE", |
|
2296 "~; c #2649BF", |
|
2297 "{; c #234BBF", |
|
2298 "]; c #224CBF", |
|
2299 "^; c #224AC0", |
|
2300 "/; c #244CC0", |
|
2301 "(; c #254DC0", |
|
2302 "_; c #254DC1", |
|
2303 ":; c #264DC2", |
|
2304 "<; c #274EC3", |
|
2305 "[; c #274CC3", |
|
2306 "}; c #274DC4", |
|
2307 "|; c #254DC5", |
|
2308 "1; c #214EC5", |
|
2309 "2; c #204FC6", |
|
2310 "3; c #1F50C8", |
|
2311 "4; c #2151C9", |
|
2312 "5; c #2B53C8", |
|
2313 "6; c #3154C7", |
|
2314 "7; c #3255C6", |
|
2315 "8; c #2F57C7", |
|
2316 "9; c #2C58C9", |
|
2317 "0; c #2D59CA", |
|
2318 "a; c #2D58C9", |
|
2319 "b; c #2E5BCC", |
|
2320 "c; c #325ECC", |
|
2321 "d; c #325ECB", |
|
2322 "e; c #1F40B1", |
|
2323 "f; c #1F40B2", |
|
2324 "g; c #1F40B3", |
|
2325 "h; c #2A44BD", |
|
2326 "i; c #2845BE", |
|
2327 "j; c #2745BE", |
|
2328 "k; c #2646BF", |
|
2329 "l; c #2546BE", |
|
2330 "m; c #2347BF", |
|
2331 "n; c #2147BF", |
|
2332 "o; c #2048C0", |
|
2333 "p; c #1D48C0", |
|
2334 "q; c #1C48C0", |
|
2335 "r; c #1B47C0", |
|
2336 "s; c #1C48BF", |
|
2337 "t; c #1E49BE", |
|
2338 "u; c #214ABD", |
|
2339 "v; c #244CBD", |
|
2340 "w; c #264DBE", |
|
2341 "x; c #254EC0", |
|
2342 "y; c #214FC2", |
|
2343 "z; c #1B51C5", |
|
2344 "A; c #1C51C7", |
|
2345 "B; c #2250C8", |
|
2346 "C; c #2A52C8", |
|
2347 "D; c #3254C6", |
|
2348 "E; c #3355C5", |
|
2349 "F; c #3154C8", |
|
2350 "G; c #3355C6", |
|
2351 "H; c #2F57C8", |
|
2352 "I; c #2E58C9", |
|
2353 "J; c #2E59C9", |
|
2354 "K; c #3059C9", |
|
2355 "L; c #2040B6", |
|
2356 "M; c #2743BB", |
|
2357 "N; c #2844BC", |
|
2358 "O; c #2743BD", |
|
2359 "P; c #2844BE", |
|
2360 "Q; c #2844BD", |
|
2361 "R; c #2346BE", |
|
2362 "S; c #2047BF", |
|
2363 "T; c #1E48C0", |
|
2364 "U; c #1D47C0", |
|
2365 "V; c #1D49BF", |
|
2366 "W; c #1F49BF", |
|
2367 "X; c #204ABE", |
|
2368 "Y; c #254DBF", |
|
2369 "Z; c #234EC0", |
|
2370 "`; c #2050C1", |
|
2371 " > c #1C51C3", |
|
2372 ".> c #1F51C6", |
|
2373 "+> c #2651C8", |
|
2374 "@> c #2D53C7", |
|
2375 "#> c #3155C6", |
|
2376 "$> c #3155C7", |
|
2377 "%> c #3355C7", |
|
2378 "&> c #3254C7", |
|
2379 "*> c #1E40B1", |
|
2380 "=> c #2141B8", |
|
2381 "-> c #2442B9", |
|
2382 ";> c #2744BB", |
|
2383 ">> c #2945BB", |
|
2384 ",> c #2A45BB", |
|
2385 "'> c #2944BA", |
|
2386 ")> c #2745BB", |
|
2387 "!> c #2545BC", |
|
2388 "~> c #2246BD", |
|
2389 "{> c #2047BE", |
|
2390 "]> c #1F47BD", |
|
2391 "^> c #1D48BE", |
|
2392 "/> c #1E49C0", |
|
2393 "(> c #1F4AC0", |
|
2394 "_> c #214BBF", |
|
2395 ":> c #244CBE", |
|
2396 "<> c #254DBE", |
|
2397 "[> c #244DBE", |
|
2398 "}> c #224FBF", |
|
2399 "|> c #2051C1", |
|
2400 "1> c #2151C3", |
|
2401 "2> c #2252C5", |
|
2402 "3> c #2151C1", |
|
2403 "4> c #2851C6", |
|
2404 "5> c #2A50C6", |
|
2405 "6> c #2E54C6", |
|
2406 "7> c #1F51C2", |
|
2407 "8> c #1D52C5", |
|
2408 "9> c #2651C9", |
|
2409 "0> c #2950C7", |
|
2410 "a> c #2D40A5", |
|
2411 "b> c #2040B0", |
|
2412 "c> c #1F40B0", |
|
2413 "d> c #223CAE", |
|
2414 "e> c #233CAE", |
|
2415 "f> c #253BAC", |
|
2416 "g> c #253BAD", |
|
2417 "h> c #233CB0", |
|
2418 "i> c #213EB2", |
|
2419 "j> c #1F3FB4", |
|
2420 "k> c #1E40B6", |
|
2421 "l> c #1F3FB7", |
|
2422 "m> c #1E3EB8", |
|
2423 "n> c #1F3FB8", |
|
2424 "o> c #2040B7", |
|
2425 "p> c #2141B6", |
|
2426 "q> c #2140B7", |
|
2427 "r> c #2241B6", |
|
2428 "s> c #2342B5", |
|
2429 "t> c #2442B6", |
|
2430 "u> c #2543B5", |
|
2431 "v> c #2643B4", |
|
2432 "w> c #2544B6", |
|
2433 "x> c #2346B8", |
|
2434 "y> c #2247B9", |
|
2435 "z> c #2048BC", |
|
2436 "A> c #1F48BF", |
|
2437 "B> c #2049C0", |
|
2438 "C> c #214AC0", |
|
2439 "D> c #224BBF", |
|
2440 "E> c #234CBE", |
|
2441 "F> c #244DBF", |
|
2442 "G> c #234CBF", |
|
2443 "H> c #264DC0", |
|
2444 "I> c #274EBF", |
|
2445 "J> c #264DBF", |
|
2446 "K> c #254EBF", |
|
2447 "L> c #2050C0", |
|
2448 "M> c #1F51C1", |
|
2449 "N> c #1E42A4", |
|
2450 "O> c #263BA6", |
|
2451 "P> c #253BA7", |
|
2452 "Q> c #253CA7", |
|
2453 "R> c #1E41A5", |
|
2454 "S> c #1F40AF", |
|
2455 "T> c #273AAC", |
|
2456 "U> c #1E40B0", |
|
2457 "V> c #1F40B5", |
|
2458 "W> c #1F40B6", |
|
2459 "X> c #1F40B8", |
|
2460 "Y> c #1E40B8", |
|
2461 "Z> c #1F3EB8", |
|
2462 "`> c #203FB7", |
|
2463 " , c #2240B6", |
|
2464 "., c #2341B7", |
|
2465 "+, c #2345B9", |
|
2466 "@, c #2147BB", |
|
2467 "#, c #2148BA", |
|
2468 "$, c #2049BB", |
|
2469 "%, c #2049BD", |
|
2470 "&, c #2049BF", |
|
2471 "*, c #224BBE", |
|
2472 "=, c #244DBD", |
|
2473 "-, c #244CBF", |
|
2474 ";, c #182969", |
|
2475 ">, c #273BAD", |
|
2476 ",, c #2739AB", |
|
2477 "', c #263AAC", |
|
2478 "), c #243CAE", |
|
2479 "!, c #233DAE", |
|
2480 "~, c #213EAF", |
|
2481 "{, c #1F3FB0", |
|
2482 "], c #2040B4", |
|
2483 "^, c #1F3FB6", |
|
2484 "/, c #1E3EB7", |
|
2485 "(, c #2240B7", |
|
2486 "_, c #2341B6", |
|
2487 ":, c #2543B4", |
|
2488 "<, c #2644B3", |
|
2489 "[, c #2544B5", |
|
2490 "}, c #2545B5", |
|
2491 "|, c #2547B6", |
|
2492 "1, c #2548B7", |
|
2493 "2, c #2349BA", |
|
2494 "3, c #1F49BE", |
|
2495 "4, c #2149BD", |
|
2496 "5, c #2049BE", |
|
2497 "6, c #214BBE", |
|
2498 "7, c #2249BE", |
|
2499 "8, c #234CBD", |
|
2500 "9, c #2149BE", |
|
2501 "0, c #1E49BF", |
|
2502 "a, c #253BA9", |
|
2503 "b, c #253BAB", |
|
2504 "c, c #263AAB", |
|
2505 "d, c #213DAF", |
|
2506 "e, c #203EAF", |
|
2507 "f, c #1D40AF", |
|
2508 "g, c #1D40B0", |
|
2509 "h, c #1E40B4", |
|
2510 "i, c #2241B7", |
|
2511 "j, c #2643B6", |
|
2512 "k, c #2744B5", |
|
2513 "l, c #2643B5", |
|
2514 "m, c #2346B6", |
|
2515 "n, c #2147B7", |
|
2516 "o, c #2644B6", |
|
2517 "p, c #2247B7", |
|
2518 "q, c #2248B8", |
|
2519 "r, c #2647B7", |
|
2520 "s, c #2549B7", |
|
2521 "t, c #2645B7", |
|
2522 "u, c #2148B8", |
|
2523 "v, c #2847B6", |
|
2524 "w, c #2549B6", |
|
2525 "x, c #2849B6", |
|
2526 "y, c #2049B7", |
|
2527 "z, c #2A49B5", |
|
2528 "A, c #243BA4", |
|
2529 "B, c #253BA5", |
|
2530 "C, c #253BA6", |
|
2531 "D, c #263AA7", |
|
2532 "E, c #263AA8", |
|
2533 "F, c #2739AA", |
|
2534 "G, c #243CAD", |
|
2535 "H, c #223DAE", |
|
2536 "I, c #1F3EAF", |
|
2537 "J, c #1E3FB0", |
|
2538 "K, c #1D40B1", |
|
2539 "L, c #1E3FB1", |
|
2540 "M, c #1F3FB3", |
|
2541 "N, c #1F3FB5", |
|
2542 "O, c #2140B6", |
|
2543 "P, c #2140B8", |
|
2544 "Q, c #2744B4", |
|
2545 "R, c #2746B6", |
|
2546 "S, c #2947B6", |
|
2547 "T, c #2946B5", |
|
2548 "U, c #2A48B6", |
|
2549 "V, c #3551A8", |
|
2550 "W, c #1F399C", |
|
2551 "X, c #143D9F", |
|
2552 "Y, c #263BA5", |
|
2553 "Z, c #273BA8", |
|
2554 "`, c #273BAA", |
|
2555 " ' c #263AAD", |
|
2556 ".' c #233CAD", |
|
2557 "+' c #213DAE", |
|
2558 "@' c #203FB2", |
|
2559 "#' c #2342B6", |
|
2560 "$' c #2443B6", |
|
2561 "%' c #2543B6", |
|
2562 "&' c #2644B5", |
|
2563 "*' c #133D9E", |
|
2564 "=' c #263BA7", |
|
2565 "-' c #263BA9", |
|
2566 ";' c #273BA9", |
|
2567 ">' c #263AAA", |
|
2568 ",' c #2539AB", |
|
2569 "'' c #2639AB", |
|
2570 ")' c #253AAC", |
|
2571 "!' c #243BAD", |
|
2572 "~' c #223DAF", |
|
2573 "{' c #203FB0", |
|
2574 "]' c #2040B1", |
|
2575 "^' c #2140B3", |
|
2576 "/' c #2543B1", |
|
2577 "(' c #2744AF", |
|
2578 "_' c #1A3CA0", |
|
2579 ":' c #1D3BA2", |
|
2580 "<' c #233BA4", |
|
2581 "[' c #263AA5", |
|
2582 "}' c #253AA5", |
|
2583 "|' c #263AA6", |
|
2584 "1' c #263BA4", |
|
2585 "2' c #243BA5", |
|
2586 "3' c #263BA8", |
|
2587 "4' c #223EAF", |
|
2588 "5' c #3B4CA5", |
|
2589 "6' c #1D379A", |
|
2590 "7' c #1E389C", |
|
2591 "8' c #1E399F", |
|
2592 "9' c #1F3BA2", |
|
2593 "0' c #1F3BA3", |
|
2594 "a' c #213BA4", |
|
2595 "b' c #233AA3", |
|
2596 "c' c #243AA3", |
|
2597 "d' c #2539A4", |
|
2598 "e' c #253AA6", |
|
2599 "f' c #243BA7", |
|
2600 "g' c #253CAA", |
|
2601 "h' c #253CAC", |
|
2602 "i' c #253CAD", |
|
2603 "j' c #253CAE", |
|
2604 "k' c #243DAE", |
|
2605 "l' c #213FAF", |
|
2606 "m' c #223FAF", |
|
2607 "n' c #2040AF", |
|
2608 "o' c #253D93", |
|
2609 "p' c #1D3894", |
|
2610 "q' c #1F379A", |
|
2611 "r' c #1E389B", |
|
2612 "s' c #1D399C", |
|
2613 "t' c #1C3A9D", |
|
2614 "u' c #1B3A9D", |
|
2615 "v' c #183B9E", |
|
2616 "w' c #163C9E", |
|
2617 "x' c #153C9E", |
|
2618 "y' c #163B9D", |
|
2619 "z' c #173B9D", |
|
2620 "A' c #193A9D", |
|
2621 "B' c #1C3A9E", |
|
2622 "C' c #1F3AA1", |
|
2623 "D' c #223AA4", |
|
2624 "E' c #253BA8", |
|
2625 "F' c #273BA7", |
|
2626 "G' c #263CAB", |
|
2627 "H' c #263CAC", |
|
2628 "I' c #243EAE", |
|
2629 "J' c #273BAC", |
|
2630 "K' c #2A3795", |
|
2631 "L' c #1F389B", |
|
2632 "M' c #1D389B", |
|
2633 "N' c #1C399C", |
|
2634 "O' c #1B399C", |
|
2635 "P' c #1A3A9D", |
|
2636 "Q' c #1D399B", |
|
2637 "R' c #1B399B", |
|
2638 "S' c #1A3A9C", |
|
2639 "T' c #1B3A9F", |
|
2640 "U' c #1D3AA0", |
|
2641 "V' c #203BA2", |
|
2642 "W' c #203BA3", |
|
2643 "X' c #2639A6", |
|
2644 "Y' c #1B3692", |
|
2645 "Z' c #1C3794", |
|
2646 "`' c #1D3796", |
|
2647 " ) c #1E3898", |
|
2648 ".) c #1E389A", |
|
2649 "+) c #1F399B", |
|
2650 "@) c #1A399C", |
|
2651 "#) c #193A9E", |
|
2652 "$) c #1A3BA0", |
|
2653 "%) c #1C3BA2", |
|
2654 "&) c #1D3CA3", |
|
2655 "*) c #203CA4", |
|
2656 "=) c #223BA5", |
|
2657 "-) c #3C4699", |
|
2658 ";) c #2B4595", |
|
2659 ">) c #1C3793", |
|
2660 ",) c #1D3895", |
|
2661 "') c #1E3897", |
|
2662 ")) c #1F3998", |
|
2663 "!) c #1F3999", |
|
2664 "~) c #1F399A", |
|
2665 "{) c #1E399C", |
|
2666 "]) c #1C3B9E", |
|
2667 "^) c #1D3BA0", |
|
2668 "/) c #1E3CA2", |
|
2669 "() c #223CA5", |
|
2670 "_) c #243CA6", |
|
2671 ":) c #596FA9", |
|
2672 "<) c #3B4894", |
|
2673 "[) c #314993", |
|
2674 "}) c #29499F", |
|
2675 "|) c #28489E", |
|
2676 "1) c #2B4BA1", |
|
2677 "2) c #2C4BA1", |
|
2678 "3) c #2D4CA2", |
|
2679 "4) c #2E4CA3", |
|
2680 "5) c #2F4CA4", |
|
2681 "6) c #2E4CA4", |
|
2682 "7) c #2F4DA3", |
|
2683 "8) c #2F4DA4", |
|
2684 "9) c #D3D5D2", |
|
2685 "0) c #3B4794", |
|
2686 "a) c #314791", |
|
2687 "b) c #304892", |
|
2688 "c) c #304893", |
|
2689 "d) c #2F4995", |
|
2690 "e) c #2F4997", |
|
2691 "f) c #2D4A9A", |
|
2692 "g) c #2A4A9D", |
|
2693 "h) c #294A9F", |
|
2694 "i) c #284AA0", |
|
2695 "j) c #294AA0", |
|
2696 "k) c #2B4AA1", |
|
2697 "l) c #2D4CA3", |
|
2698 "m) c #C9CAC9", |
|
2699 "n) c #455D9B", |
|
2700 "o) c #242F78", |
|
2701 "p) c #1B2F85", |
|
2702 "q) c #C6C3C8", |
|
2703 "r) c #B5B2B6", |
|
2704 "s) c #B5B7B4", |
|
2705 "t) c #B5B7B3", |
|
2706 "u) c #B5B2B5", |
|
2707 "v) c #B5B3B4", |
|
2708 "w) c #B5B5B4", |
|
2709 "x) c #B5B6B3", |
|
2710 "y) c #B5B4B4", |
|
2711 "z) c #B5B3B5", |
|
2712 "A) c #B5B4B5", |
|
2713 "B) c #B5B5B5", |
|
2714 "C) c #B5B5B3", |
|
2715 "D) c #B5B5B6", |
|
2716 "E) c #BAC3BE", |
|
2717 "F) c #B9C3BD", |
|
2718 "G) c #C1C3C4", |
|
2719 "H) c #BFC3C2", |
|
2720 "I) c #B9C3BE", |
|
2721 "J) c #BBC3BF", |
|
2722 "K) c #BDC3C1", |
|
2723 "L) c #C0C3C3", |
|
2724 "M) c #BEC3C1", |
|
2725 "N) c #C2C3C5", |
|
2726 "O) c #E6E3E8", |
|
2727 "P) c #E0E2DF", |
|
2728 "Q) c #E1E1E1", |
|
2729 "R) c #E2E1E3", |
|
2730 "S) c #E4E1E6", |
|
2731 "T) c #E4E2E7", |
|
2732 "U) c #E4E2E6", |
|
2733 "V) c #E3E3E4", |
|
2734 "W) c #E2E3E3", |
|
2735 "X) c #E1E3E2", |
|
2736 "Y) c #E3E3E3", |
|
2737 "Z) c #E3E3E2", |
|
2738 "`) c #EBEDEA", |
|
2739 " ! c #EAECE9", |
|
2740 ".! c #E9EBE8", |
|
2741 "+! c #ECEEEB", |
|
2742 ". . + @ # $ $ $ $ $ $ $ % $ $ $ $ $ % $ $ $ $ $ $ % $ $ $ $ $ % $ $ $ $ $ $ $ $ $ % $ $ & * = - ; > , , ' ) ! ! ~ { ] ^ / ( _ : < [ } | | 1 2 3 3 4 4 4 4 4 4 4 5 6 4 4 4 5 6 7 8 9 4 5 6 7 8 9 6 7 8 9 ", |
|
2743 "0 a b % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ c d d d d $ $ $ $ $ c d e f g h i i i i j k l m n o p q r s t u v w x y z 4 A B C D 9 9 E 9 E F G H I F J K L L L L J K L L L L L L L L ", |
|
2744 "@ % M N O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O P Q R S T U V W X Y Z ` ...+.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.b.b.b.b.b.", |
|
2745 "c.$ d.O e.f.g.g.g.h.g.g.g.g.g.h.h.g.g.g.g.g.h.h.g.g.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+@+$+%+&+*+=+$+-+;+>+,+'+)+!+;+>+,+~+,+>+,+~+,+", |
|
2746 "$ {+N N f.f.f.f.h.h.h.g.f.f.h.h.h.h.g.f.f.h.h.h.h.]+^+/+(+h._+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+.+C+D+E+D+F+G+H+C+I+F+G+J+K+L+H+F+G+J+K+L+H+J+H+J+H+", |
|
2747 "{+{+N N M+M+h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.N+N+h.h.(+O+P+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@[@y+}@|@1@A+1@2@3@ +2@4@2@5@C+D+6@D+7@5@C+D+6@I+C+D+6@I+", |
|
2748 "{+{+8@N M+M+h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.9@9@0@N+a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@q+r+C@D@E@F@G@H@_@I@J@K@<@L@M@N@O@P@Q@R@S@T@A+A+U@V@W@W@A+2@U@V@W@W@U@V@W@W@", |
|
2749 "{+{+8@N f.M+h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.(+(+(+9@9@X@Y@Z@e@`@ #.#+#@###$#%#&#*#=#-#;#>#,#'#)#!#~#{#]#z@^#/#(#p+_#r+:#s+t+<#[#}#|#|#1#_@|#_@_@2#L@3#4#y+y+5#z+z+z+5#z+z+z+z+A+A+A+A+A+", |
|
2750 "{+{+8@8@f.f.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.(+6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#&@p#q#r#s#t#u#v#w#x#x#y#y#z#A#B#C#D#E#E#F#G#H#F#H#H#u+v+I#J#K#L#J@J@M#N#O#P#M#M#M#N#M#Q#Q#R#", |
|
2751 "$ {+8@e.f.f.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.S#l.7#T#U#V#W#X#Y#Z#`# $f#g###.$+$@$#$$$$@%$&$*$=$-$;$>$,$'$)$!$~$~${$]$^$/$($($_$_$:$<$_$<$[$}$|$|$1$2$2$3$}#4$5$6$7$8$8$9$8$8$8$0$8$", |
|
2752 "$ {+a$e.f.f.h.h.h.h.h.h.h.h.h.b$h.c$c$c$c$c$d$c$c$c$c$c$c$c$c$c$c$e$e$7#f$g$h$i$X#j$k$l$m$n$o$p$q$r$l@s$t$u$v$w$x$y$z$A$B$C$D$E$F$G$G$H$I$J$J$K$K$J$L$L$L$L$L$M$N$O$P$Q$R$S$T$U$1$V$T$W$X$Y$1$V$Y$Z$`$ %", |
|
2753 "$ $ a$a$f.f.b$b$b$b$b$b$b$b$b$b$b$b$b$b$b$b$b$b$.%b$b$b$.%d$+%+%@%h.e$l.#%$%h$%%&%*%=%-%;%>%,%'%)%!% @ @~%{%]%^%/%(%w$_%:%<%[%}%|%D$1%2%3%4%5%4%4%6%5%5%4%4%4%5%7%5%8%9%L$0%a%a%a%P$b%P$P$z#z#z#P$c%c%c%", |
|
2754 "$ $ 8@e.f.f.d%b$b$b$b$b$d%b$b$b$b$b$b$e%f%b$b$b$b$b$g%h%b$.%i%i%j%k%l%m%X@n%h$o%&%p%q%`#r%s%t%u%v%w%x%y% @z%A%B%C%D%E%F%G%:%H%I%[%J%}%K%|%D$K%D$D$L%M%M%M%M%M%D$N%O%i+P%j+Q%R%S%T%0%U%V%W%W%W%W%X%X%X%X%", |
|
2755 "$ $ 8@8@f.f.d%d%b$b$b$b$d%d%b$b$b$h%Y%Z%Z%h%f%f%h%Y%`%`% &h%h%.&+&@&#&$&X@%&&&*&=&-&j$Z#+#;&>&,&'&)&)&!&~&{&]&^&/&(&^%_&(%:&<&[&}&|&1&A$A$2&3&4&4&5&B$6&7&B$7&8&9&6&7&0&a&a&i+i+i+b&a&a&j+U%c&U%j+U%c&U%", |
|
2756 "$ $ 8@8@d&e&d%d%d%d%d%d%d%d%d%d%d%`%d%d%d%d%`%`%`%d%d%d%d%`%`%f&g&h&j%i&j&k&l&m&=&X#Y#n&o&p&q&r&>&s&t&t&u&v&w&x&y&{&z&A&B&C&D&(%(%F%F%E&F&}&}&|&G&|&H&1&I%I&A$1&}&z$z$J&K&L&M&N&O&0&P&Q&0&a&R&a&a&a&R&a&", |
|
2757 "{+$ 8@8@e&e&d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%`%f&S&T&U&V&W&Y@X&Y&Z&`& *.*+*@*#*@*r&$*#*r&%*&***=*-*;*y&z%A%z&A&A&>*B&,*,*'*)*!*!*~*{*F&}&{*}&{*]*G%G%y$^*/*J&(*2&_*:*<*=$[*}*<*=$<*|*1*", |
|
2758 "{+{+8@2*e&e&d%d%d%d%d%d%d%d%d%e&3*4*4*4*4*4*5*4*4*4*4*4*4*4*4*4*`%f&6*6*7*8*9*0*a*b*c*d*e*f*g*h*i*j*+*k*h*l*m*n*m*o*p*q*r*s*t*u*v*w*x*y*y*z*A*B*C*D*E*F*G*E*G*F*H*G*F*~*]*{*I*x$J*K*L*G%K*M*o#o#I&N*O*O*", |
|
2759 "{+{+8@2*e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&P*e&e&e&e&e&e&P*P*e&e&e&P*P*5*Q*R*S*T*U*V*W*X*Y*Z*`*d* =.=+=@=#=$=%=g@&=*===-=i*;=l*>=,=q*'=s*)=k@!=x*~={=]=^=/=(=_=:=(=<=<=]=[=}=|=]=]=1=2=3=|=4=5=2=2=2=3=6=6=6=", |
|
2760 "{+{+7=e.e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&P*P*8=9=0=a=b=U*c=d=e=f=e@#=g=h=i=i=j=k=k=l=%===m=n=o=p=q=,=r=s=t=u=v=v*w=x=x=y=z=z=A=z=A=B=C=B=D=C=B=x=B=B=B=B=B=B=B=B=B=B=B=B=B=B=", |
|
2761 "{+{+7=7=e&e&e&e&E=E=e&e&e&e&E=E=E=e&e&e&e&E=E=E=e&e&e&e&E=E=e&e&e&e&E=E=E=F=d%G=G=H=I=J=K=L=M=R+}+N=O=P=Q=j=i=h=R=e@@=S=-=T=h@l*U=V=W=X=Y=Z=`= - - -.-+-@- -#-$-%-$-&-*-$-=-%-----C=$-%---------B=B=B=B=", |
|
2762 "{+{+7=7=;-;-E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=E=>-,-'-)-!-6*~-{-{-]-^-/-/-(-_-:-N=<-[-}-|-1-2-3- =4-5-6-7-8-9-0-0-a-b-c-d-e-f-g-h-h-i-j-k-h-h-i-j-l-m-n-o-i-j-l-m-n-j-l-p-n-", |
|
2763 "{+{+7=7=;-;-E=E=E=E=E=E=E=E=q-r-s-t-t-u-u-v-v-v-u-w-x-u-u-u-u-u-u-u-u-v-v-u-u-u-u-u-v-v-u-u-u-u-v-v-u-y-z-A-B-C-D-E-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-U-V-W-V-e-X-Y-Z-`- ;.;Y-N N +;@;.;Y-N N N N N N N ", |
|
2764 "#;#;d&d&$;$;%;%;%;%;%;%;%;%;&;*;=;-;-;-;;;>;,;>;>;>;;;>;>;>;>;>;>;>;>;>;';);>;>;>;>;>;';>;>;>;>;>;';);!;~;{;];^;/;(;_;_;:;<;[;};};|;1;2;3;4;5;6;7;8;9;9;0;a;0;0;b;h.a;0;0;b;h.c;h.d;0;b;h.c;h.d;h.c;h.d;", |
|
2765 "#;#;;-;-$;$;e;e;e;e;e;e;e;e;e;e;e;f;f;f;f;e;e;e;f;f;f;f;f;f;f;f;f;f;f;f;g;%;f;f;f;f;f;g;f;f;f;f;f;g;%;h;i;j;k;l;m;n;o;p;q;r;r;s;t;u;v;w;x;y;z;A;B;C;6;D;E;F;G;G;H;I;F;G;G;H;I;J;J;K;G;H;I;J;J;K;I;J;J;K;", |
|
2766 "#;#;;-;-$;$;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;L;e;e;e;e;e;e;e;e;e;e;e;e;L;M;N;O;P;Q;i;i;k;R;S;T;U;q;q;V;W;X;{;Y;Z;`; >.>+>@>#>+>$>6;#>#>+>%>&>G;G;G;G;G;&>G;G;G;G;G;G;G;G;G;", |
|
2767 "#;#;d.;-$;$;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;*>e;e;e;e;e;e;e;e;e;e;e;e;*>=>->;>>>,>'>'>)>!>~>{>]>^>^>V;V;/>(>_>:><>[>}>|>1>2>3>2>4>5>6>7>8>9>0>G;G;G;G;9>0>G;G;G;G;G;G;G;G;", |
|
2768 "#;#;d.d.a>a>e;e;e;e;e;e;e;e;e;e;b>b>c>c>c>c>c>b>e;e;e;e;e;e;e;e;e;e;e;e;e;e;d>e>f>g>h>i>j>k>l>l>m>m>n>n>o>o>p>q>r>r>s>t>u>v>v>u>w>';x>y>z>t;A>B>C>D>E>E>F>G>F>H>H>I>F>Y;J>w;K>L>K>M>J>w;K>L>K>M>K>L>K>M>", |
|
2769 "#;#;d.d.a>a>N>e;N>O>O>O>N>e;N>O>O>P>Q>R>S>R>Q>O>O>O>N>e;N>O>O>O>N>e;N>N>O>T>e;e;e;U>U>U>U>f;V>W>o>o>o>o>X>X>Y>Y>n>n>Z>Z>`> ,.,t>t>u>u>w>+,@,#,$,%,A>&,*,=,B>[>-,w;<>C>[>-,w;w;w;w;w;-,w;w;w;w;w;w;w;w;w;", |
|
2770 "#;;,;-;-a>a>N>N>N>O>O>O>N>N>N>O>O>O>O>N>N>N>O>O>O>O>N>N>N>O>O>O>N>N>N>N>O>>,,,,,,,',g>),!,~,{,{,*>U>e;f;],o>%;o>^,^,/,/,l>q>(,_,t>u>:,<,v>[,},|,1,2,%,%,3,4,5,6,7,8,9,5,6,0,G>G>Y;G>6,0,G>G>Y;G>G>G>Y;G>", |
|
2771 ";,;,;-;-O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>P>a,b,',',c,c,f>),e>d,e,{,{,U>U>f,f,U>U>g,g,*>g;h,^,^,`>`>q>i,t>j,k,k,l,w>m,n,o,p,q,r,s,t,p,u,v,w,x,y,z,u,v,w,x,y,z,w,x,y,z,", |
|
2772 ";,;,b b O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>A,A,A,B,C,D,E,F,c,',g>G,!,H,~,e,{,I,J,J,K,K,U>f,f,J,L,M,N,L;O,i,P,.,l,Q,k,k,k,k,k,k,R,v,k,k,k,R,v,S,T,U,k,R,v,S,T,U,v,S,T,U,", |
|
2773 ";,;,b V,W,W,X,X,O>X,X,X,X,X,O>X,X,X,X,X,X,O>X,X,X,X,X,X,O>X,X,X,X,X,O>X,X,O>O>O>O>B,B,B,B,Y,O>O>Z,`,T>T> '',g>.'+'e,{,{,e,+'+'e,e,{,J,K,e;@'N,O,#'$'%'%'j,%'j,&'k,k,%'j,&'k,k,k,k,k,&'k,k,k,k,k,k,k,k,k,", |
|
2774 ";,;,b V,W,W,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,*'O>O>O>O>O>O>O>O>B,B,A,A,B,C,='-'`,;'>'>',''')'!'!'e>e>~'~'~,~,{'{,*>*>e;]']']']']']'^'/']']']'^'/':,(':,]'^'/':,(':,/':,(':,", |
|
2775 ";,;,V,V,W,W,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_':'<'['}'|'|'O>O>O>O>O>O>O>Y,Y,1'1'B,B,2'2'C,3'-'>'c,)')'!'),4'{'e;]'e;*>*>e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;", |
|
2776 ";,;,5'5'W,W,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,W,6'6'6'7'8'9'0'a'b'c'd'd'}'}'O>O>O>O>O>O>O>O>Y,1'1'['['e'e'f'g'h'i'j'k'G,),!,l'j'm'n'b>b>),m'b>e;e;e;e;e;b>e;e;e;e;e;e;e;e;e;", |
|
2777 ";,;,b b o'o'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'W,q'q'q'r's't'u'v'w'x'y'z'A'B'C'D'2'2'B,B,O>O>O>O>O>O>O>O>O>O>O>Y,Y,C,C,='='='E'F'3'3'3'G'Z,='F'F'G'H'I'J'F'F'G'H'I'J'G'H'I'J'", |
|
2778 ";,;,b b K'K'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'W,W,W,W,W,L'L'q'r'M'N'O'P'u'N's'Q'R'S'A'T'U'C'V'9'0'W'D'}'X'|'O>O>B,B,O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>", |
|
2779 ";,;,b b K'K'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'p'Y'Y'Y'Z'`' ).)+)+)+)W,W,W,W,L'L'q'q'r'r's'M'N'P'@)A'#)$)%)&)*)=)B,|'|'O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>", |
|
2780 "{+;,$ -);)K'p'p'o'p'p'p'p'p'o'p'p'p'p'p'p'o'p'p'p'p'p'p'o'p'p'p'p'p'o'o'p'p'p'p'p'p'p'p'p'p'>)>)Y'Y'>)Z',)')))!)~)+)W,W,W,W,W,W,W,W,W,W,W,L'L'{)s't'])^)/)])/)/)O>()])/)/)O>()O>_)O>/)O>()O>_)O>()O>_)O>", |
|
2781 ":);,;,;)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)[)M M M M M M M M M M M M M M M M M M })})|)|)})M M 1)2)3)4)5)6)6)6)7)7)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)", |
|
2782 "9)#;;,;,$ -)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)<)0)a)a)a)b)c)d)e)f)g)h)i)i)j)j)M M M M M M M M M M M })})})})M k)k)M M k)l)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)", |
|
2783 "+ 9)m)n)$ #;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;#;o)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)p)", |
|
2784 "+ + 9)a m)q)r)s)r)s)r)s)r)s)r)r)s)r)s)r)s)r)r)s)r)s)r)s)r)s)r)s)r)s)r)s)r)t)u)v)w)x)x)w)y)z)A)A)B)B)B)B)w)w)C)C)w)w)B)B)B)B)B)w)w)w)w)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)D)B)B)B)B)B)D)B)B)B)D)B)", |
|
2785 ". + + 9)9)9)q)E)q)E)q)E)q)E)q)q)E)q)E)q)E)q)q)E)q)E)q)E)q)E)q)E)q)E)q)E)q)F)G)H)E)I)J)K)H)L)L)L)L)L)L)L)H)H)M)M)H)H)L)L)G)L)L)H)H)H)H)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)N)L)L)L)L)L)N)L)L)L)N)L)", |
|
2786 ". . 0 . + O)P)O)P)O)P)O)P)O)P)P)O)P)O)P)O)P)P)O)P)O)P)O)P)O)P)O)P)O)P)O)P)O)Q)R)S)T)U)V)W)X)W)W)V)V)V)V)V)V)V)V)Y)Y)Z)Z)Y)Z)Z)Y)Y)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)Y)V)V)V)V)V)Y)V)V)V)Y)V)", |
|
2787 ". . . 0 0 0 . 0 0 0 + 0 + 0 + 0 + 0 + 0 + 0 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 0 `) !+ + + .! !`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)+!`)`)`)`)`)+!`)`)`)+!`)"}; |
|
2788 |
|
2789 |
|
2790 static char * listviewhighcornerright_xpm[] = { |
|
2791 "100 46 780 2", |
|
2792 " c None", |
|
2793 ". c #6A779D", |
|
2794 "+ c #6C789C", |
|
2795 "@ c #6C789D", |
|
2796 "# c #6B789D", |
|
2797 "$ c #6A779E", |
|
2798 "% c #66759E", |
|
2799 "& c #64749E", |
|
2800 "* c #63749E", |
|
2801 "= c #61739D", |
|
2802 "- c #576D9B", |
|
2803 "; c #556C9C", |
|
2804 "> c #4D679D", |
|
2805 ", c #4A649D", |
|
2806 "' c #49629D", |
|
2807 ") c #465E9C", |
|
2808 "! c #40579C", |
|
2809 "~ c #3B5394", |
|
2810 "{ c #2C4E97", |
|
2811 "] c #314993", |
|
2812 "^ c #2B4595", |
|
2813 "/ c #1B4296", |
|
2814 "( c #253D93", |
|
2815 "_ c #19418F", |
|
2816 ": c #0F3C96", |
|
2817 "< c #42599E", |
|
2818 "[ c #758DC3", |
|
2819 "} c #E8EAE7", |
|
2820 "| c #EEF0ED", |
|
2821 "1 c #FBFBFC", |
|
2822 "2 c #6F7D9B", |
|
2823 "3 c #6F7D9A", |
|
2824 "4 c #6E7B9C", |
|
2825 "5 c #67759E", |
|
2826 "6 c #63739E", |
|
2827 "7 c #62739D", |
|
2828 "8 c #596F9C", |
|
2829 "9 c #4A639D", |
|
2830 "0 c #47609C", |
|
2831 "a c #445B9F", |
|
2832 "b c #3E5697", |
|
2833 "c c #2E509A", |
|
2834 "d c #2D509A", |
|
2835 "e c #2D4F99", |
|
2836 "f c #2D4F98", |
|
2837 "g c #28418A", |
|
2838 "h c #3E51A3", |
|
2839 "i c #D0D3DC", |
|
2840 "j c #A1B6EF", |
|
2841 "k c #A2B6F0", |
|
2842 "l c #A1B6F0", |
|
2843 "m c #A3B6F0", |
|
2844 "n c #A0B6EF", |
|
2845 "o c #9DB6EE", |
|
2846 "p c #9CB5EF", |
|
2847 "q c #9CB2F0", |
|
2848 "r c #9FB5EE", |
|
2849 "s c #9CB4EB", |
|
2850 "t c #9AB3EC", |
|
2851 "u c #9AB0EC", |
|
2852 "v c #9DB3EB", |
|
2853 "w c #9BB4EC", |
|
2854 "x c #9BB4EE", |
|
2855 "y c #9BB1EF", |
|
2856 "z c #9BB0F0", |
|
2857 "A c #90ACF0", |
|
2858 "B c #93ABEE", |
|
2859 "C c #91A8EB", |
|
2860 "D c #8BA3E8", |
|
2861 "E c #88A1E7", |
|
2862 "F c #809DE9", |
|
2863 "G c #7A99E8", |
|
2864 "H c #7491E5", |
|
2865 "I c #698AE4", |
|
2866 "J c #6184E3", |
|
2867 "K c #507EDC", |
|
2868 "L c #4E7CDB", |
|
2869 "M c #4F7DDC", |
|
2870 "N c #5479DA", |
|
2871 "O c #567BDC", |
|
2872 "P c #577CDD", |
|
2873 "Q c #5074DA", |
|
2874 "R c #5174DB", |
|
2875 "S c #5175DC", |
|
2876 "T c #5276DD", |
|
2877 "U c #4D71DE", |
|
2878 "V c #4C72D8", |
|
2879 "W c #3A6CE0", |
|
2880 "X c #2B49A6", |
|
2881 "Y c #E0E2DF", |
|
2882 "Z c #93AAE9", |
|
2883 "` c #94A9E8", |
|
2884 " . c #94AAE9", |
|
2885 ".. c #93A9E9", |
|
2886 "+. c #92AAE9", |
|
2887 "@. c #8DA9E8", |
|
2888 "#. c #8CA7E9", |
|
2889 "$. c #92ABE9", |
|
2890 "%. c #8EAAE9", |
|
2891 "&. c #8EA9E9", |
|
2892 "*. c #8FAAE9", |
|
2893 "=. c #8CA8E9", |
|
2894 "-. c #8CA2E7", |
|
2895 ";. c #86A1E6", |
|
2896 ">. c #839EE9", |
|
2897 ",. c #7F9CE9", |
|
2898 "'. c #7A97E8", |
|
2899 "). c #7693E7", |
|
2900 "!. c #6E8EE8", |
|
2901 "~. c #678AE9", |
|
2902 "{. c #5D84E3", |
|
2903 "]. c #577CDF", |
|
2904 "^. c #4E77DF", |
|
2905 "/. c #4A70DB", |
|
2906 "(. c #4870DB", |
|
2907 "_. c #4870DC", |
|
2908 ":. c #4770E3", |
|
2909 "<. c #496FDC", |
|
2910 "[. c #486EDB", |
|
2911 "}. c #466FE4", |
|
2912 "|. c #466EE3", |
|
2913 "1. c #4167D9", |
|
2914 "2. c #4066D8", |
|
2915 "3. c #3F66D8", |
|
2916 "4. c #3D64D7", |
|
2917 "5. c #3960DA", |
|
2918 "6. c #476DD9", |
|
2919 "7. c #446EE5", |
|
2920 "8. c #305EC8", |
|
2921 "9. c #8EAAE8", |
|
2922 "0. c #8FAAE8", |
|
2923 "a. c #91AAE9", |
|
2924 "b. c #8FA9E8", |
|
2925 "c. c #8BA8E8", |
|
2926 "d. c #8AA7E9", |
|
2927 "e. c #8BA5EA", |
|
2928 "f. c #8AA7E8", |
|
2929 "g. c #87A2E6", |
|
2930 "h. c #859FE8", |
|
2931 "i. c #7F9DE8", |
|
2932 "j. c #7C9AE8", |
|
2933 "k. c #7B95E7", |
|
2934 "l. c #7090E8", |
|
2935 "m. c #6B8BE9", |
|
2936 "n. c #6386E6", |
|
2937 "o. c #5881E1", |
|
2938 "p. c #5479DE", |
|
2939 "q. c #4D74DE", |
|
2940 "r. c #476EDB", |
|
2941 "s. c #446EE1", |
|
2942 "t. c #446EE0", |
|
2943 "u. c #446EDF", |
|
2944 "v. c #446DE0", |
|
2945 "w. c #426ADF", |
|
2946 "x. c #3C64DA", |
|
2947 "y. c #4360CC", |
|
2948 "z. c #D3D5D2", |
|
2949 "A. c #E6E3E8", |
|
2950 "B. c #8DA2E7", |
|
2951 "C. c #8CA6EA", |
|
2952 "D. c #8DA3E9", |
|
2953 "E. c #88A2E7", |
|
2954 "F. c #87A1E7", |
|
2955 "G. c #8AA1E7", |
|
2956 "H. c #849EE9", |
|
2957 "I. c #7D9AE9", |
|
2958 "J. c #7B98E8", |
|
2959 "K. c #7796E5", |
|
2960 "L. c #7191E7", |
|
2961 "M. c #688CE9", |
|
2962 "N. c #6687E5", |
|
2963 "O. c #5C83E1", |
|
2964 "P. c #557BDE", |
|
2965 "Q. c #4F76DE", |
|
2966 "R. c #4C72DE", |
|
2967 "S. c #456EDF", |
|
2968 "T. c #426AD9", |
|
2969 "U. c #4269D9", |
|
2970 "V. c #4269D8", |
|
2971 "W. c #3D64D9", |
|
2972 "X. c #3A61DA", |
|
2973 "Y. c #345ED6", |
|
2974 "Z. c #335ECF", |
|
2975 "`. c #C6C3C8", |
|
2976 " + c #86A1E7", |
|
2977 ".+ c #87A2E7", |
|
2978 "++ c #87A0E7", |
|
2979 "@+ c #859EE8", |
|
2980 "#+ c #849DE9", |
|
2981 "$+ c #7E9BE9", |
|
2982 "%+ c #7A99E9", |
|
2983 "&+ c #7A95E5", |
|
2984 "*+ c #7593E7", |
|
2985 "=+ c #6F8EE9", |
|
2986 "-+ c #668AE5", |
|
2987 ";+ c #6386E0", |
|
2988 ">+ c #5B82DF", |
|
2989 ",+ c #5379DE", |
|
2990 "'+ c #5075DE", |
|
2991 ")+ c #4B6FDC", |
|
2992 "!+ c #446AD7", |
|
2993 "~+ c #4269D6", |
|
2994 "{+ c #4269D5", |
|
2995 "]+ c #3E65D7", |
|
2996 "^+ c #C9CAC9", |
|
2997 "/+ c #869EE9", |
|
2998 "(+ c #859FE9", |
|
2999 "_+ c #849FE9", |
|
3000 ":+ c #829DE8", |
|
3001 "<+ c #819DE8", |
|
3002 "[+ c #7B9AE9", |
|
3003 "}+ c #7A96E6", |
|
3004 "|+ c #7290E8", |
|
3005 "1+ c #698CE6", |
|
3006 "2+ c #6689E0", |
|
3007 "3+ c #5D84E0", |
|
3008 "4+ c #587FDF", |
|
3009 "5+ c #5377DD", |
|
3010 "6+ c #4B74DE", |
|
3011 "7+ c #496BD8", |
|
3012 "8+ c #7C9BE9", |
|
3013 "9+ c #7E9CE9", |
|
3014 "0+ c #7D9AEA", |
|
3015 "a+ c #7D9BEA", |
|
3016 "b+ c #7D98E8", |
|
3017 "c+ c #7C98E8", |
|
3018 "d+ c #7796E4", |
|
3019 "e+ c #7592E6", |
|
3020 "f+ c #7390E1", |
|
3021 "g+ c #698DE0", |
|
3022 "h+ c #6588DE", |
|
3023 "i+ c #5E84E0", |
|
3024 "j+ c #5880DF", |
|
3025 "k+ c #5479DC", |
|
3026 "l+ c #4F75DE", |
|
3027 "m+ c #4A6FDB", |
|
3028 "n+ c #436AD7", |
|
3029 "o+ c #3F65D7", |
|
3030 "p+ c #BAC3BE", |
|
3031 "q+ c #7B9AE8", |
|
3032 "r+ c #7B9AEA", |
|
3033 "s+ c #7A9AEA", |
|
3034 "t+ c #7B99E9", |
|
3035 "u+ c #7D97E7", |
|
3036 "v+ c #7D95E6", |
|
3037 "w+ c #7D95E5", |
|
3038 "x+ c #7C95E6", |
|
3039 "y+ c #7493E3", |
|
3040 "z+ c #7290DF", |
|
3041 "A+ c #6C8DDE", |
|
3042 "B+ c #6B89E1", |
|
3043 "C+ c #6486DF", |
|
3044 "D+ c #5D81DF", |
|
3045 "E+ c #567DDE", |
|
3046 "F+ c #4F73DE", |
|
3047 "G+ c #496EDA", |
|
3048 "H+ c #355ED6", |
|
3049 "I+ c #345ED5", |
|
3050 "J+ c #7E95E5", |
|
3051 "K+ c #7C97E8", |
|
3052 "L+ c #7C97E7", |
|
3053 "M+ c #7B94E6", |
|
3054 "N+ c #7A95E4", |
|
3055 "O+ c #7695E5", |
|
3056 "P+ c #7694E4", |
|
3057 "Q+ c #7994E6", |
|
3058 "R+ c #7995E4", |
|
3059 "S+ c #7594E4", |
|
3060 "T+ c #7391E2", |
|
3061 "U+ c #6E8EDE", |
|
3062 "V+ c #6B8ADE", |
|
3063 "W+ c #6688DF", |
|
3064 "X+ c #5F84E0", |
|
3065 "Y+ c #5980E0", |
|
3066 "Z+ c #4D72DD", |
|
3067 "`+ c #456BD7", |
|
3068 " @ c #4168D6", |
|
3069 ".@ c #3C64D7", |
|
3070 "+@ c #335ED0", |
|
3071 "@@ c #4659C7", |
|
3072 "#@ c #7292E1", |
|
3073 "$@ c #7392E1", |
|
3074 "%@ c #7492E1", |
|
3075 "&@ c #718FDF", |
|
3076 "*@ c #6F8EDE", |
|
3077 "=@ c #6D8BDE", |
|
3078 "-@ c #6B88DF", |
|
3079 ";@ c #597FDF", |
|
3080 ">@ c #557ADD", |
|
3081 ",@ c #5176DC", |
|
3082 "'@ c #4D74DD", |
|
3083 ")@ c #496DDA", |
|
3084 "!@ c #3860D8", |
|
3085 "~@ c #7391E0", |
|
3086 "{@ c #7290DE", |
|
3087 "]@ c #6D8EDD", |
|
3088 "^@ c #6D8DDD", |
|
3089 "/@ c #7190E0", |
|
3090 "(@ c #6C8DDD", |
|
3091 "_@ c #6B89DF", |
|
3092 ":@ c #6487E0", |
|
3093 "<@ c #6085DF", |
|
3094 "[@ c #5F81DE", |
|
3095 "}@ c #567EDE", |
|
3096 "|@ c #4F74D9", |
|
3097 "1@ c #466BD7", |
|
3098 "2@ c #4067D5", |
|
3099 "3@ c #3C63D7", |
|
3100 "4@ c #335ED3", |
|
3101 "5@ c #335ED1", |
|
3102 "6@ c #718EDD", |
|
3103 "7@ c #728EDD", |
|
3104 "8@ c #748EDD", |
|
3105 "9@ c #708EDD", |
|
3106 "0@ c #6F8DDD", |
|
3107 "a@ c #6E8DDD", |
|
3108 "b@ c #6C8ADE", |
|
3109 "c@ c #6C89DF", |
|
3110 "d@ c #6988DF", |
|
3111 "e@ c #6387DF", |
|
3112 "f@ c #6282DE", |
|
3113 "g@ c #5681E0", |
|
3114 "h@ c #577BDD", |
|
3115 "i@ c #5277DB", |
|
3116 "j@ c #4D73D8", |
|
3117 "k@ c #4A70D8", |
|
3118 "l@ c #436AD5", |
|
3119 "m@ c #3F66D6", |
|
3120 "n@ c #3C63D8", |
|
3121 "o@ c #3960D8", |
|
3122 "p@ c #3860D7", |
|
3123 "q@ c #335ED2", |
|
3124 "r@ c #345ED4", |
|
3125 "s@ c #6C88DF", |
|
3126 "t@ c #6D88DF", |
|
3127 "u@ c #6B89DE", |
|
3128 "v@ c #6888DF", |
|
3129 "w@ c #6587E0", |
|
3130 "x@ c #6989DF", |
|
3131 "y@ c #6687E0", |
|
3132 "z@ c #6287E0", |
|
3133 "A@ c #6281DD", |
|
3134 "B@ c #5881E0", |
|
3135 "C@ c #557ADB", |
|
3136 "D@ c #5176D9", |
|
3137 "E@ c #4E75D7", |
|
3138 "F@ c #4A6FD8", |
|
3139 "G@ c #476BD6", |
|
3140 "H@ c #4067D6", |
|
3141 "I@ c #3C62D7", |
|
3142 "J@ c #3C60D4", |
|
3143 "K@ c #365ED1", |
|
3144 "L@ c #345ED3", |
|
3145 "M@ c #6786DF", |
|
3146 "N@ c #5F85E0", |
|
3147 "O@ c #5F86E0", |
|
3148 "P@ c #6186DF", |
|
3149 "Q@ c #6286E0", |
|
3150 "R@ c #6284DF", |
|
3151 "S@ c #6384DF", |
|
3152 "T@ c #5B7FDE", |
|
3153 "U@ c #577DDC", |
|
3154 "V@ c #557BDA", |
|
3155 "W@ c #5278D8", |
|
3156 "X@ c #4E76D6", |
|
3157 "Y@ c #4C72D7", |
|
3158 "Z@ c #486DD8", |
|
3159 "`@ c #4469D6", |
|
3160 " # c #3F62D2", |
|
3161 ".# c #3C60CF", |
|
3162 "+# c #345ECF", |
|
3163 "@# c #6086DF", |
|
3164 "## c #6085E0", |
|
3165 "$# c #6285DF", |
|
3166 "%# c #6383DD", |
|
3167 "&# c #6481DC", |
|
3168 "*# c #6380DD", |
|
3169 "=# c #6183DE", |
|
3170 "-# c #6083DD", |
|
3171 ";# c #6081DC", |
|
3172 "># c #6080DD", |
|
3173 ",# c #6083DE", |
|
3174 "'# c #6181DC", |
|
3175 ")# c #6280DD", |
|
3176 "!# c #577EDB", |
|
3177 "~# c #557CD7", |
|
3178 "{# c #4F76D6", |
|
3179 "]# c #4E74D7", |
|
3180 "^# c #466CD7", |
|
3181 "/# c #3B64D6", |
|
3182 "(# c #4261CD", |
|
3183 "_# c #375FCE", |
|
3184 ":# c #5A7FD8", |
|
3185 "<# c #6281DA", |
|
3186 "[# c #5F81D8", |
|
3187 "}# c #5C80D8", |
|
3188 "|# c #557DD7", |
|
3189 "1# c #577ED8", |
|
3190 "2# c #567ED7", |
|
3191 "3# c #587DD8", |
|
3192 "4# c #577DD8", |
|
3193 "5# c #587ED8", |
|
3194 "6# c #567DD8", |
|
3195 "7# c #5379D9", |
|
3196 "8# c #5177D7", |
|
3197 "9# c #4D74D5", |
|
3198 "0# c #486ED9", |
|
3199 "a# c #4068D4", |
|
3200 "b# c #3D65D2", |
|
3201 "c# c #4361CC", |
|
3202 "d# c #345ECE", |
|
3203 "e# c #325DCF", |
|
3204 "f# c #2C5AD1", |
|
3205 "g# c #3959C5", |
|
3206 "h# c #547BD8", |
|
3207 "i# c #567DD7", |
|
3208 "j# c #557BD8", |
|
3209 "k# c #5279D9", |
|
3210 "l# c #5278D9", |
|
3211 "m# c #4D74D6", |
|
3212 "n# c #4B71D8", |
|
3213 "o# c #496CD8", |
|
3214 "p# c #4669D7", |
|
3215 "q# c #3D66D3", |
|
3216 "r# c #3F62CF", |
|
3217 "s# c #4260CC", |
|
3218 "t# c #5379D8", |
|
3219 "u# c #4E75D4", |
|
3220 "v# c #4C73D7", |
|
3221 "w# c #476CD7", |
|
3222 "x# c #4869D0", |
|
3223 "y# c #4067D2", |
|
3224 "z# c #3D64D1", |
|
3225 "A# c #4261CC", |
|
3226 "B# c #395FCE", |
|
3227 "C# c #4F75D3", |
|
3228 "D# c #5074D2", |
|
3229 "E# c #5174D1", |
|
3230 "F# c #5175D1", |
|
3231 "G# c #4F74D3", |
|
3232 "H# c #4C73D5", |
|
3233 "I# c #4C73D4", |
|
3234 "J# c #4A72D1", |
|
3235 "K# c #4B70CF", |
|
3236 "L# c #506CCC", |
|
3237 "M# c #4D6BCE", |
|
3238 "N# c #4167D0", |
|
3239 "O# c #3D65D1", |
|
3240 "P# c #3F63CF", |
|
3241 "Q# c #3B5FCD", |
|
3242 "R# c #3159CD", |
|
3243 "S# c #4971D0", |
|
3244 "T# c #4870CF", |
|
3245 "U# c #4C6FCF", |
|
3246 "V# c #4E6CCE", |
|
3247 "W# c #4E6BCE", |
|
3248 "X# c #4769CF", |
|
3249 "Y# c #3D66D0", |
|
3250 "Z# c #3C65D1", |
|
3251 "`# c #4062CE", |
|
3252 " $ c #3D5FCD", |
|
3253 ".$ c #365FCF", |
|
3254 "+$ c #325DCD", |
|
3255 "@$ c #2D5AD0", |
|
3256 "#$ c #3859C5", |
|
3257 "$$ c #355FCF", |
|
3258 "%$ c #355ECF", |
|
3259 "&$ c #335ECE", |
|
3260 "*$ c #305CCD", |
|
3261 "=$ c #2B5ACE", |
|
3262 "-$ c #3056C9", |
|
3263 ";$ c #2553C6", |
|
3264 ">$ c #2153C8", |
|
3265 ",$ c #1F4FC7", |
|
3266 "'$ c #274CC5", |
|
3267 ")$ c #214AC7", |
|
3268 "!$ c #1C48C8", |
|
3269 "~$ c #1244C9", |
|
3270 "{$ c #1043C9", |
|
3271 "]$ c #1144C9", |
|
3272 "^$ c #2A45BE", |
|
3273 "/$ c #2744B5", |
|
3274 "($ c #1D49C0", |
|
3275 "_$ c #2B58DE", |
|
3276 ":$ c #002D94", |
|
3277 "<$ c #2B59CA", |
|
3278 "[$ c #2A59CA", |
|
3279 "}$ c #2E57C8", |
|
3280 "|$ c #3255C6", |
|
3281 "1$ c #3355C5", |
|
3282 "2$ c #1C52C8", |
|
3283 "3$ c #1D50C7", |
|
3284 "4$ c #234FC6", |
|
3285 "5$ c #264CC5", |
|
3286 "6$ c #1D48C7", |
|
3287 "7$ c #1245C8", |
|
3288 "8$ c #1F44C2", |
|
3289 "9$ c #2945BE", |
|
3290 "0$ c #2A45BD", |
|
3291 "a$ c #2040BF", |
|
3292 "b$ c #3156C7", |
|
3293 "c$ c #3056C7", |
|
3294 "d$ c #3354C5", |
|
3295 "e$ c #3355C6", |
|
3296 "f$ c #3255C5", |
|
3297 "g$ c #3254C5", |
|
3298 "h$ c #1952C7", |
|
3299 "i$ c #1951C8", |
|
3300 "j$ c #2050C7", |
|
3301 "k$ c #274CC4", |
|
3302 "l$ c #244CC6", |
|
3303 "m$ c #1F49C7", |
|
3304 "n$ c #1E47C5", |
|
3305 "o$ c #2045C3", |
|
3306 "p$ c #1C44BF", |
|
3307 "q$ c #2045BE", |
|
3308 "r$ c #2040B8", |
|
3309 "s$ c #3254C6", |
|
3310 "t$ c #3055C6", |
|
3311 "u$ c #2A54C6", |
|
3312 "v$ c #2353C7", |
|
3313 "w$ c #3054C5", |
|
3314 "x$ c #2F55C5", |
|
3315 "y$ c #2A54C5", |
|
3316 "z$ c #2553C5", |
|
3317 "A$ c #2F54C5", |
|
3318 "B$ c #3155C6", |
|
3319 "C$ c #2A54C7", |
|
3320 "D$ c #1A52C8", |
|
3321 "E$ c #204FC2", |
|
3322 "F$ c #264DC6", |
|
3323 "G$ c #234BC5", |
|
3324 "H$ c #1D48C1", |
|
3325 "I$ c #1E48BF", |
|
3326 "J$ c #2646BE", |
|
3327 "K$ c #2B45BD", |
|
3328 "L$ c #1E43BE", |
|
3329 "M$ c #2643BF", |
|
3330 "N$ c #2243BF", |
|
3331 "O$ c #3049BC", |
|
3332 "P$ c #1E50BE", |
|
3333 "Q$ c #1D50C0", |
|
3334 "R$ c #1D50BF", |
|
3335 "S$ c #1852C1", |
|
3336 "T$ c #1E51C0", |
|
3337 "U$ c #214FBF", |
|
3338 "V$ c #2050C0", |
|
3339 "W$ c #244EBF", |
|
3340 "X$ c #2151C0", |
|
3341 "Y$ c #234FBF", |
|
3342 "Z$ c #2350C0", |
|
3343 "`$ c #2351C0", |
|
3344 " % c #244FBF", |
|
3345 ".% c #2250C0", |
|
3346 "+% c #2051C0", |
|
3347 "@% c #1E50C0", |
|
3348 "#% c #244DBE", |
|
3349 "$% c #274DBF", |
|
3350 "%% c #244CBF", |
|
3351 "&% c #1C48C0", |
|
3352 "*% c #2247BF", |
|
3353 "=% c #2C44BD", |
|
3354 "-% c #1C44BE", |
|
3355 ";% c #1444BF", |
|
3356 ">% c #1841BF", |
|
3357 ",% c #1F40BF", |
|
3358 "'% c #254DBE", |
|
3359 ")% c #224FBE", |
|
3360 "!% c #224FBF", |
|
3361 "~% c #234EBF", |
|
3362 "{% c #254CBD", |
|
3363 "]% c #244DBD", |
|
3364 "^% c #244CBD", |
|
3365 "/% c #264DBE", |
|
3366 "(% c #264DBD", |
|
3367 "_% c #214BC0", |
|
3368 ":% c #1D48C0", |
|
3369 "<% c #2347BF", |
|
3370 "[% c #2B44BD", |
|
3371 "}% c #2444BE", |
|
3372 "|% c #0F42BF", |
|
3373 "1% c #0641BF", |
|
3374 "2% c #0F41BF", |
|
3375 "3% c #1741BE", |
|
3376 "4% c #1F40BD", |
|
3377 "5% c #234BBF", |
|
3378 "6% c #234CBE", |
|
3379 "7% c #214BBE", |
|
3380 "8% c #244CBE", |
|
3381 "9% c #214ABE", |
|
3382 "0% c #214ABF", |
|
3383 "a% c #1F48C0", |
|
3384 "b% c #2746BE", |
|
3385 "c% c #1F43BE", |
|
3386 "d% c #0941BE", |
|
3387 "e% c #0342BA", |
|
3388 "f% c #0242BC", |
|
3389 "g% c #1241B8", |
|
3390 "h% c #1F40B7", |
|
3391 "i% c #2F41AC", |
|
3392 "j% c #2644AE", |
|
3393 "k% c #2D49B4", |
|
3394 "l% c #2649B6", |
|
3395 "m% c #2949B7", |
|
3396 "n% c #2849B5", |
|
3397 "o% c #2149B8", |
|
3398 "p% c #1E49B9", |
|
3399 "q% c #1F48B8", |
|
3400 "r% c #1F49B9", |
|
3401 "s% c #2545B6", |
|
3402 "t% c #2744B7", |
|
3403 "u% c #2844B7", |
|
3404 "v% c #2043B8", |
|
3405 "w% c #1241B7", |
|
3406 "x% c #1340B8", |
|
3407 "y% c #0D41B8", |
|
3408 "z% c #1941B8", |
|
3409 "A% c #1F40B8", |
|
3410 "B% c #203FB8", |
|
3411 "C% c #2549B5", |
|
3412 "D% c #2648B6", |
|
3413 "E% c #2547B7", |
|
3414 "F% c #2248B7", |
|
3415 "G% c #2048B7", |
|
3416 "H% c #2346B6", |
|
3417 "I% c #2146B6", |
|
3418 "J% c #2247B7", |
|
3419 "K% c #2148B7", |
|
3420 "L% c #2743B4", |
|
3421 "M% c #2643B5", |
|
3422 "N% c #2542B6", |
|
3423 "O% c #1D42B7", |
|
3424 "P% c #0E42B8", |
|
3425 "Q% c #0C41B8", |
|
3426 "R% c #1341B8", |
|
3427 "S% c #1740B8", |
|
3428 "T% c #1C41B8", |
|
3429 "U% c #1F40B1", |
|
3430 "V% c #2644B5", |
|
3431 "W% c #2544B5", |
|
3432 "X% c #2544B4", |
|
3433 "Y% c #2444B5", |
|
3434 "Z% c #2444B4", |
|
3435 "`% c #2744B4", |
|
3436 " & c #2241B7", |
|
3437 ".& c #1D41B8", |
|
3438 "+& c #0B42B8", |
|
3439 "@& c #0942B8", |
|
3440 "#& c #0C42B8", |
|
3441 "$& c #0F41B8", |
|
3442 "%& c #1641B8", |
|
3443 "&& c #2442B5", |
|
3444 "*& c #2543B3", |
|
3445 "=& c #2342B2", |
|
3446 "-& c #2341B4", |
|
3447 ";& c #2141B3", |
|
3448 ">& c #2141B5", |
|
3449 ",& c #2140B5", |
|
3450 "'& c #2040B5", |
|
3451 ")& c #1C40B7", |
|
3452 "!& c #1B41B3", |
|
3453 "~& c #0142B6", |
|
3454 "{& c #0E41B7", |
|
3455 "]& c #1141B7", |
|
3456 "^& c #1440B2", |
|
3457 "/& c #113FB0", |
|
3458 "(& c #1440B0", |
|
3459 "_& c #213EAF", |
|
3460 ":& c #233DAE", |
|
3461 "<& c #223EAF", |
|
3462 "[& c #1E40B1", |
|
3463 "}& c #173EAD", |
|
3464 "|& c #1440AF", |
|
3465 "1& c #0D40AF", |
|
3466 "2& c #0941B0", |
|
3467 "3& c #0D3FAE", |
|
3468 "4& c #1B3CAC", |
|
3469 "5& c #233CAD", |
|
3470 "6& c #203FB0", |
|
3471 "7& c #273BAD", |
|
3472 "8& c #1D40B0", |
|
3473 "9& c #2040B1", |
|
3474 "0& c #1E40B0", |
|
3475 "a& c #1C40B0", |
|
3476 "b& c #1B3DAC", |
|
3477 "c& c #143DAC", |
|
3478 "d& c #193DAD", |
|
3479 "e& c #1B3DAD", |
|
3480 "f& c #173DAD", |
|
3481 "g& c #153DAC", |
|
3482 "h& c #1C3CAC", |
|
3483 "i& c #243CAD", |
|
3484 "j& c #213FB0", |
|
3485 "k& c #263BAA", |
|
3486 "l& c #253CAE", |
|
3487 "m& c #273AAC", |
|
3488 "n& c #273AAD", |
|
3489 "o& c #253BAD", |
|
3490 "p& c #1D3CAC", |
|
3491 "q& c #243BAD", |
|
3492 "r& c #1E3CAC", |
|
3493 "s& c #263BAD", |
|
3494 "t& c #1A3DAC", |
|
3495 "u& c #143DAB", |
|
3496 "v& c #163DAC", |
|
3497 "w& c #1A3CAC", |
|
3498 "x& c #1F3CAD", |
|
3499 "y& c #263BAB", |
|
3500 "z& c #263BA6", |
|
3501 "A& c #1E42A4", |
|
3502 "B& c #2D40A5", |
|
3503 "C& c #253BA6", |
|
3504 "D& c #253CA7", |
|
3505 "E& c #263AA5", |
|
3506 "F& c #253BA7", |
|
3507 "G& c #1E3BA6", |
|
3508 "H& c #193DA6", |
|
3509 "I& c #173DA5", |
|
3510 "J& c #143DA6", |
|
3511 "K& c #1A3DA7", |
|
3512 "L& c #133DA6", |
|
3513 "M& c #123DA5", |
|
3514 "N& c #1A3CA7", |
|
3515 "O& c #243BA6", |
|
3516 "P& c #263AA7", |
|
3517 "Q& c #273BA7", |
|
3518 "R& c #263AA6", |
|
3519 "S& c #223BA6", |
|
3520 "T& c #1D3BA6", |
|
3521 "U& c #173CA6", |
|
3522 "V& c #133DA5", |
|
3523 "W& c #1B3DA6", |
|
3524 "X& c #193DA5", |
|
3525 "Y& c #123DA4", |
|
3526 "Z& c #163CA5", |
|
3527 "`& c #213CA6", |
|
3528 " * c #273BA8", |
|
3529 ".* c #263BA7", |
|
3530 "+* c #253BA5", |
|
3531 "@* c #263BA5", |
|
3532 "#* c #1C3BA6", |
|
3533 "$* c #1B3BA9", |
|
3534 "%* c #133BA8", |
|
3535 "&* c #0A3BA7", |
|
3536 "** c #083AA6", |
|
3537 "=* c #123CA5", |
|
3538 "-* c #0839A8", |
|
3539 ";* c #0239A6", |
|
3540 ">* c #123AA8", |
|
3541 ",* c #1F49C8", |
|
3542 "'* c #2F4DA4", |
|
3543 ")* c #2E4DA3", |
|
3544 "!* c #384CA4", |
|
3545 "~* c #3C4DA7", |
|
3546 "{* c #394EA7", |
|
3547 "]* c #3B4CA5", |
|
3548 "^* c #3C52B1", |
|
3549 "/* c #3551A8", |
|
3550 "(* c #3759BE", |
|
3551 "_* c #4161C7", |
|
3552 ":* c #0033A8", |
|
3553 "<* c #596FA9", |
|
3554 "[* c #2F4DA3", |
|
3555 "}* c #2D4BA5", |
|
3556 "|* c #2E4CA4", |
|
3557 "1* c #2C4AA5", |
|
3558 "2* c #2D4BA4", |
|
3559 "3* c #354DA4", |
|
3560 "4* c #3A4BA4", |
|
3561 "5* c #394DA6", |
|
3562 "6* c #4056AD", |
|
3563 "7* c #445BBB", |
|
3564 "8* c #B5B7B4", |
|
3565 "9* c #1B2F85", |
|
3566 "0* c #242F79", |
|
3567 "a* c #B5B5B5", |
|
3568 "b* c #B5B2B6", |
|
3569 "c* c #C0C3C3", |
|
3570 "d* c #E3E3E4", |
|
3571 "e* c #EBEDEA", |
|
3572 ". + @ + # $ % & # $ % & # $ % & # $ % & & * = - ; > , ' ) ! ~ { { { { { { { ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ / / / ( / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / _ _ / / : / < [ } | | | 1 1 ", |
|
3573 "2 2 2 2 3 2 4 @ 3 2 4 @ 3 2 4 @ 3 2 4 @ # 5 6 7 8 ; > 9 0 a b c d e f { { { ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ( ( ( ( ( ( ( ( ( / / / / / / / / / / / / / / / / / _ _ _ _ _ _ _ _ _ _ _ g g _ / / : : : h i } 1 | 1 ", |
|
3574 "j k l m n o p q n o p q r s t u v w x y z A B C D E F G H I J K L M N O P O O Q R S T T T T T T T T T T T T T T T T T T U U U U U U U U U U U U U U U U U U U U U U U U U U U U V V V U U W X : [ Y | | ", |
|
3575 "Z ` . ...+.@.#...+.@.#.Z $.%.&.Z $.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.6.7.8.: h Y } 1 ", |
|
3576 "9.0.a.b.c.c.d.e.f.c.d.e.f.c.d.e.f.c.d.e.g.h.i.j.k.l.m.n.o.p.q.r.s.s.t.u.u.v.w.x.4.4.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.y.5.7.6.: / z.A.} ", |
|
3577 "-.B.C.D.-.E.g.F.G.E.g.F.G.E.g.F.G.E.g.F.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.V.U.U.W.X.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Z.y.Y.7.7.: : `.z.} ", |
|
3578 " +.+g.;.++F.@+#+++F.@+#+++F.@+#+++F.@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+{+{+4.4.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.Y.Y.5.5.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Z.Z.Z.y.y.5.7.7.: : ^+z.Y ", |
|
3579 "/+(+_+#+H.H.>.:+H.H.>.:+H.H.>.:+H.H.>.<+[+}+*+|+1+2+3+4+5+6+7+{+{+4.4.4.4.4.4.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.Y.Y.Y.Y.Y.Y.Y.5.Y.Y.Y.Y.Y.Y.Y.Y.5.Y.Y.5.5.5.5.Y.Y.Y.Y.Y.Y.Z.Z.Z.Z.y.y.y.y.y.y.7.7.: : ^+i } ", |
|
3580 "8+9+0+0+a+0+0+b+a+0+0+b+a+0+0+b+a+0+0+c+d+e+f+g+h+i+j+k+l+m+n+o+4.4.4.4.5.5.5.5.5.5.Y.Y.5.5.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Y.Y.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.7.7.: : p+z.Y ", |
|
3581 "q+r+r+s+t+u+v+w+t+u+v+w+t+u+v+w+t+u+x+&+y+z+A+B+C+D+E+5+F+G+~+4.4.4.4.5.5.5.5.5.H+Y.Y.Y.Y.Y.Y.Y.Y.I+Y.Z.Y.Y.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.7.7.: : `.z.A.", |
|
3582 "J+v+K+L+M+N+O+P+Q+R+O+P+Q+R+O+P+Q+R+O+S+T+U+V+W+X+Y+P.T Z+`+ @4.4..@5.5.5.5.5.5.Y.Y.Y.I+I+I+I+I++@+@Z.Z.Y.Y.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.@@Z.7.7.: : p+z.Y ", |
|
3583 "#@$@$@%@%@$@#@&@#@#@#@&@#@#@#@&@#@#@#@*@=@-@;+i+;@>@,@'@)@ @4.X.5.5.H+Y.Y.Y.!@Y.Y.I++@+@Z.Z.+@Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.y.Z.6.6.: : `.z.A.", |
|
3584 "#@$@~@~@~@{@]@^@/@{@]@^@/@{@]@^@/@{@]@(@_@:@<@[@}@k+|@V 1@2@3@5.5.5.Y.Y.I+4@I+5@+@Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.y.Z.6.6.: : p+z.Y ", |
|
3585 "6@7@8@9@0@a@b@c@a@a@b@c@a@a@b@c@a@a@b@d@e@<@f@g@h@i@j@k@l@m@n@o@o@p@Y.I+q@q@r@+@Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.y.Z.6.6.: : `.z.A.", |
|
3586 "s@t@u@_@_@v@w@w@x@v@w@w@x@v@y@y@x@v@:@z@A@B@P C@D@E@F@G@H@I@J@K@5@+@+@+@r@I+L@Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.@@Z.W W : : p+z.Y ", |
|
3587 "M@N@O@P@C+Q@Q@R@C+;+Q@R@C+;+;+S@C+Q@Q@R@T@U@V@W@X@Y@Z@`@4. #.#+#Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.8.Z.Z.Z.Z.8.8.Z.Z.y.@@@@W W : : `.z.A.", |
|
3588 "@#O@O@##$#%#&#*#=#-#;#>#,#-#;#>#,#-#'#)#!#~#W@{#]#k@^#H@/#(#_#Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.8.8.Z.Z.Z.Z.Z.Z.Z.8.8.8.8.8.8.8.8.8.8.8.Z.Z.y.y.@@W W : : p+z.Y ", |
|
3589 ":#<#[#}#|#1#2#3#4#5#1#4#4#1#1#4#4#1#1#6#7#8#9#V 0#`+a#b#c#d#e#Z.Z.Z.f#Z.Z.Z.f#f#f#f#f#f#f#f#f#f#g#g#g#g#g#8.8.8.8.8.8.8.8.8.g#g#g#g#8.g#8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.y.y.@@W W : : `.z.A.", |
|
3590 "h#2#i#6#|#j#7#k#|#j#7#7#|#j#7#7#|#j#7#l#8#m#n#n#o#p#q#r#s#d#e#Z.Z.Z.f#f#f#f#Z.f#f#g#g#g#g#g#g#g#g#g#g#g#g#8.8.8.g#g#8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.y.y.y.y.8.8.8.y.y.@@W W : : p+z.Y ", |
|
3591 "l#7#7#l#7#7#7#W@7#7#7#W@7#7#k#W@t#7#7#W@u#v#n#w#x#y#z#A#B#Z.e#f#f#Z.f#f#f#Z.Z.g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#8.8.8.g#g#g#g#8.8.g#g#g#g#g#g#8.8.g#8.8.y.8.8.y.y.8.y.y.y.y.@@W W : : `.z.A.", |
|
3592 "C#D#E#F#G#H#I#J#G#H#I#J#G#H#I#J#G#H#I#J#K#L#M#N#O#P#s#Q#+#f#R#f#f#f#f#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#@@@@y.y.@@@@y.y.W W : : p+z.Y ", |
|
3593 "S#S#S#S#S#T#S#U#S#T#S#U#S#T#S#U#S#T#S#U#V#W#X#Y#Z#`# $.$+$@$#$g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#g#@@@@@@@@@@@@@@@@@@y.y.W W : : `.z.A.", |
|
3594 "+$Z..$$$%$+$&$*$%$+$&$*$%$+$&$*$%$+$&$*$=$-$;$>$,$'$)$!$~${$]$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$/$/$/$/$($($_$_$:$:$p+z.Y ", |
|
3595 "<$<$<$<$<$[$}$|$<$[$}$|$<$[$}$|$<$[$}$|$1$2$3$4$5$)$6$7$8$9$0$a$a$a$a$a$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$/$/$/$^$^$^$/$/$/$/$/$/$/$/$/$/$/$/$/$/$($($_$_$:$:$`.z.A.", |
|
3596 "b$c$c$c$d$e$e$f$g$|$|$1$d$e$e$1$d$e$e$1$h$i$j$k$l$m$n$o$p$9$q$a$a$a$a$a$a$a$a$^$a$a$^$^$^$^$^$^$a$r$r$r$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$^$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$($($_$_$:$:$p+z.Y ", |
|
3597 "e$1$s$s$1$t$u$v$w$x$y$z$A$x$u$v$g$B$C$>$D$E$F$G$H$I$J$K$L$M$N$a$a$a$a$a$a$a$a$^$r$r$a$^$^$^$a$r$r$r$r$r$/$^$r$^$^$^$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$O$($_$_$:$:$`.z.A.", |
|
3598 "P$Q$R$S$T$U$V$W$X$Y$Z$W$`$ %.%W$+%U$@%#%$%%%&%($*%=%-%;%>%>%,%r$r$r$r$r$a$a$a$/$/$/$r$r$r$r$r$r$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$O$($_$_$:$:$p+z.Y ", |
|
3599 "'%W$)%!%~%{%'%]%~%^%'%]%~%^%'%]%~%^%/%(%_%&%:%<%[%}%|%1%2%3%4%r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$/$r$/$/$r$r$r$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$/$r$/$/$/$/$/$O$($_$_$:$:$`.z.A.", |
|
3600 "5%6%'%'%6%7%8%9%6%7%8%9%6%7%8%9%6%7%8%0%&%a%<%b%[%c%d%e%f%g%h%r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$/$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$/$/$/$/$/$/$/$/$/$/$/$/$/$/$r$r$/$/$r$r$/$r$i%j%O$($_$_$:$:$p+z.Y ", |
|
3601 "k%l%m%n%o%o%p%q%o%o%r%q%o%o%r%q%o%o%p%q%s%t%/$u%v%w%x%y%z%A%B%r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$/$/$/$/$/$/$/$r$r$i%i%i%r$r$i%i%i%i%i%i%i%i%i%i%i%i%r$/$/$j%j%j%j%j%j%j%j%j%O$($_$_$:$:$`.z.A.", |
|
3602 "C%D%E%F%G%H%I%J%K%H%I%J%K%H%I%J%K%H%I%J%L%M%N%O%P%Q%R%S%T%A%B%r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$U%U%r$r$i%i%/$/$r$r$/$/$/$/$r$r$i%i%i%i%i%i%i%i%i%i%i%i%i%i%j%i%j%j%j%j%j%j%j%j%j%j%j%j%j%O$($_$_$:$:$p+z.Y ", |
|
3603 "/$/$/$/$V%V%W%X%W%Y%Y%Z%W%W%Y%Z%W%W%W%`%`% &B%.&+&@&#&$&%&A%B%r$r$r$U%U%U%U%r$U%U%U%U%U%U%U%U%U%U%i%i%i%i%i%i%i%i%/$/$/$i%i%i%i%i%i%i%i%i%j%j%j%j%i%i%i%i%i%j%j%j%i%i%j%j%j%j%j%j%j%j%O$($_$_$:$:$`.z.A.", |
|
3604 "&&*&=&-&=&;&>&,&=&;&>&,&=&;&>&,&=&;&>&'&)&!&~&{&]&^&/&(&_&:&<&U%U%U%U%U%U%U%U%U%U%U%U%U%i%i%U%U%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%O$($_$_$:$:$p+z.Y ", |
|
3605 "U%U%U%U%U%U%U%U%U%U%U%U%U%U%U%U%U%U%U%U%[&}&|&1&2&3&4&5&_&6&U%7&U%U%U%U%U%U%U%U%i%i%U%U%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%O$O$_$_$:$:$`.z.A.", |
|
3606 "U%U%U%U%U%U%[&8&U%9&[&0&U%9&[&0&U%9&[&a&:&b&c&d&e&f&g&h&i&<&j&U%U%U%U%U%U%U%U%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%O$O$_$_$:$:$p+z.Y ", |
|
3607 "k&l&m&7&7&n&o&p&7&n&q&r&s&s&q&r&s&n&o&p&t&u&u&g&v&w&x&q&n&m&y&7&7&U%U%7&z&7&z&U%A&B&i%i%B&B&i%i%B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&i%B&O$O$_$_$:$:$`.z.A.", |
|
3608 "C&D&E&z&z&E&F&G&z&E&F&G&z&E&F&G&z&E&F&G&H&I&J&K&L&M&N&O&P&Q&z&z&z&z&z&z&z&z&z&z&z&z&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&O$O$_$_$:$:$p+z.Y ", |
|
3609 "z&z&z&z&R&S&T&U&R&S&T&U&R&S&T&U&R&S&T&U&V&V&W&X&Y&Z&`&C&R&z&z&z&z&z&z&z&z&z&z&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&O$O$_$_$:$:$^+z.A.", |
|
3610 "z& *.*+*@*#*$*%*@*#*$*%*@*#*$*%*@*#*$*%*&***=*-*;*>*k&P&+*z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&z&B&B&B&B&z&z&z&B&B&B&z&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&/$O$O$@@_$,*:$/ ^+z.Y ", |
|
3611 "'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*'*)*'*!*~*{*]*^*^*^*/*/*/*/*/*/*/*^*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*^*/*/*/*/*/*h h ^*h h ^*^*h h ^*^*^*^*h ^*^*^*^*h ^*^*^*(*_*_*_*_*_$:*:$<*`.z.} ", |
|
3612 "'*'*'*'*'*[*}*|*'*[*}*|*'*[*}*|*'*[*}*|*1*1*2*}*}*2*[*)*3*4*5*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*h h h h h h h h h h h h h h h h 6*7*_*_*_*_*^*:*:$: 8*z.Y } ", |
|
3613 "9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*9*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*( <*8*^+z.Y } 1 ", |
|
3614 "a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*8*b*8*b*8*b*8*b*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*b*8*8*8*8*b*8*`.z.A.Y | | ", |
|
3615 "c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*p+`.p+`.p+`.p+`.`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+`.p+^+`.^+^+z.z.Y Y | | 1 ", |
|
3616 "d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*d*A.Y A.Y A.Y A.Y Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y A.Y } } | | | | 1 1 ", |
|
3617 "e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*e*} | } | } | } | | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | } | | | | 1 | | | 1 1 1 "}; |
|
3618 |
|
3619 |
|
3620 static char * tabmiddle_xpm[] = { |
|
3621 "33 42 32 1", |
|
3622 " c None", |
|
3623 ". c #CECFEF", |
|
3624 "+ c #CECBE7", |
|
3625 "@ c #C6C7E7", |
|
3626 "# c #C6CBE7", |
|
3627 "$ c #BDBEDE", |
|
3628 "% c #BDC3DE", |
|
3629 "& c #CECBEF", |
|
3630 "* c #B5B6D6", |
|
3631 "= c #ADAECE", |
|
3632 "- c #ADB2CE", |
|
3633 "; c #BDBAD6", |
|
3634 "> c #B5BAD6", |
|
3635 ", c #C6C3DE", |
|
3636 "' c #ADAAC6", |
|
3637 ") c #B5B2CE", |
|
3638 "! c #B5B6CE", |
|
3639 "~ c #A5A2BD", |
|
3640 "{ c #A5A6BD", |
|
3641 "] c #9C9EB5", |
|
3642 "^ c #9CA2BD", |
|
3643 "/ c #ADAEC6", |
|
3644 "( c #C6C3E7", |
|
3645 "_ c #9C9AB5", |
|
3646 ": c #A5A6C6", |
|
3647 "< c #949AAD", |
|
3648 "[ c #A5AAC6", |
|
3649 "} c #9496AD", |
|
3650 "| c #BDBADE", |
|
3651 "1 c #BDBED6", |
|
3652 "2 c #9CA2B5", |
|
3653 "3 c #A5AABD", |
|
3654 "..........................+@.#.#.", |
|
3655 "........................$@%&#.#..", |
|
3656 "......................**$$@@&#.#.", |
|
3657 ".....................=-;>,%+@.#..", |
|
3658 "....................'')!$$@@&#.#.", |
|
3659 "...................~{=)$$@@&#.#..", |
|
3660 "..................]^'/;;(%&#.#...", |
|
3661 "................._]:/*>,%&@.#.#..", |
|
3662 ".................<{[)!$%+@.#.#...", |
|
3663 "................}~{=!$%@@.#......", |
|
3664 "................]^/-|$@@.#.......", |
|
3665 "................]'/*;@@&#........", |
|
3666 "...............<~[)>,%&#.#.......", |
|
3667 "...............]~=)$%+#.#........", |
|
3668 "...............]'/;1@@.#.........", |
|
3669 "...............~{)*,%&#..........", |
|
3670 "...............2/-$$@#...........", |
|
3671 "...............~[*>(@&#..........", |
|
3672 "...............^=)$%+#...........", |
|
3673 "...............{'*>(@.#..........", |
|
3674 "...............^=)$%+#...........", |
|
3675 "...............{'*>(@.#..........", |
|
3676 "...............^=)$%+#...........", |
|
3677 "...............{'*>(@.#..........", |
|
3678 "...............^=)$%+#...........", |
|
3679 "...............{'*>(@.#..........", |
|
3680 "...............^=)$%+#...........", |
|
3681 "...............{'*>@@.#..........", |
|
3682 "...............^=!$%&#...........", |
|
3683 "...............{/*;@@.#..........", |
|
3684 "...............{)!$%&#...........", |
|
3685 "..............]'/;1@@.#..........", |
|
3686 "..............23)>,%&#...........", |
|
3687 "..............~=-$$@@.#..........", |
|
3688 ".............]{/*;@@.#...........", |
|
3689 "............<^[)>,%&#............", |
|
3690 "............]{/!$%@@.#...........", |
|
3691 "..........]^[-!$%@@.#............", |
|
3692 ".........]^3/!>$@@.#.............", |
|
3693 ".......<]^3/!>$@@&#..............", |
|
3694 ".....<]2{[/!>$%@&#.#.............", |
|
3695 "}<<_]2{3/-!>$%@&#.#.............."}; |
|
3696 |
|
3697 |
|
3698 static char * tabselectedbeginn_xpm[] = { |
|
3699 "33 39 28 1", |
|
3700 " c None", |
|
3701 ". c #CECFEF", |
|
3702 "+ c #EFF3EF", |
|
3703 "@ c #FFFBFF", |
|
3704 "# c #F7FBF7", |
|
3705 "$ c #FFFFFF", |
|
3706 "% c #EFEFEF", |
|
3707 "& c #F7F7F7", |
|
3708 "* c #DEDFDE", |
|
3709 "= c #E7E7E7", |
|
3710 "- c #D6D3D6", |
|
3711 "; c #DEE3DE", |
|
3712 "> c #EFEBEF", |
|
3713 ", c #F7F3F7", |
|
3714 "' c #CECBCE", |
|
3715 ") c #CECFCE", |
|
3716 "! c #D6D7D6", |
|
3717 "~ c #DEDBDE", |
|
3718 "{ c #E7EBE7", |
|
3719 "] c #C6C7C6", |
|
3720 "^ c #E7E3E7", |
|
3721 "/ c #BDC3BD", |
|
3722 "( c #CED3CE", |
|
3723 "_ c #BDBABD", |
|
3724 ": c #C6C3C6", |
|
3725 "< c #C6CBC6", |
|
3726 "[ c #D6DBD6", |
|
3727 "} c #BDBEBD", |
|
3728 "..........................+@#$#$$", |
|
3729 "........................%%&&@#$#$", |
|
3730 "......................*==%%&&@#$$", |
|
3731 "....................--*;>%,&@#$#$", |
|
3732 "...................')!~={,+@#$#$$", |
|
3733 "...................]-!^=%%&&@#$#$", |
|
3734 "................../'(~;>%&&@#$#$$", |
|
3735 "................._])!*={,&@#$#$$$", |
|
3736 "................_])~*>%&&$#$$$$$$", |
|
3737 "................:<![={&&@#$$$$$$$", |
|
3738 "................:)!^=,+@#$$$$$$$$", |
|
3739 "...............}'(*^%+@#$#$$$$$$$", |
|
3740 "...............:<!*>%&&$#$$$$$$$$", |
|
3741 ".............../)!^{,&@#$$$$$$$$$", |
|
3742 "...............](*^%+@#$$$$$$$$$$", |
|
3743 "...............]!~=%&&$$$$$$$$$$$", |
|
3744 "...............'(*=,+@#$$$$$$$$$$", |
|
3745 "...............<!*>%&&$$$$$$$$$$$", |
|
3746 "...............'-^=,+@#$$$$$$$$$$", |
|
3747 "...............<!*>%&#$$$$$$$$$$$", |
|
3748 "...............'-^=,+@#$$$$$$$$$$", |
|
3749 "...............<!*>%&#$$$$$$$$$$$", |
|
3750 "...............'-^=,+@#$$$$$$$$$$", |
|
3751 "...............<!*>%&#$$$$$$$$$$$", |
|
3752 "...............'-^=,+@#$$$$$$$$$$", |
|
3753 "...............<!*>%&#$$$$$$$$$$$", |
|
3754 "...............'!^=,&@#$$$$$$$$$$", |
|
3755 "...............<~*>%&#$$$$$$$$$$$", |
|
3756 "...............)!^{,&@#$$$$$$$$$$", |
|
3757 "..............])~;%+@#$$$$$$$$$$$", |
|
3758 "..............]-[={&&$#$$$$$$$$$$", |
|
3759 ".............])!^=,&@#$$$$$$$$$$$", |
|
3760 "............:'-*^%+@#$$$$$$$$$$$$", |
|
3761 "............])~*>%&&$#$$$$$$$$$$$", |
|
3762 "...........:'!*={,&@#$$$$$$$$$$$$", |
|
3763 "..........:'-~^=,+@#$$$$$$$$$$$$$", |
|
3764 ".......}]'-~^=%,&@#$$$$$$$$$$$$$$", |
|
3765 ".....}:])-~^=%,+@#$#$$$$$$$$$$$$$", |
|
3766 "}}}:]')-!*^=%,&@#$#$$$$$$$$$$$$$$"}; |
|
3767 |
|
3768 |
|
3769 static char * tabselectedend_xpm[] = { |
|
3770 "33 42 33 1", |
|
3771 " c None", |
|
3772 ". c #FFFFFF", |
|
3773 "+ c #CECBE7", |
|
3774 "@ c #C6C7E7", |
|
3775 "# c #CECFEF", |
|
3776 "$ c #C6CBE7", |
|
3777 "% c #BDBEDE", |
|
3778 "& c #BDC3DE", |
|
3779 "* c #CECBEF", |
|
3780 "= c #B5B6D6", |
|
3781 "- c #ADAECE", |
|
3782 "; c #ADB2CE", |
|
3783 "> c #BDBAD6", |
|
3784 ", c #B5BAD6", |
|
3785 "' c #C6C3DE", |
|
3786 ") c #ADAAC6", |
|
3787 "! c #B5B2CE", |
|
3788 "~ c #B5B6CE", |
|
3789 "{ c #A5A2BD", |
|
3790 "] c #A5A6BD", |
|
3791 "^ c #9C9EB5", |
|
3792 "/ c #9CA2BD", |
|
3793 "( c #ADAEC6", |
|
3794 "_ c #C6C3E7", |
|
3795 ": c #9C9AB5", |
|
3796 "< c #A5A6C6", |
|
3797 "[ c #949AAD", |
|
3798 "} c #A5AAC6", |
|
3799 "| c #9496AD", |
|
3800 "1 c #BDBADE", |
|
3801 "2 c #BDBED6", |
|
3802 "3 c #9CA2B5", |
|
3803 "4 c #A5AABD", |
|
3804 "..........................+@#$#$#", |
|
3805 "........................%@&*$#$##", |
|
3806 "......................==%%@@*$#$#", |
|
3807 ".....................-;>,'&+@#$##", |
|
3808 "....................))!~%%@@*$#$#", |
|
3809 "...................{]-!%%@@*$#$##", |
|
3810 "..................^/)(>>_&*$#$###", |
|
3811 ".................:^<(=,'&*@#$#$##", |
|
3812 ".................[]}!~%&+@#$#$###", |
|
3813 "................|{]-~%&@@#$######", |
|
3814 "................^/(;1%@@#$#######", |
|
3815 "................^)(=>@@*$########", |
|
3816 "...............[{}!,'&*$#$#######", |
|
3817 "...............^{-!%&+$#$########", |
|
3818 "...............^)(>2@@#$#########", |
|
3819 "...............{]!='&*$##########", |
|
3820 "...............3(;%%@$###########", |
|
3821 "...............{}=,_@*$##########", |
|
3822 ".............../-!%&+$###########", |
|
3823 "...............])=,_@#$##########", |
|
3824 ".............../-!%&+$###########", |
|
3825 "...............])=,_@#$##########", |
|
3826 ".............../-!%&+$###########", |
|
3827 "...............])=,_@#$##########", |
|
3828 ".............../-!%&+$###########", |
|
3829 "...............])=,_@#$##########", |
|
3830 ".............../-!%&+$###########", |
|
3831 "...............])=,@@#$##########", |
|
3832 ".............../-~%&*$###########", |
|
3833 "...............](=>@@#$##########", |
|
3834 "...............]!~%&*$###########", |
|
3835 "..............^)(>2@@#$##########", |
|
3836 "..............34!,'&*$###########", |
|
3837 "..............{-;%%@@#$##########", |
|
3838 ".............^](=>@@#$###########", |
|
3839 "............[/}!,'&*$############", |
|
3840 "............^](~%&@@#$###########", |
|
3841 "..........^/};~%&@@#$############", |
|
3842 ".........^/4(~,%@@#$#############", |
|
3843 ".......[^/4(~,%@@*$##############", |
|
3844 ".....[^3]}(~,%&@*$#$#############", |
|
3845 "|[[:^3]4(;~,%&@*$#$##############"}; |
|
3846 |
|
3847 |
|
3848 static char * tabend_xpm[] = { |
|
3849 "33 42 3 1", |
|
3850 " c None", |
|
3851 ". c #CECFEF", |
|
3852 "+ c #FFFFFF", |
|
3853 "..........................+++++++", |
|
3854 "........................+++++++++", |
|
3855 "......................+++++++++++", |
|
3856 ".....................++++++++++++", |
|
3857 "....................+++++++++++++", |
|
3858 "...................++++++++++++++", |
|
3859 "..................+++++++++++++++", |
|
3860 ".................++++++++++++++++", |
|
3861 ".................++++++++++++++++", |
|
3862 "................+++++++++++++++++", |
|
3863 "................+++++++++++++++++", |
|
3864 "................+++++++++++++++++", |
|
3865 "...............++++++++++++++++++", |
|
3866 "...............++++++++++++++++++", |
|
3867 "...............++++++++++++++++++", |
|
3868 "...............++++++++++++++++++", |
|
3869 "...............++++++++++++++++++", |
|
3870 "...............++++++++++++++++++", |
|
3871 "...............++++++++++++++++++", |
|
3872 "...............++++++++++++++++++", |
|
3873 "...............++++++++++++++++++", |
|
3874 "...............++++++++++++++++++", |
|
3875 "...............++++++++++++++++++", |
|
3876 "...............++++++++++++++++++", |
|
3877 "...............++++++++++++++++++", |
|
3878 "...............++++++++++++++++++", |
|
3879 "...............++++++++++++++++++", |
|
3880 "...............++++++++++++++++++", |
|
3881 "...............++++++++++++++++++", |
|
3882 "...............++++++++++++++++++", |
|
3883 "...............++++++++++++++++++", |
|
3884 "..............+++++++++++++++++++", |
|
3885 "..............+++++++++++++++++++", |
|
3886 "..............+++++++++++++++++++", |
|
3887 ".............++++++++++++++++++++", |
|
3888 "............+++++++++++++++++++++", |
|
3889 "............+++++++++++++++++++++", |
|
3890 "..........+++++++++++++++++++++++", |
|
3891 ".........++++++++++++++++++++++++", |
|
3892 ".......++++++++++++++++++++++++++", |
|
3893 ".....++++++++++++++++++++++++++++", |
|
3894 "+++++++++++++++++++++++++++++++++"}; |
|
3895 |
|
3896 |
|
3897 |
|
3898 |
|
3899 QColor fromHsl(QColor c) |
|
3900 { |
|
3901 const qreal h = c.hueF(); |
|
3902 const qreal s = c.saturationF(); |
|
3903 const qreal l = c.valueF(); |
|
3904 |
|
3905 qreal ca[3] = {0, 0, 0}; |
|
3906 |
|
3907 if (s == 0 || h == 1) { |
|
3908 // achromatic case |
|
3909 ca[0] = ca[1] = ca[2] = l; |
|
3910 } else { |
|
3911 // chromatic case |
|
3912 qreal temp2; |
|
3913 if (l < qreal(0.5)) |
|
3914 temp2 = l * (qreal(1.0) + s); |
|
3915 else |
|
3916 temp2 = l + s - (l * s); |
|
3917 |
|
3918 const qreal temp1 = (qreal(2.0) * l) - temp2; |
|
3919 qreal temp3[3] = { h + (qreal(1.0) / qreal(3.0)), |
|
3920 h, |
|
3921 h - (qreal(1.0) / qreal(3.0)) }; |
|
3922 |
|
3923 for (int i = 0; i != 3; ++i) { |
|
3924 if (temp3[i] < qreal(0.0)) |
|
3925 temp3[i] += qreal(1.0); |
|
3926 else if (temp3[i] > qreal(1.0)) |
|
3927 temp3[i] -= qreal(1.0); |
|
3928 |
|
3929 const qreal sixtemp3 = temp3[i] * qreal(6.0); |
|
3930 |
|
3931 if (sixtemp3 < qreal(1.0)) |
|
3932 ca[i] = ((temp1 + (temp2 - temp1) * sixtemp3)); |
|
3933 else if ((temp3[i] * qreal(2.0)) < qreal(1.0)) |
|
3934 ca[i] = (temp2); |
|
3935 else if ((temp3[i] * qreal(3.0)) < qreal(2.0)) |
|
3936 ca[i] = temp1 + (temp2 -temp1) * (qreal(2.0) /qreal(3.0) - temp3[i]) * qreal(6.0); |
|
3937 else ca[i] = temp1; |
|
3938 } |
|
3939 } |
|
3940 |
|
3941 return QColor::fromRgbF(ca[0], ca[1], ca[2]); |
|
3942 } |
|
3943 |
|
3944 #define Q_MAX_3(a, b, c) ( ( a > b && a > c) ? a : (b > c ? b : c) ) |
|
3945 #define Q_MIN_3(a, b, c) ( ( a < b && a < c) ? a : (b < c ? b : c) ) |
|
3946 |
|
3947 QColor toHsl(QColor c) |
|
3948 { |
|
3949 QColor color; |
|
3950 qreal h; |
|
3951 qreal s; |
|
3952 qreal l; |
|
3953 |
|
3954 const qreal r = c.redF(); |
|
3955 const qreal g = c.greenF(); |
|
3956 const qreal b = c.blueF(); |
|
3957 const qreal max = Q_MAX_3(r, g, b); |
|
3958 const qreal min = Q_MIN_3(r, g, b); |
|
3959 const qreal delta = max - min; |
|
3960 const qreal delta2 = max + min; |
|
3961 const qreal lightness = qreal(0.5) * delta2; |
|
3962 l = (lightness); |
|
3963 if (qFuzzyIsNull(delta)) { |
|
3964 // achromatic case, hue is undefined |
|
3965 h = 0; |
|
3966 s = 0; |
|
3967 } else { |
|
3968 // chromatic case |
|
3969 qreal hue = 0; |
|
3970 if (lightness < qreal(0.5)) |
|
3971 s = ((delta / delta2)); |
|
3972 else |
|
3973 s = ((delta / (qreal(2.0) - delta2))); |
|
3974 if (qFuzzyCompare(r, max)) { |
|
3975 hue = ((g - b) /delta); |
|
3976 } else if (qFuzzyCompare(g, max)) { |
|
3977 hue = (2.0 + (b - r) / delta); |
|
3978 } else if (qFuzzyCompare(b, max)) { |
|
3979 hue = (4.0 + (r - g) / delta); |
|
3980 } else { |
|
3981 Q_ASSERT_X(false, "QColor::toHsv", "internal error"); |
|
3982 } |
|
3983 hue *= 60.0; |
|
3984 if (hue < 0.0) |
|
3985 hue += 360.0; |
|
3986 h = (hue * 100); |
|
3987 } |
|
3988 |
|
3989 h = h / 36000; |
|
3990 |
|
3991 return QColor::fromHsvF(h, s, l); |
|
3992 } |
|
3993 |
|
3994 void tintColor(QColor &color, QColor tintColor, qreal _saturation) |
|
3995 { |
|
3996 tintColor = toHsl(tintColor); |
|
3997 color = toHsl(color); |
|
3998 qreal hue = tintColor.hueF(); |
|
3999 |
|
4000 qreal saturation = color.saturationF(); |
|
4001 if (_saturation) |
|
4002 saturation = _saturation; |
|
4003 qreal lightness = color.valueF(); |
|
4004 color.setHsvF(hue, saturation, lightness); |
|
4005 |
|
4006 color = fromHsl(color); |
|
4007 color.toRgb(); |
|
4008 } |
|
4009 |
|
4010 void tintImagePal(QImage *image, QColor color, qreal saturation) |
|
4011 { |
|
4012 QVector<QRgb> colorTable = image->colorTable(); |
|
4013 for (int i=2;i< colorTable.size();i++) { |
|
4014 QColor c(toHsl(colorTable.at(i))); |
|
4015 tintColor(c, color, saturation); |
|
4016 colorTable[i] = c.rgb(); |
|
4017 } |
|
4018 image->setColorTable(colorTable); |
|
4019 } |
|
4020 |
|
4021 |
|
4022 void tintImage(QImage *image, QColor color, qreal saturation) |
|
4023 { |
|
4024 *image = image->convertToFormat(QImage::Format_RGB32); |
|
4025 |
|
4026 for (int x = 0; x < image->width(); x++) |
|
4027 for (int y = 0; y < image->height(); y++) { |
|
4028 QColor c(image->pixel(x,y)); |
|
4029 tintColor(c, color, saturation); |
|
4030 image->setPixel(x, y, c.rgb()); |
|
4031 } |
|
4032 } |
|
4033 |
|
4034 #endif //Q_WS_WINCE_WM |
|
4035 |
|
4036 |
|
4037 enum QSliderDirection { SliderUp, SliderDown, SliderLeft, SliderRight }; |
|
4038 |
|
4039 #ifdef Q_WS_WINCE_WM |
|
4040 |
|
4041 void QWindowsMobileStylePrivate::tintImagesButton(QColor color) |
|
4042 { |
|
4043 if (currentTintButton == color) |
|
4044 return; |
|
4045 |
|
4046 imageTabEnd = QImage(tabend_xpm); |
|
4047 imageTabSelectedEnd = QImage(tabselectedend_xpm); |
|
4048 imageTabSelectedBegin = QImage(tabselectedbeginn_xpm); |
|
4049 imageTabMiddle = QImage(tabmiddle_xpm); |
|
4050 tintImage(&imageTabEnd, color, 0.0); |
|
4051 tintImage(&imageTabSelectedEnd, color, 0.0); |
|
4052 tintImage(&imageTabSelectedBegin, color, 0.0); |
|
4053 tintImage(&imageTabMiddle, color, 0.0); |
|
4054 |
|
4055 if (!doubleControls) { |
|
4056 int height = imageTabMiddle.height() / 2 + 1; |
|
4057 imageTabEnd = imageTabEnd.scaledToHeight(height); |
|
4058 imageTabMiddle = imageTabMiddle.scaledToHeight(height); |
|
4059 imageTabSelectedEnd = imageTabSelectedEnd.scaledToHeight(height); |
|
4060 imageTabSelectedBegin = imageTabSelectedBegin.scaledToHeight(height); |
|
4061 } |
|
4062 } |
|
4063 |
|
4064 void QWindowsMobileStylePrivate::tintImagesHigh(QColor color) |
|
4065 { |
|
4066 if (currentTintHigh == color) |
|
4067 return; |
|
4068 currentTintHigh = color; |
|
4069 tintListViewHighlight(color); |
|
4070 imageScrollbarHandleUpHigh = imageScrollbarHandleUp; |
|
4071 imageScrollbarHandleDownHigh = imageScrollbarHandleDown; |
|
4072 tintImagePal(&imageScrollbarHandleDownHigh, color, qreal(0.8)); |
|
4073 tintImagePal(&imageScrollbarHandleUpHigh, color, qreal(0.8)); |
|
4074 } |
|
4075 |
|
4076 void QWindowsMobileStylePrivate::tintListViewHighlight(QColor color) |
|
4077 { |
|
4078 imageListViewHighlightCornerRight = QImage(listviewhighcornerright_xpm); |
|
4079 tintImage(&imageListViewHighlightCornerRight, color, qreal(0.0)); |
|
4080 |
|
4081 imageListViewHighlightCornerLeft = QImage(listviewhighcornerleft_xpm); |
|
4082 tintImage(&imageListViewHighlightCornerLeft, color, qreal(0.0)); |
|
4083 |
|
4084 imageListViewHighlightMiddle = QImage(listviewhighmiddle_xpm); |
|
4085 tintImage(&imageListViewHighlightMiddle, color, qreal(0.0)); |
|
4086 |
|
4087 int height = imageListViewHighlightMiddle.height(); |
|
4088 if (!doubleControls) { |
|
4089 height = height / 2; |
|
4090 imageListViewHighlightCornerRight = imageListViewHighlightCornerRight.scaledToHeight(height); |
|
4091 imageListViewHighlightCornerLeft = imageListViewHighlightCornerLeft.scaledToHeight(height); |
|
4092 imageListViewHighlightMiddle = imageListViewHighlightMiddle.scaledToHeight(height); |
|
4093 } |
|
4094 } |
|
4095 |
|
4096 #endif //Q_WS_WINCE_WM |
|
4097 |
|
4098 void QWindowsMobileStylePrivate::setupWindowsMobileStyle65() |
|
4099 { |
|
4100 #ifdef Q_WS_WINCE_WM |
|
4101 wm65 = qt_wince_is_windows_mobile_65(); |
|
4102 if (wm65) { |
|
4103 imageScrollbarHandleUp = QImage(sbhandleup_xpm); |
|
4104 imageScrollbarHandleDown = QImage(sbhandledown_xpm); |
|
4105 imageScrollbarGripUp = QImage(sbgripup_xpm); |
|
4106 imageScrollbarGripDown = QImage(sbgripdown_xpm); |
|
4107 imageScrollbarGripMiddle = QImage(sbgripmiddle_xpm); |
|
4108 |
|
4109 if (!doubleControls) { |
|
4110 imageScrollbarHandleUp = imageScrollbarHandleUp.scaledToHeight(imageScrollbarHandleUp.height() / 2); |
|
4111 imageScrollbarHandleDown = imageScrollbarHandleDown.scaledToHeight(imageScrollbarHandleDown.height() / 2); |
|
4112 imageScrollbarGripMiddle = imageScrollbarGripMiddle.scaledToHeight(imageScrollbarGripMiddle.height() / 2); |
|
4113 imageScrollbarGripUp = imageScrollbarGripUp.scaledToHeight(imageScrollbarGripUp.height() / 2); |
|
4114 imageScrollbarGripDown = imageScrollbarGripDown.scaledToHeight(imageScrollbarGripDown.height() / 2); |
|
4115 } else { |
|
4116 } |
|
4117 tintImagesHigh(Qt::blue); |
|
4118 } |
|
4119 #endif //Q_WS_WINCE_WM |
|
4120 } |
|
4121 |
|
4122 void QWindowsMobileStylePrivate::drawTabBarTab(QPainter *painter, const QStyleOptionTab *tab) |
|
4123 { |
|
4124 #ifdef Q_WS_WINCE_WM |
|
4125 if (wm65) { |
|
4126 tintImagesButton(tab->palette.button().color()); |
|
4127 QRect r; |
|
4128 r.setTopLeft(tab->rect.topRight() - QPoint(imageTabMiddle.width(), 0)); |
|
4129 r.setBottomRight(tab->rect.bottomRight()); |
|
4130 if (tab->state & QStyle::State_Selected) { |
|
4131 painter->fillRect(tab->rect, tab->palette.window()); |
|
4132 } else { |
|
4133 painter->fillRect(tab->rect, QColor(imageTabMiddle.pixel(0,0))); |
|
4134 } |
|
4135 if (tab->selectedPosition == QStyleOptionTab::NextIsSelected) { |
|
4136 painter->drawImage(r, imageTabSelectedBegin); |
|
4137 } else if (tab->position == QStyleOptionTab::End || |
|
4138 tab->position == QStyleOptionTab::OnlyOneTab) { |
|
4139 if (!(tab->state & QStyle::State_Selected)) { |
|
4140 painter->drawImage(r, imageTabEnd); |
|
4141 } |
|
4142 } else if (tab->state & QStyle::State_Selected) { |
|
4143 painter->drawImage(r, imageTabSelectedEnd); |
|
4144 } else { |
|
4145 painter->drawImage(r, imageTabMiddle); |
|
4146 } |
|
4147 if (tab->position == QStyleOptionTab::Beginning && ! (tab->state & QStyle::State_Selected)) { |
|
4148 painter->drawImage(tab->rect.topLeft() - QPoint(imageTabMiddle.width() * 0.60, 0), imageTabSelectedEnd); |
|
4149 } |
|
4150 //imageTabBarBig |
|
4151 return; |
|
4152 } |
|
4153 #endif //Q_WS_WINCE_WM |
|
4154 painter->save(); |
|
4155 painter->setPen(tab->palette.shadow().color()); |
|
4156 if (doubleControls) { |
|
4157 QPen pen = painter->pen(); |
|
4158 pen.setWidth(2); |
|
4159 pen.setCapStyle(Qt::FlatCap); |
|
4160 painter->setPen(pen); |
|
4161 } |
|
4162 if(tab->shape == QTabBar::RoundedNorth) { |
|
4163 if (tab->state & QStyle::State_Selected) { |
|
4164 painter->fillRect(tab->rect, tab->palette.light()); |
|
4165 painter->drawLine(tab->rect.topRight(), tab->rect.bottomRight()); |
|
4166 } |
|
4167 else { |
|
4168 painter->fillRect(tab->rect, tab->palette.button()); |
|
4169 painter->drawLine(tab->rect.bottomLeft() , tab->rect.bottomRight()); |
|
4170 painter->drawLine(tab->rect.topRight(), tab->rect.bottomRight()); |
|
4171 } |
|
4172 } |
|
4173 else if(tab->shape == QTabBar::RoundedSouth) { |
|
4174 if (tab->state & QStyle::State_Selected) { |
|
4175 painter->fillRect(tab->rect.adjusted(0,-2,0,0), tab->palette.light()); |
|
4176 painter->drawLine(tab->rect.topRight(), tab->rect.bottomRight()); |
|
4177 } |
|
4178 else { |
|
4179 painter->fillRect(tab->rect, tab->palette.button()); |
|
4180 if (doubleControls) |
|
4181 painter->drawLine(tab->rect.topLeft() + QPoint(0,1), tab->rect.topRight() + QPoint(0,1)); |
|
4182 else |
|
4183 painter->drawLine(tab->rect.topLeft(), tab->rect.topRight()); |
|
4184 painter->drawLine(tab->rect.topRight(), tab->rect.bottomRight()); |
|
4185 } |
|
4186 } |
|
4187 else if(tab->shape == QTabBar::RoundedEast) { |
|
4188 if (tab->state & QStyle::State_Selected) { |
|
4189 painter->fillRect(tab->rect, tab->palette.light()); |
|
4190 painter->drawLine(tab->rect.topLeft(), tab->rect.topRight()); |
|
4191 } |
|
4192 else { |
|
4193 painter->fillRect(tab->rect, tab->palette.button()); |
|
4194 painter->drawLine(tab->rect.topLeft(), tab->rect.bottomLeft()); |
|
4195 painter->drawLine(tab->rect.topLeft(), tab->rect.topRight()); |
|
4196 } |
|
4197 } |
|
4198 else if(tab->shape == QTabBar::RoundedWest) { |
|
4199 if (tab->state & QStyle::State_Selected) { |
|
4200 painter->fillRect(tab->rect, tab->palette.light()); |
|
4201 painter->drawLine(tab->rect.bottomLeft(), tab->rect.bottomRight()); |
|
4202 } |
|
4203 else { |
|
4204 painter->fillRect(tab->rect, tab->palette.button()); |
|
4205 painter->drawLine(tab->rect.topRight(), tab->rect.bottomRight()); |
|
4206 painter->drawLine(tab->rect.bottomLeft(), tab->rect.bottomRight()); |
|
4207 } |
|
4208 } |
|
4209 painter->restore(); |
|
4210 } |
|
4211 |
|
4212 void QWindowsMobileStylePrivate::drawPanelItemViewSelected(QPainter *painter, const QStyleOptionViewItemV4 *option, QRect rect) |
|
4213 { |
|
4214 #ifdef Q_WS_WINCE_WM |
|
4215 if (wm65) { |
|
4216 QRect r; |
|
4217 if (rect.isValid()) |
|
4218 r = rect; |
|
4219 else |
|
4220 r = option->rect; |
|
4221 tintImagesHigh(option->palette.highlight().color()); |
|
4222 |
|
4223 painter->setPen(QColor(Qt::lightGray)); |
|
4224 |
|
4225 if (option->viewItemPosition == QStyleOptionViewItemV4::Middle) { |
|
4226 painter->drawImage(r, imageListViewHighlightMiddle); |
|
4227 } else if (option->viewItemPosition == QStyleOptionViewItemV4::Beginning) { |
|
4228 painter->drawImage(r.adjusted(10, 0, 0, 0), imageListViewHighlightMiddle); |
|
4229 } else if (option->viewItemPosition == QStyleOptionViewItemV4::End) { |
|
4230 painter->drawImage(r.adjusted(0, 0, -10, 0), imageListViewHighlightMiddle); |
|
4231 } else { |
|
4232 painter->drawImage(r.adjusted(10, 0, -10, 0), imageListViewHighlightMiddle); |
|
4233 } |
|
4234 |
|
4235 QImage cornerLeft = imageListViewHighlightCornerLeft; |
|
4236 QImage cornerRight = imageListViewHighlightCornerRight; |
|
4237 |
|
4238 int width = r.width() > cornerRight.width() ? r.width() : cornerRight.width(); |
|
4239 |
|
4240 if ((width * 2) > r.width()) { |
|
4241 width = (r.width() - 5) / 2; |
|
4242 } |
|
4243 |
|
4244 cornerLeft = cornerLeft.scaled(width, r.height()); |
|
4245 cornerRight = cornerRight.scaled(width, r.height()); |
|
4246 |
|
4247 if ((option->viewItemPosition == QStyleOptionViewItemV4::Beginning) || (option->viewItemPosition == QStyleOptionViewItemV4::OnlyOne) || !option->viewItemPosition) { |
|
4248 painter->drawImage(r.topLeft(), cornerLeft); |
|
4249 } |
|
4250 if ((option->viewItemPosition == QStyleOptionViewItemV4::End) || (option->viewItemPosition == QStyleOptionViewItemV4::OnlyOne) || !option->viewItemPosition) { |
|
4251 painter->drawImage(r.topRight() - QPoint(cornerRight.width(),0), cornerRight); |
|
4252 } |
|
4253 return; |
|
4254 } |
|
4255 #endif //Q_WS_WINCE_WM |
|
4256 QPalette::ColorGroup cg = option->state & QStyle::State_Enabled |
|
4257 ? QPalette::Normal : QPalette::Disabled; |
|
4258 |
|
4259 if (rect.isValid()) |
|
4260 painter->fillRect(rect, option->palette.brush(cg, QPalette::Highlight)); |
|
4261 else |
|
4262 painter->fillRect(option->rect, option->palette.brush(cg, QPalette::Highlight)); |
|
4263 } |
|
4264 |
|
4265 void QWindowsMobileStylePrivate::drawScrollbarGrip(QPainter *p, QStyleOptionSlider *newScrollbar, const QStyleOptionComplex *option, bool drawCompleteFrame) |
|
4266 { |
|
4267 #ifdef Q_WS_WINCE_WM |
|
4268 if (wm65) { |
|
4269 if (newScrollbar->orientation == Qt::Horizontal) { |
|
4270 QTransform transform; |
|
4271 transform.rotate(-90); |
|
4272 QRect r = newScrollbar->rect; |
|
4273 p->drawImage(r.adjusted(10, 0, -10, 0), imageScrollbarGripMiddle.transformed(transform)); |
|
4274 p->drawImage(r.topLeft(), imageScrollbarGripUp.transformed(transform)); |
|
4275 p->drawImage(r.topRight() - QPoint(imageScrollbarGripDown.height() - 1, 0), imageScrollbarGripDown.transformed(transform)); |
|
4276 } else { |
|
4277 QRect r = newScrollbar->rect; |
|
4278 p->drawImage(r.adjusted(0, 10, 0, -10), imageScrollbarGripMiddle); |
|
4279 p->drawImage(r.topLeft(), imageScrollbarGripUp); |
|
4280 p->drawImage(r.bottomLeft() - QPoint(0, imageScrollbarGripDown.height() - 1), imageScrollbarGripDown); |
|
4281 } |
|
4282 return ; |
|
4283 } |
|
4284 #endif |
|
4285 if (newScrollbar->orientation == Qt::Horizontal) { |
|
4286 p->fillRect(newScrollbar->rect,option->palette.button()); |
|
4287 QRect r = newScrollbar->rect; |
|
4288 p->drawLine(r.topLeft(), r.bottomLeft()); |
|
4289 p->drawLine(r.topRight(), r.bottomRight()); |
|
4290 if (smartphone) { |
|
4291 p->drawLine(r.topLeft(), r.topRight()); |
|
4292 p->drawLine(r.bottomLeft(), r.bottomRight()); |
|
4293 } |
|
4294 } |
|
4295 else { |
|
4296 p->fillRect(newScrollbar->rect,option->palette.button()); |
|
4297 QRect r = newScrollbar->rect; |
|
4298 p->drawLine(r.topLeft(), r.topRight()); |
|
4299 p->drawLine(r.bottomLeft(), r.bottomRight()); |
|
4300 if (smartphone) { |
|
4301 p->drawLine(r.topLeft(), r.bottomLeft()); |
|
4302 p->drawLine(r.topRight(), r.bottomRight()); |
|
4303 } |
|
4304 } |
|
4305 if (newScrollbar->state & QStyle::State_HasFocus) { |
|
4306 QStyleOptionFocusRect fropt; |
|
4307 fropt.QStyleOption::operator=(*newScrollbar); |
|
4308 fropt.rect.setRect(newScrollbar->rect.x() + 2, newScrollbar->rect.y() + 2, |
|
4309 newScrollbar->rect.width() - 5, |
|
4310 newScrollbar->rect.height() - 5); |
|
4311 } |
|
4312 int gripMargin = doubleControls ? 4 : 2; |
|
4313 int doubleLines = doubleControls ? 2 : 1; |
|
4314 //If there is a frame around the scrollbar (abstractScrollArea), |
|
4315 //then the margin is different, because of the missing frame |
|
4316 int gripMarginFrame = doubleControls ? 3 : 1; |
|
4317 if (drawCompleteFrame) |
|
4318 gripMarginFrame = 0; |
|
4319 //draw grips |
|
4320 if (!smartphone) |
|
4321 if (newScrollbar->orientation == Qt::Horizontal) { |
|
4322 for (int i = -3; i < 3; i += 2) { |
|
4323 p->drawLine( |
|
4324 QPoint(newScrollbar->rect.center().x() + i * doubleLines + 1, |
|
4325 newScrollbar->rect.top() + gripMargin +gripMarginFrame), |
|
4326 QPoint(newScrollbar->rect.center().x() + i * doubleLines + 1, |
|
4327 newScrollbar->rect.bottom() - gripMargin)); |
|
4328 } |
|
4329 } else { |
|
4330 for (int i = -2; i < 4 ; i += 2) { |
|
4331 p->drawLine( |
|
4332 QPoint(newScrollbar->rect.left() + gripMargin + gripMarginFrame , |
|
4333 newScrollbar->rect.center().y() + 1 + i * doubleLines - 1), |
|
4334 QPoint(newScrollbar->rect.right() - gripMargin, |
|
4335 newScrollbar->rect.center().y() + 1 + i * doubleLines - 1)); |
|
4336 } |
|
4337 } |
|
4338 if (!smartphone) { |
|
4339 QRect r; |
|
4340 if (doubleControls) |
|
4341 r = option->rect.adjusted(1, 1, -1, 0); |
|
4342 else |
|
4343 r = option->rect.adjusted(0, 0, -1, 0); |
|
4344 if (drawCompleteFrame && doubleControls) |
|
4345 r.adjust(0, 0, 0, -1); |
|
4346 //Check if the scrollbar is part of an abstractItemView and draw the frame according |
|
4347 if (drawCompleteFrame) |
|
4348 p->drawRect(r); |
|
4349 else |
|
4350 if (newScrollbar->orientation == Qt::Horizontal) |
|
4351 p->drawLine(r.topLeft(), r.topRight()); |
|
4352 else |
|
4353 p->drawLine(r.topLeft(), r.bottomLeft()); |
|
4354 } |
|
4355 } |
|
4356 |
|
4357 void QWindowsMobileStylePrivate::drawScrollbarHandleUp(QPainter *p, QStyleOptionSlider *opt, bool completeFrame, bool ) |
|
4358 { |
|
4359 #ifdef Q_WS_WINCE_WM |
|
4360 if (wm65) { |
|
4361 tintImagesHigh(opt->palette.highlight().color()); |
|
4362 QRect r = opt->rect; |
|
4363 if (opt->orientation == Qt::Horizontal) { |
|
4364 QTransform transform; |
|
4365 transform.rotate(-90); |
|
4366 if (opt->state & QStyle::State_Sunken) |
|
4367 p->drawImage(r.topLeft(), imageScrollbarHandleUpHigh.transformed(transform)); |
|
4368 else |
|
4369 p->drawImage(r.topLeft(), imageScrollbarHandleUp.transformed(transform)); |
|
4370 } else { |
|
4371 if (opt->state & QStyle::State_Sunken) |
|
4372 p->drawImage(r.topLeft(), imageScrollbarHandleUpHigh); |
|
4373 else |
|
4374 p->drawImage(r.topLeft(), imageScrollbarHandleUp); |
|
4375 } |
|
4376 return ; |
|
4377 } |
|
4378 #endif //Q_WS_WINCE_WM |
|
4379 |
|
4380 QBrush fill = opt->palette.button(); |
|
4381 if (opt->state & QStyle::State_Sunken) |
|
4382 fill = opt->palette.shadow(); |
|
4383 |
|
4384 QStyleOption arrowOpt = *opt; |
|
4385 if (doubleControls) |
|
4386 arrowOpt.rect = opt->rect.adjusted(4, 6, -5, -3); |
|
4387 else |
|
4388 arrowOpt.rect = opt->rect.adjusted(5, 6, -4, -3); |
|
4389 |
|
4390 bool horizontal = (opt->orientation == Qt::Horizontal); |
|
4391 |
|
4392 if (horizontal) { |
|
4393 p->fillRect(opt->rect,fill); |
|
4394 QRect r = opt->rect.adjusted(0,0,1,0); |
|
4395 p->drawLine(r.topRight(), r.bottomRight()); |
|
4396 if (doubleControls) |
|
4397 arrowOpt.rect.adjust(0, -2 ,0, -2); |
|
4398 q_func()->proxy()->drawPrimitive(QStyle::PE_IndicatorArrowLeft, &arrowOpt, p, 0); |
|
4399 } else { |
|
4400 p->fillRect(opt->rect,fill); |
|
4401 QRect r = opt->rect.adjusted(0, 0, 0, 1); |
|
4402 p->drawLine(r.bottomLeft(), r.bottomRight()); |
|
4403 if (completeFrame) |
|
4404 arrowOpt.rect.adjust(-2, 0, -2, 0); |
|
4405 if (doubleControls) |
|
4406 arrowOpt.rect.adjust(0, -4 , 0, -4); |
|
4407 if (completeFrame && doubleControls) |
|
4408 arrowOpt.rect.adjust(2, 0, 2, 0); |
|
4409 q_func()->proxy()->drawPrimitive(QStyle::PE_IndicatorArrowUp, &arrowOpt, p, 0); |
|
4410 } |
|
4411 } |
|
4412 |
|
4413 void QWindowsMobileStylePrivate::drawScrollbarHandleDown(QPainter *p, QStyleOptionSlider *opt, bool completeFrame, bool secondScrollBar) |
|
4414 { |
|
4415 |
|
4416 #ifdef Q_WS_WINCE_WM |
|
4417 if (wm65) { |
|
4418 tintImagesHigh(opt->palette.highlight().color()); |
|
4419 QRect r = opt->rect; |
|
4420 if (opt->orientation == Qt::Horizontal) { |
|
4421 QTransform transform; |
|
4422 transform.rotate(-90); |
|
4423 if (opt->state & QStyle::State_Sunken) |
|
4424 p->drawImage(r.topLeft(), imageScrollbarHandleDownHigh.transformed(transform)); |
|
4425 else |
|
4426 p->drawImage(r.topLeft(), imageScrollbarHandleDown.transformed(transform)); |
|
4427 } else { |
|
4428 if (opt->state & QStyle::State_Sunken) |
|
4429 p->drawImage(r.topLeft(), imageScrollbarHandleDownHigh); |
|
4430 else |
|
4431 p->drawImage(r.topLeft(), imageScrollbarHandleDown); |
|
4432 } |
|
4433 return ; |
|
4434 } |
|
4435 #endif //Q_WS_WINCE_WM |
|
4436 |
|
4437 QBrush fill = opt->palette.button(); |
|
4438 if (opt->state & QStyle::State_Sunken) |
|
4439 fill = opt->palette.shadow(); |
|
4440 |
|
4441 QStyleOption arrowOpt = *opt; |
|
4442 if (doubleControls) |
|
4443 arrowOpt.rect = opt->rect.adjusted(4, 0, -5, 3); |
|
4444 else |
|
4445 arrowOpt.rect = opt->rect.adjusted(5, 6, -4, -3); |
|
4446 |
|
4447 bool horizontal = (opt->orientation == Qt::Horizontal); |
|
4448 |
|
4449 if (horizontal) { |
|
4450 p->fillRect(opt->rect,fill); |
|
4451 QRect r = opt->rect.adjusted(0, 0, 0, 0); |
|
4452 p->drawLine(r.topLeft(), r.bottomLeft()); |
|
4453 if (secondScrollBar) |
|
4454 p->drawLine(r.topRight(), r.bottomRight()); |
|
4455 if (doubleControls) |
|
4456 arrowOpt.rect.adjust(0, 4, 0, 4 ); |
|
4457 q_func()->proxy()->drawPrimitive(QStyle::PE_IndicatorArrowRight, &arrowOpt, p, 0); |
|
4458 } else { |
|
4459 p->fillRect(opt->rect,fill); |
|
4460 QRect r = opt->rect.adjusted(0, -1, 0, -1); |
|
4461 p->drawLine(r.topLeft(), r.topRight()); |
|
4462 if (secondScrollBar) |
|
4463 p->drawLine(r.bottomLeft() + QPoint(0,1), r.bottomRight() + QPoint(0, 1)); |
|
4464 if (completeFrame) |
|
4465 arrowOpt.rect.adjust(-2, 0, -2, 0); |
|
4466 if (doubleControls) |
|
4467 arrowOpt.rect.adjust(1, 0, 1, 0 ); |
|
4468 if (completeFrame && doubleControls) |
|
4469 arrowOpt.rect.adjust(1, 0, 1, 0); |
|
4470 q_func()->proxy()->drawPrimitive(QStyle::PE_IndicatorArrowDown, &arrowOpt, p, 0); |
|
4471 } |
|
4472 } |
|
4473 |
|
4474 void QWindowsMobileStylePrivate::drawScrollbarGroove(QPainter *p,const QStyleOptionSlider *opt) |
|
4475 { |
|
4476 #ifdef Q_OS_WINCE_WM |
|
4477 if (wm65) { |
|
4478 p->fillRect(opt->rect, QColor(231, 231, 231)); |
|
4479 return ; |
|
4480 } |
|
4481 #endif |
|
4482 QBrush fill; |
|
4483 if (smartphone) { |
|
4484 fill = opt->palette.light(); |
|
4485 p->fillRect(opt->rect, fill); |
|
4486 fill = opt->palette.button(); |
|
4487 QImage image; |
|
4488 #ifndef QT_NO_IMAGEFORMAT_XPM |
|
4489 if (opt->orientation == Qt::Horizontal) |
|
4490 image = QImage(vertlines_xpm); |
|
4491 else |
|
4492 image = QImage(horlines_xpm); |
|
4493 #endif |
|
4494 image.setColor(1, opt->palette.button().color().rgb()); |
|
4495 fill.setTextureImage(image); |
|
4496 } |
|
4497 else { |
|
4498 fill = opt->palette.light(); |
|
4499 } |
|
4500 p->fillRect(opt->rect, fill); |
|
4501 } |
|
4502 |
|
4503 QWindowsMobileStyle::QWindowsMobileStyle(QWindowsMobileStylePrivate &dd) : QWindowsStyle(dd) { |
|
4504 qApp->setEffectEnabled(Qt::UI_FadeMenu, false); |
|
4505 qApp->setEffectEnabled(Qt::UI_AnimateMenu, false); |
|
4506 } |
|
4507 |
|
4508 QWindowsMobileStyle::QWindowsMobileStyle() : QWindowsStyle(*new QWindowsMobileStylePrivate) { |
|
4509 qApp->setEffectEnabled(Qt::UI_FadeMenu, false); |
|
4510 qApp->setEffectEnabled(Qt::UI_AnimateMenu, false); |
|
4511 } |
|
4512 |
|
4513 QWindowsMobileStylePrivate::QWindowsMobileStylePrivate() :QWindowsStylePrivate() { |
|
4514 |
|
4515 #ifdef Q_WS_WINCE |
|
4516 doubleControls = qt_wince_is_high_dpi(); |
|
4517 smartphone = qt_wince_is_smartphone(); |
|
4518 #else |
|
4519 doubleControls = false; |
|
4520 smartphone = false; |
|
4521 #endif //Q_WS_WINCE |
|
4522 |
|
4523 #ifndef QT_NO_IMAGEFORMAT_XPM |
|
4524 |
|
4525 imageArrowDown = QImage(arrowdown_xpm); |
|
4526 imageArrowUp = QImage(arrowdown_xpm).mirrored(); |
|
4527 imageArrowLeft = QImage(arrowleft_xpm); |
|
4528 imageArrowRight = QImage(arrowleft_xpm).mirrored(true, false); |
|
4529 if (doubleControls) { |
|
4530 imageRadioButton = QImage(radiobutton_xpm); |
|
4531 imageRadioButtonChecked = QImage(radiochecked_xpm); |
|
4532 imageChecked = QImage(checkedlight_xpm); |
|
4533 imageCheckedBold = QImage(checkedbold_xpm); |
|
4534 imageRadioButtonHighlighted = QImage(highlightedradiobutton_xpm); |
|
4535 imageClose = QImage(cross_big_xpm); |
|
4536 imageMaximize = QImage(max_big_xpm); |
|
4537 imageMinimize = QImage(min_big_xpm); |
|
4538 imageNormalize = QImage(normal_big_xpm); |
|
4539 } else { |
|
4540 imageRadioButton = QImage(radiobutton_low_xpm); |
|
4541 imageRadioButtonChecked = QImage(radiochecked_low_xpm); |
|
4542 imageChecked = QImage(checkedlight_low_xpm); |
|
4543 imageCheckedBold = QImage(checkedbold_low_xpm); |
|
4544 imageRadioButtonHighlighted = QImage(highlightedradiobutton_low_xpm); |
|
4545 imageClose = QImage(cross_small_xpm); |
|
4546 imageMaximize = QImage(max_small_xpm); |
|
4547 imageMinimize = QImage(min_small_xpm); |
|
4548 imageNormalize = QImage(normal_small_xpm); |
|
4549 } |
|
4550 |
|
4551 setupWindowsMobileStyle65(); |
|
4552 |
|
4553 |
|
4554 imageArrowDownBig = QImage(arrowdown_big_xpm); |
|
4555 imageArrowUpBig = QImage(arrowdown_big_xpm).mirrored(); |
|
4556 imageArrowLeftBig = QImage(arrowleft_big_xpm); |
|
4557 imageArrowRightBig = QImage(arrowleft_big_xpm).mirrored(true, false); |
|
4558 |
|
4559 #endif |
|
4560 } |
|
4561 |
|
4562 void QWindowsMobileStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option, |
|
4563 QPainter *painter, const QWidget *widget) const { |
|
4564 |
|
4565 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
4566 |
|
4567 bool doRestore = false; |
|
4568 QRect rect = option->rect; |
|
4569 painter->setClipping(false); |
|
4570 |
|
4571 switch (element) { |
|
4572 case PE_PanelButtonTool: { |
|
4573 int penSize = 1; |
|
4574 if (d->doubleControls) |
|
4575 penSize = 2; |
|
4576 if (widget) |
|
4577 if (QWidget *parent = widget->parentWidget()) |
|
4578 #ifndef QT_NO_TABWIDGET |
|
4579 if (qobject_cast<QTabWidget *>(parent->parentWidget())) { |
|
4580 #else |
|
4581 if (false) { |
|
4582 #endif //QT_NO_TABBAR |
|
4583 rect.adjust(0,2*penSize,0,-1*penSize); |
|
4584 qDrawPlainRect(painter, rect, option->palette.shadow().color(), penSize, &option->palette.light()); |
|
4585 if (option->state & (State_Sunken)) |
|
4586 qDrawPlainRect(painter, rect, option->palette.shadow().color(), penSize, &option->palette.shadow()); |
|
4587 } |
|
4588 else { |
|
4589 if (!(option->state & State_AutoRaise) || (option->state & (State_Sunken | State_On))) |
|
4590 qDrawPlainRect(painter,option->rect.adjusted(0, penSize, 0, -1 * penSize) , |
|
4591 option->palette.button().color(), 0, &option->palette.button()); |
|
4592 if (option->state & (State_Sunken)) { |
|
4593 qDrawPlainRect(painter, rect, option->palette.shadow().color(), penSize, &option->palette.light()); |
|
4594 } |
|
4595 if (option->state & (State_On)){ |
|
4596 QBrush fill = QBrush(option->palette.light().color()); |
|
4597 painter->fillRect(rect.adjusted(windowsItemFrame , windowsItemFrame , |
|
4598 -windowsItemFrame , -windowsItemFrame ), fill); |
|
4599 qDrawPlainRect(painter, rect, option->palette.shadow().color(), penSize, &option->palette.light()); |
|
4600 } |
|
4601 } |
|
4602 break; } |
|
4603 case PE_IndicatorButtonDropDown: |
|
4604 if (d->doubleControls) |
|
4605 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(), 2, &option->palette.button()); |
|
4606 else |
|
4607 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(), 1, &option->palette.button()); |
|
4608 break; |
|
4609 #ifndef QT_NO_TABBAR |
|
4610 case PE_IndicatorTabTear: |
|
4611 if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) { |
|
4612 bool rtl = tab->direction == Qt::RightToLeft; |
|
4613 QRect rect = tab->rect; |
|
4614 QPainterPath path; |
|
4615 rect.setTop(rect.top() + ((tab->state & State_Selected) ? 1 : 3)); |
|
4616 rect.setBottom(rect.bottom() - ((tab->state & State_Selected) ? 0 : 2)); |
|
4617 path.moveTo(QPoint(rtl ? rect.right() : rect.left(), rect.top())); |
|
4618 int count = 3; |
|
4619 for(int jags = 1; jags <= count; ++jags, rtl = !rtl) |
|
4620 path.lineTo(QPoint(rtl ? rect.left() : rect.right(), rect.top() + jags * rect.height()/count)); |
|
4621 painter->setPen(QPen(tab->palette.light(), qreal(.8))); |
|
4622 painter->setBrush(tab->palette.background()); |
|
4623 painter->setRenderHint(QPainter::Antialiasing); |
|
4624 painter->drawPath(path); |
|
4625 } |
|
4626 break; |
|
4627 #endif //QT_NO_TABBAR |
|
4628 |
|
4629 #ifndef QT_NO_TOOLBAR |
|
4630 case PE_IndicatorToolBarSeparator: { |
|
4631 painter->save(); |
|
4632 QPoint p1, p2; |
|
4633 if (option->state & State_Horizontal) { |
|
4634 p1 = QPoint(option->rect.width()/2, 0); |
|
4635 p2 = QPoint(p1.x(), option->rect.height()); |
|
4636 } else { |
|
4637 p1 = QPoint(0, option->rect.height()/2); |
|
4638 p2 = QPoint(option->rect.width(), p1.y()); |
|
4639 } |
|
4640 |
|
4641 |
|
4642 painter->setPen(option->palette.mid().color()); |
|
4643 if (d->doubleControls) { |
|
4644 QPen pen = painter->pen(); |
|
4645 pen.setWidth(2); |
|
4646 pen.setCapStyle(Qt::FlatCap); |
|
4647 painter->setPen(pen); |
|
4648 } |
|
4649 painter->drawLine(p1, p2); |
|
4650 painter->restore(); |
|
4651 break; } |
|
4652 #endif // QT_NO_TOOLBAR |
|
4653 case PE_IndicatorToolBarHandle: |
|
4654 painter->save(); |
|
4655 painter->translate(option->rect.x(), option->rect.y()); |
|
4656 if (option->state & State_Horizontal) { |
|
4657 int x = option->rect.width() / 2 - 4; |
|
4658 if (QApplication::layoutDirection() == Qt::RightToLeft) |
|
4659 x -= 2; |
|
4660 if (option->rect.height() > 4) { |
|
4661 qDrawWinButton(painter,x-1,0,7,option->rect.height(), option->palette, false, 0); |
|
4662 |
|
4663 qDrawShadePanel(painter, x, 1, 3, option->rect.height() - 1, |
|
4664 option->palette, false, 0); |
|
4665 qDrawShadePanel(painter, x + 3, 1, 3, option->rect.height() - 1, |
|
4666 option->palette, false, 0); |
|
4667 painter->setPen(option->palette.button().color()); |
|
4668 } |
|
4669 } else { |
|
4670 if (option->rect.width() > 4) { |
|
4671 int y = option->rect.height() / 2 - 4; |
|
4672 qDrawShadePanel(painter, 2, y, option->rect.width() - 2, 3, |
|
4673 option->palette, false, 0); |
|
4674 qDrawShadePanel(painter, 2, y + 3, option->rect.width() - 2, 3, |
|
4675 option->palette, false, 0); |
|
4676 } |
|
4677 } |
|
4678 painter->restore(); |
|
4679 break; |
|
4680 |
|
4681 #ifndef QT_NO_PROGRESSBAR |
|
4682 case PE_IndicatorProgressChunk: { |
|
4683 bool vertical = false; |
|
4684 if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) |
|
4685 vertical = (pb2->orientation == Qt::Vertical); |
|
4686 if (!vertical) { |
|
4687 painter->fillRect(option->rect.x(), option->rect.y()+2, option->rect.width(), option->rect.height()-4, |
|
4688 option->palette.brush(QPalette::Highlight)); |
|
4689 } else { |
|
4690 painter->fillRect(option->rect.x()+2, option->rect.y(), option->rect.width()-4, option->rect.height(), |
|
4691 option->palette.brush(QPalette::Highlight)); |
|
4692 } |
|
4693 } |
|
4694 break; |
|
4695 #endif // QT_NO_PROGRESSBAR |
|
4696 |
|
4697 case PE_FrameButtonTool: { |
|
4698 #ifndef QT_NO_DOCKWIDGET |
|
4699 if (widget && widget->inherits("QDockWidgetTitleButton")) { |
|
4700 if (const QDockWidget *dw = qobject_cast<const QDockWidget *>(widget->parent())) |
|
4701 if (dw->isFloating()){ |
|
4702 qDrawPlainRect(painter,option->rect.adjusted(1, 1, 0, 0), |
|
4703 option->palette.shadow().color(),1,&option->palette.button()); |
|
4704 return; |
|
4705 } |
|
4706 } |
|
4707 #endif // QT_NO_DOCKWIDGET |
|
4708 QBrush fill; |
|
4709 bool stippled; |
|
4710 bool panel = (element == PE_PanelButtonTool); |
|
4711 if ((!(option->state & State_Sunken )) |
|
4712 && (!(option->state & State_Enabled) |
|
4713 || ((option->state & State_Enabled ) && !(option->state & State_MouseOver))) |
|
4714 && (option->state & State_On)) { |
|
4715 fill = QBrush(option->palette.light().color(), Qt::Dense4Pattern); |
|
4716 stippled = true; |
|
4717 } else { |
|
4718 fill = option->palette.brush(QPalette::Button); |
|
4719 stippled = false; |
|
4720 } |
|
4721 if (option->state & (State_Raised | State_Sunken | State_On)) { |
|
4722 if (option->state & State_AutoRaise) { |
|
4723 if(option->state & (State_Enabled | State_Sunken | State_On)){ |
|
4724 if (panel) |
|
4725 qDrawPlainRect(painter, option->rect,option->palette.shadow().color(),d->doubleControls, &fill); |
|
4726 else |
|
4727 qDrawPlainRect(painter, option->rect,option->palette.shadow().color(),d->doubleControls, &fill); |
|
4728 } |
|
4729 if (stippled) { |
|
4730 painter->setPen(option->palette.button().color()); |
|
4731 painter->drawRect(option->rect.adjusted(1, 1, -2, -2)); |
|
4732 } |
|
4733 } else { |
|
4734 qDrawPlainRect(painter, option->rect,option->palette.shadow().color(),d->doubleControls, &fill); |
|
4735 } |
|
4736 } else { |
|
4737 painter->fillRect(option->rect, fill); |
|
4738 } |
|
4739 break; } |
|
4740 |
|
4741 case PE_FrameFocusRect: |
|
4742 if (const QStyleOptionFocusRect *fropt = qstyleoption_cast<const QStyleOptionFocusRect *>(option)) { |
|
4743 //### check for d->alt_down |
|
4744 int penSize; |
|
4745 d->doubleControls ? penSize = 2 : penSize = 1; |
|
4746 bool alternateFocusStyle = false; |
|
4747 if (!widget) |
|
4748 alternateFocusStyle = true; |
|
4749 #ifndef QT_NO_COMBOBOX |
|
4750 if (qobject_cast<const QComboBox*>(widget)) |
|
4751 alternateFocusStyle = true; |
|
4752 #endif |
|
4753 if (!(fropt->state & State_KeyboardFocusChange) && !styleHint(SH_UnderlineShortcut, option)) |
|
4754 return; |
|
4755 QRect r = option->rect; |
|
4756 painter->save(); |
|
4757 painter->setBackgroundMode(Qt::TransparentMode); |
|
4758 if (alternateFocusStyle) { |
|
4759 QColor bg_col = fropt->backgroundColor; |
|
4760 if (!bg_col.isValid()) |
|
4761 bg_col = painter->background().color(); |
|
4762 // Create an "XOR" color. |
|
4763 QColor patternCol((bg_col.red() ^ 0xff) & 0xff, |
|
4764 (bg_col.green() ^ 0xff) & 0xff, |
|
4765 (bg_col.blue() ^ 0xff) & 0xff); |
|
4766 painter->setBrush(QBrush(patternCol, Qt::Dense4Pattern)); |
|
4767 painter->setBrushOrigin(r.topLeft()); |
|
4768 } |
|
4769 else { |
|
4770 painter->setPen(option->palette.highlight().color()); |
|
4771 painter->setBrush(option->palette.highlight()); |
|
4772 } |
|
4773 painter->setPen(Qt::NoPen); |
|
4774 painter->setBrushOrigin(r.topLeft()); |
|
4775 painter->drawRect(r.left(), r.top(), r.width(), penSize); // Top |
|
4776 painter->drawRect(r.left(), r.bottom(), r.width() + penSize - 1, penSize); // Bottom |
|
4777 painter->drawRect(r.left(), r.top(), penSize, r.height()); // Left |
|
4778 painter->drawRect(r.right(), r.top(), penSize, r.height()); // Right |
|
4779 painter->restore(); |
|
4780 } |
|
4781 break; |
|
4782 |
|
4783 case PE_PanelButtonBevel: { |
|
4784 QBrush fill; |
|
4785 bool panel = element != PE_FrameButtonBevel; |
|
4786 painter->setBrushOrigin(option->rect.topLeft()); |
|
4787 if (!(option->state & State_Sunken) && (option->state & State_On)) |
|
4788 fill = QBrush(option->palette.light().color(), Qt::Dense4Pattern); |
|
4789 else |
|
4790 fill = option->palette.brush(QPalette::Button); |
|
4791 |
|
4792 if (option->state & (State_Raised | State_On | State_Sunken)) { |
|
4793 if (d->doubleControls) |
|
4794 qDrawPlainRect(painter, option->rect,option->palette.shadow().color(),2,&fill); |
|
4795 else |
|
4796 qDrawPlainRect(painter, option->rect,option->palette.shadow().color(),1,&fill); |
|
4797 } else { |
|
4798 if (panel) |
|
4799 painter->fillRect(option->rect, fill); |
|
4800 else |
|
4801 painter->drawRect(option->rect); |
|
4802 } |
|
4803 break; } |
|
4804 |
|
4805 case PE_FrameGroupBox: |
|
4806 if (const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(option)) { |
|
4807 |
|
4808 const QStyleOptionFrameV2 *frame2 = qstyleoption_cast<const QStyleOptionFrameV2 *>(option); |
|
4809 if (frame2 && !(frame2->features & QStyleOptionFrameV2::Flat)) { |
|
4810 QPen oldPen = painter->pen(); |
|
4811 QRect r = frame->rect; |
|
4812 painter->setPen(frame->palette.shadow().color()); |
|
4813 painter->fillRect(r.x(), r.y(), r.x() + r.width()-1, |
|
4814 r.y() + r.height() - windowsMobileFrameGroupBoxOffset, |
|
4815 frame->palette.light()); |
|
4816 painter ->drawLine(r.topLeft() + QPoint(-2, 1), r.topRight()+ QPoint(0, 1)); |
|
4817 if (d->doubleControls) |
|
4818 painter ->drawLine(r.topLeft() + QPoint(-2, 2), r.topRight()+ QPoint(0, 2)); |
|
4819 painter->setPen(oldPen); |
|
4820 } |
|
4821 } |
|
4822 break; |
|
4823 |
|
4824 case PE_IndicatorCheckBox: { |
|
4825 QBrush fill; |
|
4826 QRect r = d->doubleControls ? option->rect.adjusted(0,1,0,-1) : option->rect; |
|
4827 if (option->state & State_NoChange) |
|
4828 fill = QBrush(option->palette.shadow().color(), Qt::Dense4Pattern); |
|
4829 else if (option->state & State_Sunken) |
|
4830 fill = option->palette.button(); |
|
4831 else if (option->state & State_Enabled) |
|
4832 fill = option->palette.base(); |
|
4833 else |
|
4834 fill = option->palette.background(); |
|
4835 painter->save(); |
|
4836 doRestore = true; |
|
4837 if (d->doubleControls && (option->state & State_NoChange)) |
|
4838 painter->fillRect(r, fill); |
|
4839 else |
|
4840 painter->fillRect(option->rect, fill); |
|
4841 painter->setPen(option->palette.shadow().color()); |
|
4842 painter->drawLine(r.topLeft(), r.topRight()); |
|
4843 painter->drawLine(r.topRight(), r.bottomRight()); |
|
4844 painter->drawLine(r.bottomLeft(), r.bottomRight()); |
|
4845 painter->drawLine(r.bottomLeft(), r.topLeft()); |
|
4846 if (d->doubleControls) { |
|
4847 QRect r0 = r.adjusted(1, 1, -1, -1); |
|
4848 painter->drawLine(r0.topLeft(), r0.topRight()); |
|
4849 painter->drawLine(r0.topRight(), r0.bottomRight()); |
|
4850 painter->drawLine(r0.bottomLeft(), r0.bottomRight()); |
|
4851 painter->drawLine(r0.bottomLeft(), r0.topLeft()); |
|
4852 } |
|
4853 if (option->state & State_HasFocus) { |
|
4854 painter->setPen(option->palette.highlight().color()); |
|
4855 QRect r2 = d->doubleControls ? r.adjusted(2, 2, -2, -2) : r.adjusted(1, 1, -1, -1); |
|
4856 painter->drawLine(r2.topLeft(), r2.topRight()); |
|
4857 painter->drawLine(r2.topRight(), r2.bottomRight()); |
|
4858 painter->drawLine(r2.bottomLeft(), r2.bottomRight()); |
|
4859 painter->drawLine(r2.bottomLeft(), r2.topLeft()); |
|
4860 if (d->doubleControls) { |
|
4861 QRect r3 = r2.adjusted(1, 1, -1, -1); |
|
4862 painter->drawLine(r3.topLeft(), r3.topRight()); |
|
4863 painter->drawLine(r3.topRight(), r3.bottomRight()); |
|
4864 painter->drawLine(r3.bottomLeft(), r3.bottomRight()); |
|
4865 painter->drawLine(r3.bottomLeft(), r3.topLeft()); |
|
4866 } |
|
4867 painter->setPen(option->palette.shadow().color()); |
|
4868 } |
|
4869 //fall through... |
|
4870 } |
|
4871 case PE_IndicatorViewItemCheck: |
|
4872 case PE_Q3CheckListIndicator: { |
|
4873 if (!doRestore) { |
|
4874 painter->save(); |
|
4875 doRestore = true; |
|
4876 } |
|
4877 if (element == PE_Q3CheckListIndicator || element == PE_IndicatorViewItemCheck) { |
|
4878 painter->setPen(option->palette.shadow().color()); |
|
4879 if (option->state & State_NoChange) |
|
4880 painter->setBrush(option->palette.brush(QPalette::Button)); |
|
4881 if (d->doubleControls) { |
|
4882 QRect r = QRect(option->rect.x(), option->rect.y(), windowsMobileitemViewCheckBoxSize * 2, windowsMobileitemViewCheckBoxSize * 2); |
|
4883 qDrawPlainRect(painter, r, option->palette.shadow().color(), 2); |
|
4884 } else { |
|
4885 QRect r = QRect(option->rect.x(), option->rect.y(), windowsMobileitemViewCheckBoxSize, windowsMobileitemViewCheckBoxSize); |
|
4886 qDrawPlainRect(painter, r, option->palette.shadow().color(), 1); |
|
4887 } |
|
4888 if (option->state & State_Enabled) |
|
4889 d->imageChecked.setColor(1, option->palette.shadow().color().rgba()); |
|
4890 else |
|
4891 d->imageChecked.setColor(1, option->palette.dark().color().rgba()); |
|
4892 if (!(option->state & State_Off)) { |
|
4893 if (d->doubleControls) |
|
4894 painter->drawImage(option->rect.x(), option->rect.y(), d->imageChecked); |
|
4895 else |
|
4896 painter->drawImage(option->rect.x() + 3, option->rect.y() + 3, d->imageChecked); |
|
4897 } |
|
4898 } |
|
4899 else { |
|
4900 if (option->state & State_NoChange) |
|
4901 d->imageCheckedBold.setColor(1, option->palette.dark().color().rgba()); |
|
4902 else if (option->state & State_Enabled) |
|
4903 d->imageCheckedBold.setColor(1, option->palette.shadow().color().rgba()); |
|
4904 else |
|
4905 d->imageCheckedBold.setColor(1, option->palette.dark().color().rgba()); |
|
4906 if (!(option->state & State_Off)) { |
|
4907 if (d->doubleControls) |
|
4908 painter->drawImage(option->rect.x() + 2, option->rect.y(), d->imageCheckedBold); |
|
4909 else |
|
4910 painter->drawImage(option->rect.x() + 3, option->rect.y() + 3, d->imageCheckedBold); |
|
4911 } |
|
4912 } |
|
4913 if (doRestore) |
|
4914 painter->restore(); |
|
4915 break; } |
|
4916 case PE_IndicatorRadioButton: { |
|
4917 painter->save(); |
|
4918 |
|
4919 if (option->state & State_HasFocus) { |
|
4920 d->imageRadioButtonHighlighted.setColor(1, option->palette.shadow().color().rgba()); |
|
4921 d->imageRadioButtonHighlighted.setColor(2, option->palette.highlight().color().rgba()); |
|
4922 painter->drawImage(option->rect.x(), option->rect.y(), d->imageRadioButtonHighlighted); |
|
4923 } |
|
4924 else { |
|
4925 d->imageRadioButton.setColor(1, option->palette.shadow().color().rgba()); |
|
4926 painter->drawImage(option->rect.x(), option->rect.y(), d->imageRadioButton); |
|
4927 } |
|
4928 if (option->state & (State_Sunken | State_On)) { |
|
4929 if (option->state & State_Enabled) |
|
4930 d->imageRadioButtonChecked.setColor(1, option->palette.shadow().color().rgba()); |
|
4931 else |
|
4932 d->imageRadioButtonChecked.setColor(1, option->palette.dark().color().rgba()); |
|
4933 |
|
4934 static const int offset = d->doubleControls ? 6 : 3; |
|
4935 painter->drawImage(option->rect.x() + offset, option->rect.y() + offset, d->imageRadioButtonChecked); |
|
4936 } |
|
4937 painter->restore(); |
|
4938 break; } |
|
4939 case PE_PanelButtonCommand: |
|
4940 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
|
4941 QBrush fill; |
|
4942 State flags = option->state; |
|
4943 QPalette pal = option->palette; |
|
4944 QRect r = option->rect; |
|
4945 if ((flags & State_Sunken || flags & State_On) ) |
|
4946 fill = pal.brush(QPalette::Shadow); |
|
4947 else |
|
4948 fill = pal.brush(QPalette::Button); |
|
4949 int singleLine = 1; |
|
4950 int doubleLine = 2; |
|
4951 if (d->doubleControls) { |
|
4952 singleLine = 2; |
|
4953 doubleLine = 4; |
|
4954 } |
|
4955 if (button->features & QStyleOptionButton::DefaultButton && flags & State_Sunken) { |
|
4956 if (d->doubleControls) { |
|
4957 qDrawPlainRect(painter, r, pal.shadow().color(), 1, &fill); |
|
4958 qDrawPlainRect(painter, r.adjusted(1, 1, -1, 1), pal.shadow().color(), 1, &fill); |
|
4959 } |
|
4960 else { |
|
4961 qDrawPlainRect(painter, r, pal.shadow().color(), 1, &fill); |
|
4962 } |
|
4963 } else if (flags & (State_Raised | State_Sunken | State_On | State_Sunken)) { |
|
4964 qDrawPlainRect(painter, r, pal.shadow().color(), singleLine, &fill); |
|
4965 } else { |
|
4966 painter->fillRect(r, fill); |
|
4967 } |
|
4968 } |
|
4969 break; |
|
4970 case PE_FrameDefaultButton: { |
|
4971 painter->save(); |
|
4972 painter->setPen(option->palette.shadow().color()); |
|
4973 QRect rect = option->rect; |
|
4974 if (d->doubleControls) { |
|
4975 rect.adjust(1, 1, -2, -2); |
|
4976 painter->drawRect(rect); |
|
4977 painter->drawRect(rect.adjusted(1, 1, -1, -1)); |
|
4978 } |
|
4979 |
|
4980 else { |
|
4981 rect.adjust(2, 2, -3, -3); |
|
4982 painter->drawRect(rect); |
|
4983 } |
|
4984 painter->restore(); |
|
4985 break; } |
|
4986 case PE_IndicatorSpinPlus: |
|
4987 case PE_IndicatorSpinMinus: { |
|
4988 QRect r = option->rect; |
|
4989 int fw = proxy()->pixelMetric(PM_DefaultFrameWidth, option, widget)+2; |
|
4990 QRect br = r.adjusted(fw, fw, -fw, -fw); |
|
4991 int offset = (option->state & State_Sunken) ? 1 : 0; |
|
4992 int step = (br.width() + 4) / 5; |
|
4993 painter->fillRect(br.x() + offset, br.y() + offset +br.height() / 2 - step / 2, |
|
4994 br.width(), step, option->palette.buttonText()); |
|
4995 if (element == PE_IndicatorSpinPlus) |
|
4996 painter->fillRect(br.x() + br.width() / 2 - step / 2 + offset, br.y() + offset+4, |
|
4997 step, br.height() - 7, option->palette.buttonText()); |
|
4998 break; } |
|
4999 case PE_IndicatorSpinUp: |
|
5000 case PE_IndicatorSpinDown: { |
|
5001 painter->save(); |
|
5002 QPoint points[7]; |
|
5003 switch (element) { |
|
5004 case PE_IndicatorSpinUp: |
|
5005 points[0] = QPoint(-2, -4); |
|
5006 points[1] = QPoint(-2, 2); |
|
5007 points[2] = QPoint(-1, -3); |
|
5008 points[3] = QPoint(-1, 1); |
|
5009 points[4] = QPoint(0, -2); |
|
5010 points[5] = QPoint(0, 0); |
|
5011 points[6] = QPoint(1, -1); |
|
5012 break; |
|
5013 case PE_IndicatorSpinDown: |
|
5014 points[0] = QPoint(0, -4); |
|
5015 points[1] = QPoint(0, 2); |
|
5016 points[2] = QPoint(-1, -3); |
|
5017 points[3] = QPoint(-1, 1); |
|
5018 points[4] = QPoint(-2, -2); |
|
5019 points[5] = QPoint(-2, 0); |
|
5020 points[6] = QPoint(-3, -1); |
|
5021 break; |
|
5022 default: |
|
5023 break; |
|
5024 } |
|
5025 if (option->state & State_Sunken) |
|
5026 painter->translate(proxy()->pixelMetric(PM_ButtonShiftHorizontal), |
|
5027 proxy()->pixelMetric(PM_ButtonShiftVertical)); |
|
5028 if (option->state & State_Enabled) { |
|
5029 painter->translate(option->rect.x() + option->rect.width() / 2, |
|
5030 option->rect.y() + option->rect.height() / 2); |
|
5031 painter->setPen(option->palette.buttonText().color()); |
|
5032 painter->drawLine(points[0], points[1]); |
|
5033 painter->drawLine(points[2], points[3]); |
|
5034 painter->drawLine(points[4], points[5]); |
|
5035 painter->drawPoint(points[6]); |
|
5036 } else { |
|
5037 painter->translate(option->rect.x() + option->rect.width() / 2 + 1, |
|
5038 option->rect.y() + option->rect.height() / 2 + 1); |
|
5039 painter->setPen(option->palette.light().color()); |
|
5040 painter->drawLine(points[0], points[1]); |
|
5041 painter->drawLine(points[2], points[3]); |
|
5042 painter->drawLine(points[4], points[5]); |
|
5043 painter->drawPoint(points[6]); |
|
5044 painter->translate(-1, -1); |
|
5045 painter->setPen(option->palette.mid().color()); |
|
5046 painter->drawLine(points[0], points[1]); |
|
5047 painter->drawLine(points[2], points[3]); |
|
5048 painter->drawLine(points[4], points[5]); |
|
5049 painter->drawPoint(points[6]); |
|
5050 } |
|
5051 painter->restore(); |
|
5052 break; } |
|
5053 |
|
5054 case PE_IndicatorArrowUpBig: |
|
5055 case PE_IndicatorArrowDownBig: |
|
5056 case PE_IndicatorArrowLeftBig: |
|
5057 case PE_IndicatorArrowRightBig: |
|
5058 |
|
5059 case PE_IndicatorArrowUp: |
|
5060 case PE_IndicatorArrowDown: |
|
5061 case PE_IndicatorArrowRight: |
|
5062 case PE_IndicatorArrowLeft: { |
|
5063 painter->save(); |
|
5064 |
|
5065 if (d->doubleControls) { |
|
5066 QColor color; |
|
5067 if (option->state & State_Sunken) |
|
5068 color = option->palette.light().color(); |
|
5069 else |
|
5070 color = option->palette.buttonText().color(); |
|
5071 QImage image; |
|
5072 int xoffset, yoffset; |
|
5073 switch (element) { |
|
5074 case PE_IndicatorArrowUp: |
|
5075 image = d->imageArrowUp; |
|
5076 xoffset = 1; |
|
5077 yoffset = 12; |
|
5078 break; |
|
5079 case PE_IndicatorArrowDown: |
|
5080 image = d->imageArrowDown; |
|
5081 xoffset = 1; |
|
5082 yoffset =12; |
|
5083 break; |
|
5084 case PE_IndicatorArrowLeft: |
|
5085 image = d->imageArrowLeft; |
|
5086 xoffset = 8; |
|
5087 yoffset = 2; |
|
5088 break; |
|
5089 case PE_IndicatorArrowRight: |
|
5090 image = d->imageArrowRight; |
|
5091 xoffset = 8; |
|
5092 yoffset = 2; |
|
5093 break; |
|
5094 case PE_IndicatorArrowUpBig: |
|
5095 image = d->imageArrowUpBig; |
|
5096 xoffset = 3; |
|
5097 yoffset = 12; |
|
5098 break; |
|
5099 case PE_IndicatorArrowDownBig: |
|
5100 image = d->imageArrowDownBig; |
|
5101 xoffset = 2; |
|
5102 yoffset =12; |
|
5103 break; |
|
5104 case PE_IndicatorArrowLeftBig: |
|
5105 image = d->imageArrowLeftBig; |
|
5106 xoffset = 8; |
|
5107 yoffset = 2; |
|
5108 break; |
|
5109 case PE_IndicatorArrowRightBig: |
|
5110 image = d->imageArrowRightBig; |
|
5111 xoffset = 8; |
|
5112 yoffset = 2; |
|
5113 break; |
|
5114 default: |
|
5115 break; |
|
5116 } |
|
5117 image.setColor(1, color.rgba()); |
|
5118 painter->drawImage(option->rect.x() + xoffset, option->rect.y() + yoffset, image); |
|
5119 } |
|
5120 else { |
|
5121 QPoint points[7]; |
|
5122 switch (element) { |
|
5123 case PE_IndicatorArrowUp: |
|
5124 case PE_IndicatorArrowUpBig: |
|
5125 points[0] = QPoint(-3, 1); |
|
5126 points[1] = QPoint(3, 1); |
|
5127 points[2] = QPoint(-2, 0); |
|
5128 points[3] = QPoint(2, 0); |
|
5129 points[4] = QPoint(-1, -1); |
|
5130 points[5] = QPoint(1, -1); |
|
5131 points[6] = QPoint(0, -2); |
|
5132 break; |
|
5133 case PE_IndicatorArrowDown: |
|
5134 case PE_IndicatorArrowDownBig: |
|
5135 points[0] = QPoint(-3, -1); |
|
5136 points[1] = QPoint(3, -1); |
|
5137 points[2] = QPoint(-2, 0); |
|
5138 points[3] = QPoint(2, 0); |
|
5139 points[4] = QPoint(-1, 1); |
|
5140 points[5] = QPoint(1, 1); |
|
5141 points[6] = QPoint(0, 2); |
|
5142 break; |
|
5143 case PE_IndicatorArrowRight: |
|
5144 case PE_IndicatorArrowRightBig: |
|
5145 points[0] = QPoint(-2, -3); |
|
5146 points[1] = QPoint(-2, 3); |
|
5147 points[2] = QPoint(-1, -2); |
|
5148 points[3] = QPoint(-1, 2); |
|
5149 points[4] = QPoint(0, -1); |
|
5150 points[5] = QPoint(0, 1); |
|
5151 points[6] = QPoint(1, 0); |
|
5152 break; |
|
5153 case PE_IndicatorArrowLeft: |
|
5154 case PE_IndicatorArrowLeftBig: |
|
5155 points[0] = QPoint(0, -3); |
|
5156 points[1] = QPoint(0, 3); |
|
5157 points[2] = QPoint(-1, -2); |
|
5158 points[3] = QPoint(-1, 2); |
|
5159 points[4] = QPoint(-2, -1); |
|
5160 points[5] = QPoint(-2, 1); |
|
5161 points[6] = QPoint(-3, 0); |
|
5162 break; |
|
5163 default: |
|
5164 break; |
|
5165 } |
|
5166 if (option->state & State_Sunken) |
|
5167 painter->setPen(option->palette.light().color()); |
|
5168 else |
|
5169 painter->setPen(option->palette.buttonText().color()); |
|
5170 if (option->state & State_Enabled) { |
|
5171 painter->translate(option->rect.x() + option->rect.width() / 2, |
|
5172 option->rect.y() + option->rect.height() / 2 - 1); |
|
5173 painter->drawLine(points[0], points[1]); |
|
5174 painter->drawLine(points[2], points[3]); |
|
5175 painter->drawLine(points[4], points[5]); |
|
5176 painter->drawPoint(points[6]); |
|
5177 } else { |
|
5178 painter->translate(option->rect.x() + option->rect.width() / 2, |
|
5179 option->rect.y() + option->rect.height() / 2 - 1); |
|
5180 painter->setPen(option->palette.mid().color()); |
|
5181 painter->drawLine(points[0], points[1]); |
|
5182 painter->drawLine(points[2], points[3]); |
|
5183 painter->drawLine(points[4], points[5]); |
|
5184 painter->drawPoint(points[6]); |
|
5185 } |
|
5186 } |
|
5187 painter->restore(); |
|
5188 break; } |
|
5189 #ifndef QT_NO_TABWIDGET |
|
5190 case PE_FrameTabWidget: |
|
5191 if (const QStyleOptionTabWidgetFrame *tab = qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(option)) { |
|
5192 QRect rect = option->rect; |
|
5193 QPalette pal = option->palette; |
|
5194 painter->save(); |
|
5195 QBrush fill = pal.light(); |
|
5196 painter->fillRect(rect, fill); |
|
5197 painter->setPen(pal.shadow().color()); |
|
5198 if (d->doubleControls) { |
|
5199 QPen pen = painter->pen(); |
|
5200 pen.setWidth(2); |
|
5201 pen.setCapStyle(Qt::FlatCap); |
|
5202 painter->setPen(pen); |
|
5203 } |
|
5204 switch (tab->shape) { |
|
5205 case QTabBar::RoundedNorth: |
|
5206 #ifdef Q_WS_WINCE_WM |
|
5207 if (!d->wm65) |
|
5208 #endif |
|
5209 { |
|
5210 if (d->doubleControls) |
|
5211 painter->drawLine(rect.topLeft() + QPoint(0, 1), rect.topRight() + QPoint(0, 1)); |
|
5212 else |
|
5213 painter->drawLine(rect.topLeft(), rect.topRight()); |
|
5214 } |
|
5215 break; |
|
5216 case QTabBar::RoundedSouth: |
|
5217 #ifdef Q_WS_WINCE_WM |
|
5218 if (!d->wm65) |
|
5219 #endif |
|
5220 { |
|
5221 if (d->doubleControls) |
|
5222 painter->drawLine(rect.bottomLeft(), rect.bottomRight()); |
|
5223 else |
|
5224 painter->drawLine(rect.bottomLeft(), rect.bottomRight()); |
|
5225 } |
|
5226 break; |
|
5227 case QTabBar::RoundedEast: |
|
5228 #ifdef Q_WS_WINCE_WM |
|
5229 if (!d->wm65) |
|
5230 #endif |
|
5231 painter->drawLine(rect.topRight(), rect.bottomRight()); |
|
5232 break; |
|
5233 case QTabBar::RoundedWest: |
|
5234 #ifdef Q_WS_WINCE_WM |
|
5235 if (!d->wm65) |
|
5236 #endif |
|
5237 painter->drawLine(rect.topLeft(), rect.bottomLeft()); |
|
5238 break; |
|
5239 case QTabBar::TriangularWest: |
|
5240 case QTabBar::TriangularEast: |
|
5241 case QTabBar::TriangularSouth: |
|
5242 case QTabBar::TriangularNorth: |
|
5243 if (d->doubleControls) |
|
5244 qDrawPlainRect(painter, rect.adjusted(0,-2,0,0), option->palette.shadow().color(),2,&pal.light()); |
|
5245 else |
|
5246 qDrawPlainRect(painter, rect, option->palette.shadow().color(),1,&pal.light()); |
|
5247 break; |
|
5248 default: |
|
5249 break; |
|
5250 } |
|
5251 painter->restore(); |
|
5252 } |
|
5253 break; |
|
5254 #endif //QT_NO_TABBAR |
|
5255 #ifndef QT_NO_ITEMVIEWS |
|
5256 case PE_PanelItemViewRow: |
|
5257 if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option)) { |
|
5258 QPalette::ColorGroup cg = vopt->state & QStyle::State_Enabled |
|
5259 ? QPalette::Normal : QPalette::Disabled; |
|
5260 if (cg == QPalette::Normal && !(vopt->state & QStyle::State_Active)) |
|
5261 cg = QPalette::Inactive; |
|
5262 |
|
5263 if ((vopt->state & QStyle::State_Selected) && proxy()->styleHint(QStyle::SH_ItemView_ShowDecorationSelected, option, widget)) |
|
5264 d->drawPanelItemViewSelected(painter, vopt); |
|
5265 else if (vopt->features & QStyleOptionViewItemV2::Alternate) |
|
5266 painter->fillRect(vopt->rect, vopt->palette.brush(cg, QPalette::AlternateBase)); |
|
5267 else if (!(vopt->state & QStyle::State_Enabled)) |
|
5268 painter->fillRect(vopt->rect, vopt->palette.brush(cg, QPalette::Base)); |
|
5269 } |
|
5270 break; |
|
5271 case PE_PanelItemViewItem: |
|
5272 if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option)) { |
|
5273 QPalette::ColorGroup cg = vopt->state & QStyle::State_Enabled |
|
5274 ? QPalette::Normal : QPalette::Disabled; |
|
5275 if (cg == QPalette::Normal && !(vopt->state & QStyle::State_Active)) |
|
5276 cg = QPalette::Inactive; |
|
5277 |
|
5278 if (vopt->showDecorationSelected && (vopt->state & QStyle::State_Selected)) { |
|
5279 d->drawPanelItemViewSelected(painter, vopt); |
|
5280 } else { |
|
5281 if (vopt->backgroundBrush.style() != Qt::NoBrush) { |
|
5282 QPointF oldBO = painter->brushOrigin(); |
|
5283 painter->setBrushOrigin(vopt->rect.topLeft()); |
|
5284 painter->fillRect(vopt->rect, vopt->backgroundBrush); |
|
5285 painter->setBrushOrigin(oldBO); |
|
5286 } |
|
5287 |
|
5288 if (vopt->state & QStyle::State_Selected) { |
|
5289 QRect textRect = proxy()->subElementRect(QStyle::SE_ItemViewItemText, option, widget); |
|
5290 d->drawPanelItemViewSelected(painter, vopt, textRect); |
|
5291 } |
|
5292 } |
|
5293 } |
|
5294 break; |
|
5295 #endif //QT_NO_ITEMVIEWS |
|
5296 |
|
5297 case PE_FrameWindow: { |
|
5298 QPalette popupPal = option->palette; |
|
5299 popupPal.setColor(QPalette::Light, option->palette.background().color()); |
|
5300 popupPal.setColor(QPalette::Midlight, option->palette.light().color()); |
|
5301 if (d->doubleControls) |
|
5302 qDrawPlainRect(painter, option->rect, popupPal.shadow().color(),2,0); |
|
5303 else |
|
5304 qDrawPlainRect(painter, option->rect, popupPal.shadow().color(),1,0); |
|
5305 break; } |
|
5306 case PE_FrameTabBarBase: { |
|
5307 break; } |
|
5308 case PE_Widget: |
|
5309 break; |
|
5310 case PE_IndicatorMenuCheckMark: { |
|
5311 int markW = option->rect.width() > 7 ? 7 : option->rect.width(); |
|
5312 int markH = markW; |
|
5313 if (d->doubleControls) |
|
5314 markW*=2; |
|
5315 markH*=2; |
|
5316 int posX = option->rect.x() + (option->rect.width() - markW)/2 + 1; |
|
5317 int posY = option->rect.y() + (option->rect.height() - markH)/2; |
|
5318 |
|
5319 QVector<QLineF> a; |
|
5320 a.reserve(markH); |
|
5321 |
|
5322 int i, xx, yy; |
|
5323 xx = posX; |
|
5324 yy = 3 + posY; |
|
5325 for (i = 0; i < markW/2; ++i) { |
|
5326 a << QLineF(xx, yy, xx, yy + 2); |
|
5327 ++xx; |
|
5328 ++yy; |
|
5329 } |
|
5330 yy -= 2; |
|
5331 for (; i < markH; ++i) { |
|
5332 a << QLineF(xx, yy, xx, yy + 2); |
|
5333 ++xx; |
|
5334 --yy; |
|
5335 } |
|
5336 if (!(option->state & State_Enabled) && !(option->state & State_On)) { |
|
5337 int pnt; |
|
5338 painter->setPen(option->palette.highlightedText().color()); |
|
5339 QPoint offset(1, 1); |
|
5340 for (pnt = 0; pnt < a.size(); ++pnt) |
|
5341 a[pnt].translate(offset.x(), offset.y()); |
|
5342 painter->drawLines(a); |
|
5343 for (pnt = 0; pnt < a.size(); ++pnt) |
|
5344 a[pnt].translate(offset.x(), offset.y()); |
|
5345 } |
|
5346 painter->setPen(option->palette.text().color()); |
|
5347 painter->drawLines(a); |
|
5348 break; } |
|
5349 case PE_Frame: |
|
5350 if (d->doubleControls) |
|
5351 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),2,&option->palette.light()); |
|
5352 else |
|
5353 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),1,&option->palette.light()); |
|
5354 break; |
|
5355 case PE_FrameLineEdit: |
|
5356 case PE_FrameMenu: |
|
5357 if (d->doubleControls) |
|
5358 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),2); |
|
5359 else |
|
5360 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),1); |
|
5361 break; |
|
5362 case PE_FrameStatusBar: |
|
5363 if (d->doubleControls) |
|
5364 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),2,0); |
|
5365 else |
|
5366 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),1,0); |
|
5367 break; |
|
5368 |
|
5369 default: |
|
5370 QWindowsStyle::drawPrimitive(element, option, painter, widget); |
|
5371 break; |
|
5372 } |
|
5373 } |
|
5374 |
|
5375 void QWindowsMobileStyle::drawControl(ControlElement element, const QStyleOption *option, |
|
5376 QPainter *painter, const QWidget *widget) const { |
|
5377 |
|
5378 |
|
5379 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
5380 |
|
5381 |
|
5382 painter->setClipping(false); |
|
5383 switch (element) { |
|
5384 case CE_MenuBarEmptyArea: |
|
5385 painter->setClipping(true); |
|
5386 QWindowsStyle::drawControl(element, option, painter, widget); |
|
5387 break; |
|
5388 case CE_PushButtonBevel: |
|
5389 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
|
5390 QRect br = button->rect; |
|
5391 int dbi = proxy()->pixelMetric(PM_ButtonDefaultIndicator, button, widget); |
|
5392 |
|
5393 if (button->features & QStyleOptionButton::AutoDefaultButton) |
|
5394 br.setCoords(br.left() + dbi, br.top() + dbi, br.right() - dbi, br.bottom() - dbi); |
|
5395 QStyleOptionButton tmpBtn = *button; |
|
5396 tmpBtn.rect = br; |
|
5397 proxy()->drawPrimitive(PE_PanelButtonCommand, &tmpBtn, painter, widget); |
|
5398 if (button->features & QStyleOptionButton::HasMenu) { |
|
5399 int mbi = proxy()->pixelMetric(PM_MenuButtonIndicator, button, widget); |
|
5400 QRect ir = button->rect; |
|
5401 QStyleOptionButton newButton = *button; |
|
5402 if (d->doubleControls) |
|
5403 newButton.rect = QRect(ir.right() - mbi, ir.height() - 30, mbi, ir.height() - 4); |
|
5404 else |
|
5405 newButton.rect = QRect(ir.right() - mbi, ir.height() - 20, mbi, ir.height() - 4); |
|
5406 proxy()->drawPrimitive(PE_IndicatorArrowDown, &newButton, painter, widget); |
|
5407 } |
|
5408 if (button->features & QStyleOptionButton::DefaultButton) |
|
5409 proxy()->drawPrimitive(PE_FrameDefaultButton, option, painter, widget); |
|
5410 } |
|
5411 break; |
|
5412 case CE_RadioButton: |
|
5413 case CE_CheckBox: |
|
5414 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
|
5415 bool isRadio = (element == CE_RadioButton); |
|
5416 QStyleOptionButton subopt = *button; |
|
5417 subopt.rect = proxy()->subElementRect(isRadio ? SE_RadioButtonIndicator |
|
5418 : SE_CheckBoxIndicator, button, widget); |
|
5419 proxy()->drawPrimitive(isRadio ? PE_IndicatorRadioButton : PE_IndicatorCheckBox, |
|
5420 &subopt, painter, widget); |
|
5421 subopt.rect = proxy()->subElementRect(isRadio ? SE_RadioButtonContents |
|
5422 : SE_CheckBoxContents, button, widget); |
|
5423 proxy()->drawControl(isRadio ? CE_RadioButtonLabel : CE_CheckBoxLabel, &subopt, painter, widget); |
|
5424 if (button->state & State_HasFocus) { |
|
5425 QStyleOptionFocusRect fropt; |
|
5426 fropt.QStyleOption::operator=(*button); |
|
5427 fropt.rect = proxy()->subElementRect(isRadio ? SE_RadioButtonFocusRect |
|
5428 : SE_CheckBoxFocusRect, button, widget); |
|
5429 proxy()->drawPrimitive(PE_FrameFocusRect, &fropt, painter, widget); |
|
5430 } |
|
5431 } |
|
5432 break; |
|
5433 case CE_RadioButtonLabel: |
|
5434 case CE_CheckBoxLabel: |
|
5435 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
|
5436 uint alignment = visualAlignment(button->direction, Qt::AlignLeft | Qt::AlignVCenter); |
|
5437 if (!styleHint(SH_UnderlineShortcut, button, widget)) |
|
5438 alignment |= Qt::TextHideMnemonic; |
|
5439 QPixmap pix; |
|
5440 QRect textRect = button->rect; |
|
5441 if (!button->icon.isNull()) { |
|
5442 pix = button->icon.pixmap(button->iconSize, button->state & State_Enabled ? QIcon::Normal : QIcon::Disabled); |
|
5443 proxy()->drawItemPixmap(painter, button->rect, alignment, pix); |
|
5444 if (button->direction == Qt::RightToLeft) |
|
5445 textRect.setRight(textRect.right() - button->iconSize.width() - 4); |
|
5446 else |
|
5447 textRect.setLeft(textRect.left() + button->iconSize.width() + 4); |
|
5448 } |
|
5449 if (!button->text.isEmpty()){ |
|
5450 if (button->state & State_Enabled) |
|
5451 proxy()->drawItemText(painter, textRect, alignment | Qt::TextShowMnemonic, |
|
5452 button->palette, false, button->text, QPalette::WindowText); |
|
5453 else |
|
5454 proxy()->drawItemText(painter, textRect, alignment | Qt::TextShowMnemonic, |
|
5455 button->palette, false, button->text, QPalette::Mid); |
|
5456 } |
|
5457 } |
|
5458 break; |
|
5459 #ifndef QT_NO_PROGRESSBAR |
|
5460 case CE_ProgressBarGroove: |
|
5461 if (d->doubleControls) |
|
5462 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(), 2, &option->palette.brush(QPalette::Window)); |
|
5463 else |
|
5464 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(), 1, &option->palette.brush(QPalette::Window)); |
|
5465 break; |
|
5466 #endif //QT_NO_PROGRESSBAR |
|
5467 #ifndef QT_NO_TABBAR |
|
5468 case CE_TabBarTab: |
|
5469 if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) { |
|
5470 proxy()->drawControl(CE_TabBarTabShape, tab, painter, widget); |
|
5471 proxy()->drawControl(CE_TabBarTabLabel, tab, painter, widget); |
|
5472 } |
|
5473 break; |
|
5474 case CE_TabBarTabShape: |
|
5475 if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) { |
|
5476 |
|
5477 if (tab->shape == QTabBar::RoundedNorth || tab->shape == QTabBar::RoundedEast || |
|
5478 tab->shape == QTabBar::RoundedSouth || tab->shape == QTabBar::RoundedWest) { |
|
5479 d->drawTabBarTab(painter, tab); |
|
5480 } else { |
|
5481 QCommonStyle::drawControl(element, option, painter, widget); |
|
5482 } |
|
5483 break; } |
|
5484 |
|
5485 #endif // QT_NO_TABBAR |
|
5486 |
|
5487 #ifndef QT_NO_TOOLBAR |
|
5488 case CE_ToolBar: |
|
5489 if (const QStyleOptionToolBar *toolBar = qstyleoption_cast<const QStyleOptionToolBar *>(option)) { |
|
5490 QRect rect = option->rect; |
|
5491 painter->save(); |
|
5492 painter->setPen(option->palette.dark().color()); |
|
5493 painter->fillRect(rect,option->palette.button()); |
|
5494 if (d->doubleControls) { |
|
5495 QPen pen = painter->pen(); |
|
5496 pen.setWidth(4); |
|
5497 painter->setPen(pen); |
|
5498 } |
|
5499 if (toolBar->toolBarArea == Qt::TopToolBarArea) |
|
5500 painter->drawLine(rect.bottomLeft(), rect.bottomRight()); |
|
5501 else |
|
5502 painter->drawLine(rect.topLeft(), rect.topRight()); |
|
5503 painter->restore(); |
|
5504 break; } |
|
5505 #endif //QT_NO_TOOLBAR |
|
5506 case CE_Header: |
|
5507 if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) { |
|
5508 QRegion clipRegion = painter->clipRegion(); |
|
5509 painter->setClipRect(option->rect); |
|
5510 proxy()->drawControl(CE_HeaderSection, header, painter, widget); |
|
5511 QStyleOptionHeader subopt = *header; |
|
5512 subopt.rect = proxy()->subElementRect(SE_HeaderLabel, header, widget); |
|
5513 if (header->state & State_Sunken) |
|
5514 subopt.palette.setColor(QPalette::ButtonText, header->palette.brightText().color()); |
|
5515 subopt.state |= QStyle::State_On; |
|
5516 if (subopt.rect.isValid()) |
|
5517 proxy()->drawControl(CE_HeaderLabel, &subopt, painter, widget); |
|
5518 if (header->sortIndicator != QStyleOptionHeader::None) { |
|
5519 subopt.rect = proxy()->subElementRect(SE_HeaderArrow, option, widget); |
|
5520 proxy()->drawPrimitive(PE_IndicatorHeaderArrow, &subopt, painter, widget); |
|
5521 } |
|
5522 painter->setClipRegion(clipRegion); |
|
5523 } |
|
5524 break; |
|
5525 |
|
5526 case CE_HeaderSection: |
|
5527 if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) { |
|
5528 QBrush fill; |
|
5529 QColor color; |
|
5530 QRect rect = option->rect; |
|
5531 painter->setPen(option->palette.shadow().color()); |
|
5532 |
|
5533 int penSize = 1; |
|
5534 |
|
5535 if (d->doubleControls) { |
|
5536 penSize = 2; |
|
5537 QPen pen = painter->pen(); |
|
5538 pen.setWidth(2); |
|
5539 pen.setCapStyle(Qt::FlatCap); |
|
5540 painter->setPen(pen); |
|
5541 } |
|
5542 |
|
5543 //fix Frame |
|
5544 |
|
5545 if (header->position == QStyleOptionHeader::End |
|
5546 || (header->position == QStyleOptionHeader::OnlyOneSection |
|
5547 && !header->text.isEmpty())) |
|
5548 if (Qt::Horizontal == header->orientation ) |
|
5549 rect.adjust(0, 0, penSize, 0); |
|
5550 else |
|
5551 rect.adjust(0, 0, 0, penSize); |
|
5552 |
|
5553 if (option->state & State_Sunken) { |
|
5554 fill = option->palette.brush(QPalette::Shadow); |
|
5555 color = option->palette.light().color(); |
|
5556 painter->drawLine(rect.bottomLeft(), rect.bottomRight()); |
|
5557 painter->drawLine(rect.topRight(), rect.bottomRight()); |
|
5558 rect.adjust(0, 0, -penSize, -penSize); |
|
5559 } |
|
5560 else { |
|
5561 fill = option->palette.brush(QPalette::Button); |
|
5562 color = option->palette.shadow().color(); |
|
5563 if (Qt::Horizontal == header->orientation ) |
|
5564 rect.adjust(-penSize, 0, 0, 0); |
|
5565 else |
|
5566 rect.adjust(0, -penSize, 0, 0); |
|
5567 } |
|
5568 if (Qt::Horizontal == header->orientation ) |
|
5569 rect.adjust(0,-penSize,0,0); |
|
5570 else |
|
5571 rect.adjust(-penSize, 0, 0, 0); |
|
5572 |
|
5573 if (option->state & State_Sunken) { |
|
5574 qDrawPlainRect(painter, rect, color, penSize, &fill); |
|
5575 } else { |
|
5576 //Corner |
|
5577 rect.adjust(-penSize, 0, 0, 0); |
|
5578 qDrawPlainRect(painter, rect, color, penSize, &fill); |
|
5579 } |
|
5580 |
|
5581 //Hack to get rid of some double lines... StyleOptions need a clean flag for that |
|
5582 rect = option->rect; |
|
5583 #ifndef QT_NO_SCROLLAREA |
|
5584 if (const QAbstractScrollArea *abstractScrollArea = qobject_cast<const QAbstractScrollArea *> (widget) ) { |
|
5585 QRect rectScrollArea = abstractScrollArea->geometry(); |
|
5586 if (Qt::Horizontal == header->orientation ) |
|
5587 if ((rectScrollArea.right() - rect.right() ) > 1) |
|
5588 painter->drawLine(rect.topRight(), rect.bottomRight()); |
|
5589 else ; |
|
5590 else |
|
5591 if ((rectScrollArea.bottom() - rect.bottom() ) > 1) |
|
5592 painter->drawLine(rect.bottomLeft(), rect.bottomRight()); |
|
5593 } |
|
5594 #endif // QT_NO_SCROLLAREA |
|
5595 break; |
|
5596 } |
|
5597 #ifndef QT_NO_COMBOBOX |
|
5598 case CE_ComboBoxLabel: |
|
5599 // This is copied from qcommonstyle.cpp with the difference, that |
|
5600 // the editRect isn't adjusted when calling drawItemText. |
|
5601 if (const QStyleOptionComboBox *cb = qstyleoption_cast<const QStyleOptionComboBox *>(option)) { |
|
5602 QRect editRect = proxy()->subControlRect(CC_ComboBox, cb, SC_ComboBoxEditField, widget); |
|
5603 painter->save(); |
|
5604 painter->setClipRect(editRect); |
|
5605 if (!cb->currentIcon.isNull()) { |
|
5606 QIcon::Mode mode = cb->state & State_Enabled ? QIcon::Normal |
|
5607 : QIcon::Disabled; |
|
5608 QPixmap pixmap = cb->currentIcon.pixmap(cb->iconSize, mode); |
|
5609 QRect iconRect(editRect); |
|
5610 iconRect.setWidth(cb->iconSize.width() + 4); |
|
5611 iconRect = alignedRect(cb->direction, |
|
5612 Qt::AlignLeft | Qt::AlignVCenter, |
|
5613 iconRect.size(), editRect); |
|
5614 if (cb->editable) |
|
5615 painter->fillRect(iconRect, option->palette.brush(QPalette::Base)); |
|
5616 proxy()->drawItemPixmap(painter, iconRect, Qt::AlignCenter, pixmap); |
|
5617 |
|
5618 if (cb->direction == Qt::RightToLeft) |
|
5619 editRect.translate(-4 - cb->iconSize.width(), 0); |
|
5620 else |
|
5621 editRect.translate(cb->iconSize.width() + 4, 0); |
|
5622 } |
|
5623 if (!cb->currentText.isEmpty() && !cb->editable) { |
|
5624 proxy()->drawItemText(painter, editRect, |
|
5625 visualAlignment(cb->direction, Qt::AlignLeft | Qt::AlignVCenter), |
|
5626 cb->palette, cb->state & State_Enabled, cb->currentText); |
|
5627 } |
|
5628 painter->restore(); |
|
5629 } |
|
5630 break; |
|
5631 #endif // QT_NO_COMBOBOX |
|
5632 #ifndef QT_NO_DOCKWIDGET |
|
5633 case CE_DockWidgetTitle: |
|
5634 if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast<const QStyleOptionDockWidget *>(option)) { |
|
5635 const QStyleOptionDockWidgetV2 *v2 |
|
5636 = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(option); |
|
5637 bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; |
|
5638 |
|
5639 QRect rect = dwOpt->rect; |
|
5640 QRect r = rect; |
|
5641 |
|
5642 if (verticalTitleBar) { |
|
5643 QSize s = r.size(); |
|
5644 s.transpose(); |
|
5645 r.setSize(s); |
|
5646 |
|
5647 painter->save(); |
|
5648 painter->translate(r.left(), r.top() + r.width()); |
|
5649 painter->rotate(-90); |
|
5650 painter->translate(-r.left(), -r.top()); |
|
5651 } |
|
5652 |
|
5653 bool floating = false; |
|
5654 bool active = dwOpt->state & State_Active; |
|
5655 int menuOffset = 0; //used to center text when floated |
|
5656 QColor inactiveCaptionTextColor = option->palette.highlightedText().color(); |
|
5657 if (dwOpt->movable) { |
|
5658 QColor left, right; |
|
5659 |
|
5660 //Titlebar gradient |
|
5661 if (widget && widget->isWindow()) { |
|
5662 floating = true; |
|
5663 if (active) { |
|
5664 right = option->palette.highlight().color(); |
|
5665 left = right.lighter(125); |
|
5666 } else { |
|
5667 left = option->palette.highlight().color().lighter(125); |
|
5668 right = QColor(0xff, 0xff, 0xff); |
|
5669 } |
|
5670 menuOffset = 2; |
|
5671 QBrush fillBrush(left); |
|
5672 if (left != right) { |
|
5673 QPoint p1(r.x(), r.top() + r.height()/2); |
|
5674 QPoint p2(rect.right(), r.top() + r.height()/2); |
|
5675 QLinearGradient lg(p1, p2); |
|
5676 lg.setColorAt(0, left); |
|
5677 lg.setColorAt(1, right); |
|
5678 fillBrush = lg; |
|
5679 } |
|
5680 painter->fillRect(r.adjusted(0, 0, 0, -3), fillBrush); |
|
5681 } else { |
|
5682 painter->fillRect(r.adjusted(0, 0, 0, -3), option->palette.button().color()); |
|
5683 } |
|
5684 painter->setPen(dwOpt->palette.color(QPalette::Light)); |
|
5685 if (!widget || !widget->isWindow()) { |
|
5686 painter->drawLine(r.topLeft(), r.topRight()); |
|
5687 painter->setPen(dwOpt->palette.color(QPalette::Dark)); |
|
5688 painter->drawLine(r.bottomLeft(), r.bottomRight()); } |
|
5689 } |
|
5690 if (!dwOpt->title.isEmpty()) { |
|
5691 QFont oldFont = painter->font(); |
|
5692 QFont newFont = oldFont; |
|
5693 if (newFont.pointSize() > 2) |
|
5694 newFont.setPointSize(newFont.pointSize() - 2); |
|
5695 if (floating) |
|
5696 newFont.setBold(true); |
|
5697 painter->setFont(newFont); |
|
5698 QPalette palette = dwOpt->palette; |
|
5699 palette.setColor(QPalette::Window, inactiveCaptionTextColor); |
|
5700 QRect titleRect = proxy()->subElementRect(SE_DockWidgetTitleBarText, option, widget); |
|
5701 if (verticalTitleBar) { |
|
5702 titleRect = QRect(r.left() + rect.bottom() |
|
5703 - titleRect.bottom(), |
|
5704 r.top() + titleRect.left() - rect.left(), |
|
5705 titleRect.height(), titleRect.width()); |
|
5706 } |
|
5707 proxy()->drawItemText(painter, titleRect, |
|
5708 Qt::AlignLeft | Qt::AlignVCenter | Qt::TextShowMnemonic, palette, |
|
5709 dwOpt->state & State_Enabled, dwOpt->title, |
|
5710 floating ? (active ? QPalette::BrightText : QPalette::Window) : QPalette::WindowText); |
|
5711 painter->setFont(oldFont); |
|
5712 } |
|
5713 if (verticalTitleBar) |
|
5714 painter->restore(); |
|
5715 } |
|
5716 return; |
|
5717 #endif // QT_NO_DOCKWIDGET |
|
5718 |
|
5719 case CE_PushButtonLabel: |
|
5720 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
|
5721 painter->save(); |
|
5722 QRect ir = button->rect; |
|
5723 QPalette::ColorRole colorRole; |
|
5724 uint tf = Qt::AlignVCenter | Qt::TextShowMnemonic; |
|
5725 if (!styleHint(SH_UnderlineShortcut, button, widget)) |
|
5726 tf |= Qt::TextHideMnemonic; |
|
5727 |
|
5728 if (button->state & (State_On | State_Sunken)) |
|
5729 colorRole = QPalette::Light; |
|
5730 else |
|
5731 colorRole = QPalette::ButtonText; |
|
5732 |
|
5733 if (!button->icon.isNull()) { |
|
5734 QIcon::Mode mode = button->state & State_Enabled ? QIcon::Normal |
|
5735 : QIcon::Disabled; |
|
5736 if (mode == QIcon::Normal && button->state & State_HasFocus) |
|
5737 mode = QIcon::Active; |
|
5738 QIcon::State state = QIcon::Off; |
|
5739 if (button->state & State_On) |
|
5740 state = QIcon::On; |
|
5741 QPixmap pixmap = button->icon.pixmap(button->iconSize, mode, state); |
|
5742 int pixw = pixmap.width(); |
|
5743 int pixh = pixmap.height(); |
|
5744 //Center the icon if there is no text |
|
5745 |
|
5746 QPoint point; |
|
5747 if (button->text.isEmpty()) { |
|
5748 point = QPoint(ir.x() + ir.width() / 2 - pixw / 2, |
|
5749 ir.y() + ir.height() / 2 - pixh / 2); |
|
5750 } else { |
|
5751 point = QPoint(ir.x() + 2, ir.y() + ir.height() / 2 - pixh / 2); |
|
5752 } |
|
5753 if (button->direction == Qt::RightToLeft) |
|
5754 point.rx() += pixw; |
|
5755 |
|
5756 if ((button->state & (State_On | State_Sunken)) && button->direction == Qt::RightToLeft) |
|
5757 point.rx() -= proxy()->pixelMetric(PM_ButtonShiftHorizontal, option, widget) * 2; |
|
5758 |
|
5759 painter->drawPixmap(visualPos(button->direction, button->rect, point), pixmap); |
|
5760 |
|
5761 if (button->direction == Qt::RightToLeft) |
|
5762 ir.translate(-4, 0); |
|
5763 else |
|
5764 ir.translate(pixw + 4, 0); |
|
5765 ir.setWidth(ir.width() - (pixw + 4)); |
|
5766 // left-align text if there is |
|
5767 if (!button->text.isEmpty()) |
|
5768 tf |= Qt::AlignLeft; |
|
5769 } else { |
|
5770 tf |= Qt::AlignHCenter; |
|
5771 } |
|
5772 if (button->state & State_Enabled) |
|
5773 proxy()->drawItemText(painter, ir, tf, button->palette, true, button->text, colorRole); |
|
5774 else |
|
5775 proxy()->drawItemText(painter, ir, tf, button->palette, true, button->text, QPalette::Mid); |
|
5776 painter->restore(); |
|
5777 } |
|
5778 break; |
|
5779 default: |
|
5780 QWindowsStyle::drawControl(element, option, painter, widget); |
|
5781 break; |
|
5782 } |
|
5783 } |
|
5784 |
|
5785 void QWindowsMobileStyle::drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, |
|
5786 QPainter *painter, const QWidget *widget) const { |
|
5787 |
|
5788 painter->setClipping(false); |
|
5789 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
5790 |
|
5791 switch (control) { |
|
5792 #ifndef QT_NO_SLIDER |
|
5793 case CC_Slider: |
|
5794 if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(option)) { |
|
5795 int thickness = proxy()->pixelMetric(PM_SliderControlThickness, slider, widget); |
|
5796 int len = proxy()->pixelMetric(PM_SliderLength, slider, widget); |
|
5797 int ticks = slider->tickPosition; |
|
5798 QRect groove = proxy()->subControlRect(CC_Slider, slider, SC_SliderGroove, widget); |
|
5799 QRect handle = proxy()->subControlRect(CC_Slider, slider, SC_SliderHandle, widget); |
|
5800 |
|
5801 if ((slider->subControls & SC_SliderGroove) && groove.isValid()) { |
|
5802 int mid = thickness / 2; |
|
5803 if (ticks & QSlider::TicksAbove) |
|
5804 mid += len / 8; |
|
5805 if (ticks & QSlider::TicksBelow) |
|
5806 mid -= len / 8; |
|
5807 |
|
5808 painter->setPen(slider->palette.shadow().color()); |
|
5809 if (slider->orientation == Qt::Horizontal) { |
|
5810 qDrawPlainRect(painter, groove.x(), groove.y() + mid - 2, |
|
5811 groove.width(), 4, option->palette.shadow().color(),1,0); |
|
5812 } else { |
|
5813 qDrawPlainRect(painter, groove.x()+mid-2, groove.y(), |
|
5814 4, groove.height(), option->palette.shadow().color(),1,0); |
|
5815 } |
|
5816 } |
|
5817 if (slider->subControls & SC_SliderTickmarks) { |
|
5818 QStyleOptionSlider tmpSlider = *slider; |
|
5819 tmpSlider.subControls = SC_SliderTickmarks; |
|
5820 QCommonStyle::drawComplexControl(control, &tmpSlider, painter, widget); |
|
5821 } |
|
5822 |
|
5823 if (slider->subControls & SC_SliderHandle) { |
|
5824 const QColor c0 = slider->palette.shadow().color(); |
|
5825 const QColor c1 = slider->palette.dark().color(); |
|
5826 const QColor c3 = slider->palette.midlight().color(); |
|
5827 const QColor c4 = slider->palette.dark().color(); |
|
5828 QBrush handleBrush; |
|
5829 |
|
5830 if (slider->state & State_Enabled) { |
|
5831 handleBrush = slider->palette.color(QPalette::Light); |
|
5832 } else { |
|
5833 handleBrush = QBrush(slider->palette.color(QPalette::Shadow), |
|
5834 Qt::Dense4Pattern); |
|
5835 } |
|
5836 int x = handle.x(), y = handle.y(), |
|
5837 wi = handle.width(), he = handle.height(); |
|
5838 int x1 = x; |
|
5839 int x2 = x+wi-1; |
|
5840 int y1 = y; |
|
5841 int y2 = y+he-1; |
|
5842 |
|
5843 Qt::Orientation orient = slider->orientation; |
|
5844 bool tickAbove = slider->tickPosition == QSlider::TicksAbove; |
|
5845 bool tickBelow = slider->tickPosition == QSlider::TicksBelow; |
|
5846 |
|
5847 if (slider->state & State_HasFocus) { |
|
5848 QStyleOptionFocusRect fropt; |
|
5849 fropt.QStyleOption::operator=(*slider); |
|
5850 fropt.rect = proxy()->subElementRect(SE_SliderFocusRect, slider, widget); |
|
5851 proxy()->drawPrimitive(PE_FrameFocusRect, &fropt, painter, widget); |
|
5852 } |
|
5853 if ((tickAbove && tickBelow) || (!tickAbove && !tickBelow)) { |
|
5854 Qt::BGMode oldMode = painter->backgroundMode(); |
|
5855 painter->setBackgroundMode(Qt::OpaqueMode); |
|
5856 qDrawPlainRect(painter, QRect(x, y, wi, he) |
|
5857 ,slider->palette.shadow().color(),1,&handleBrush); |
|
5858 painter->setBackgroundMode(oldMode); |
|
5859 QBrush fill = QBrush(option->palette.light().color(), Qt::Dense4Pattern); |
|
5860 if (slider->state & State_Sunken) |
|
5861 painter->fillRect(QRectF(x1 + 2, y1 + 2, x2 - x1 - 3, y2 - y1 - 3),fill); |
|
5862 return; |
|
5863 } |
|
5864 QSliderDirection dir; |
|
5865 if (orient == Qt::Horizontal) |
|
5866 if (tickAbove) |
|
5867 dir = SliderUp; |
|
5868 else |
|
5869 dir = SliderDown; |
|
5870 else |
|
5871 if (tickAbove) |
|
5872 dir = SliderLeft; |
|
5873 else |
|
5874 dir = SliderRight; |
|
5875 QPolygon polygon; |
|
5876 int d = 0; |
|
5877 switch (dir) { |
|
5878 case SliderUp: |
|
5879 x2++; |
|
5880 y1 = y1 + wi / 2; |
|
5881 d = (wi + 1) / 2 - 1; |
|
5882 polygon.setPoints(5, x1, y1, x1, y2, x2, y2, x2, y1, x1 + d,y1 - d); |
|
5883 break; |
|
5884 case SliderDown: |
|
5885 x2++; |
|
5886 y2 = y2 - wi/2; |
|
5887 d = (wi + 1) / 2 - 1; |
|
5888 polygon.setPoints(5, x1, y1, x1, y2, x1 + d,y2 + d, x2, y2, x2, y1); |
|
5889 break; |
|
5890 case SliderLeft: |
|
5891 d = (he + 1) / 2 - 1; |
|
5892 x1 = x1 + he/2; |
|
5893 polygon.setPoints(5, x1, y1, x1 - d, y1 + d, x1,y2, x2, y2, x2, y1); |
|
5894 y1--; |
|
5895 break; |
|
5896 case SliderRight: |
|
5897 d = (he + 1) / 2 - 1; |
|
5898 x2 = x2 - he/2; |
|
5899 polygon.setPoints(5, x1, y1, x1, y2, x2,y2, x2 + d, y1 + d, x2, y1); |
|
5900 y1--; |
|
5901 break; |
|
5902 } |
|
5903 QBrush oldBrush = painter->brush(); |
|
5904 painter->setPen(Qt::NoPen); |
|
5905 painter->setBrush(handleBrush); |
|
5906 Qt::BGMode oldMode = painter->backgroundMode(); |
|
5907 painter->setBackgroundMode(Qt::OpaqueMode); |
|
5908 painter->drawRect(x1, y1, x2-x1+1, y2-y1+1); |
|
5909 painter->drawPolygon(polygon); |
|
5910 QBrush fill = QBrush(option->palette.button().color(), Qt::Dense4Pattern); |
|
5911 painter->setBrush(oldBrush); |
|
5912 painter->setBackgroundMode(oldMode); |
|
5913 if (slider->state & State_Sunken) |
|
5914 painter->fillRect(QRectF(x1, y1, x2 - x1 + 1, y2 - y1 + 1),fill); |
|
5915 |
|
5916 if (dir != SliderUp) { |
|
5917 painter->setPen(c0); |
|
5918 painter->drawLine(x1, y1, x2, y1); |
|
5919 } |
|
5920 if (dir != SliderLeft) { |
|
5921 painter->setPen(c0); |
|
5922 painter->drawLine(x1, y1, x1, y2); |
|
5923 } |
|
5924 if (dir != SliderRight) { |
|
5925 painter->setPen(c0); |
|
5926 painter->drawLine(x2, y1, x2, y2); |
|
5927 } |
|
5928 if (dir != SliderDown) { |
|
5929 painter->setPen(c0); |
|
5930 painter->drawLine(x1, y2, x2, y2); |
|
5931 } |
|
5932 switch (dir) { |
|
5933 case SliderUp: |
|
5934 if (slider->state & State_Sunken) |
|
5935 painter->fillRect(QRectF(x1 + 3, y1 - d + 2, x2 - x1 - 4, y1),fill); |
|
5936 painter->setPen(c0); |
|
5937 painter->drawLine(x1, y1, x1 + d, y1 - d); |
|
5938 d = wi - d - 1; |
|
5939 painter->drawLine(x2, y1, x2 -d , y1 -d ); |
|
5940 d--; |
|
5941 break; |
|
5942 case SliderDown: |
|
5943 if (slider->state & State_Sunken) |
|
5944 painter->fillRect(QRectF(x1+3, y2 - d, x2 - x1 -4,y2 - 8),fill); |
|
5945 painter->setPen(c0); |
|
5946 painter->drawLine(x1, y2, x1 + d, y2 + d); |
|
5947 d = wi - d - 1; |
|
5948 painter->drawLine(x2, y2, x2 - d, y2 + d); |
|
5949 d--; |
|
5950 break; |
|
5951 case SliderLeft: |
|
5952 if (slider->state & State_Sunken) |
|
5953 painter->fillRect(QRectF(x1 - d + 2, y1 + 2, x1, y2 - y1 - 3),fill); |
|
5954 painter->setPen(c0); |
|
5955 painter->drawLine(x1, y1, x1 - d, y1 + d); |
|
5956 d = he - d - 1; |
|
5957 painter->drawLine(x1, y2, x1 - d, y2 - d); |
|
5958 d--; |
|
5959 break; |
|
5960 case SliderRight: |
|
5961 if (slider->state & State_Sunken) |
|
5962 painter->fillRect(QRectF(x2 - d - 4, y1 + 2, x2 - 4, y2 - y1 - 3),fill); |
|
5963 painter->setPen(c0); |
|
5964 painter->drawLine(x2, y1, x2 + d, y1 + d); |
|
5965 painter->setPen(c0); |
|
5966 d = he - d - 1; |
|
5967 painter->drawLine(x2, y2, x2 + d, y2 - d); |
|
5968 d--; |
|
5969 break; |
|
5970 } |
|
5971 } |
|
5972 } |
|
5973 break; |
|
5974 #endif //QT_NO_SLIDER |
|
5975 #ifndef QT_NO_SCROLLBAR |
|
5976 case CC_ScrollBar: |
|
5977 painter->save(); |
|
5978 painter->setPen(option->palette.shadow().color()); |
|
5979 if (d->doubleControls) { |
|
5980 QPen pen = painter->pen(); |
|
5981 pen.setWidth(2); |
|
5982 pen.setCapStyle(Qt::SquareCap); |
|
5983 painter->setPen(pen); |
|
5984 } |
|
5985 if (const QStyleOptionSlider *scrollbar = qstyleoption_cast<const QStyleOptionSlider *>(option)) { |
|
5986 d->drawScrollbarGroove(painter, scrollbar); |
|
5987 // Make a copy here and reset it for each primitive. |
|
5988 QStyleOptionSlider newScrollbar = *scrollbar; |
|
5989 State saveFlags = scrollbar->state; |
|
5990 //Check if the scrollbar is part of an abstractItemView and draw the frame according |
|
5991 bool drawCompleteFrame = true; |
|
5992 bool secondScrollBar = false; |
|
5993 if (widget) |
|
5994 if (QWidget *parent = widget->parentWidget()) { |
|
5995 if (QAbstractScrollArea *abstractScrollArea = qobject_cast<QAbstractScrollArea *>(parent->parentWidget())) { |
|
5996 drawCompleteFrame = (abstractScrollArea->frameStyle() == QFrame::NoFrame) || (abstractScrollArea->frameStyle() == QFrame::StyledPanel); |
|
5997 secondScrollBar = (abstractScrollArea->horizontalScrollBar()->isVisible() |
|
5998 && abstractScrollArea->verticalScrollBar()->isVisible()) ; |
|
5999 } |
|
6000 #ifndef QT_NO_LISTVIEW |
|
6001 if (QListView *listView = qobject_cast<QListView *>(parent->parentWidget())) |
|
6002 drawCompleteFrame = false; |
|
6003 #endif |
|
6004 } |
|
6005 if (scrollbar->minimum == scrollbar->maximum) |
|
6006 saveFlags |= State_Enabled; |
|
6007 if (scrollbar->subControls & SC_ScrollBarSubLine) { |
|
6008 newScrollbar.state = saveFlags; |
|
6009 newScrollbar.rect = proxy()->subControlRect(control, &newScrollbar, SC_ScrollBarSubLine, widget); |
|
6010 if (newScrollbar.rect.isValid()) { |
|
6011 if (!(scrollbar->activeSubControls & SC_ScrollBarSubLine)) |
|
6012 newScrollbar.state &= ~(State_Sunken | State_MouseOver); |
|
6013 d->drawScrollbarHandleUp(painter, &newScrollbar, drawCompleteFrame, secondScrollBar); |
|
6014 } |
|
6015 } |
|
6016 if (scrollbar->subControls & SC_ScrollBarAddLine) { |
|
6017 newScrollbar.rect = scrollbar->rect; |
|
6018 newScrollbar.state = saveFlags; |
|
6019 newScrollbar.rect = proxy()->subControlRect(control, &newScrollbar, SC_ScrollBarAddLine, widget); |
|
6020 if (newScrollbar.rect.isValid()) { |
|
6021 if (!(scrollbar->activeSubControls & SC_ScrollBarAddLine)) |
|
6022 newScrollbar.state &= ~(State_Sunken | State_MouseOver); |
|
6023 d->drawScrollbarHandleDown(painter, &newScrollbar, drawCompleteFrame, secondScrollBar); |
|
6024 } |
|
6025 } |
|
6026 if (scrollbar->subControls & SC_ScrollBarSlider) { |
|
6027 |
|
6028 newScrollbar.rect = scrollbar->rect; |
|
6029 newScrollbar.state = saveFlags; |
|
6030 newScrollbar.rect = proxy()->subControlRect(control, &newScrollbar, SC_ScrollBarSlider, widget); |
|
6031 |
|
6032 if (newScrollbar.rect.isValid()) { |
|
6033 if (!(scrollbar->activeSubControls & SC_ScrollBarSlider)) |
|
6034 newScrollbar.state &= ~(State_Sunken | State_MouseOver); |
|
6035 d->drawScrollbarGrip(painter, &newScrollbar, option, drawCompleteFrame); |
|
6036 } |
|
6037 } |
|
6038 } |
|
6039 painter->restore(); |
|
6040 break; |
|
6041 #endif // QT_NO_SCROLLBAR |
|
6042 case CC_ToolButton: |
|
6043 if (const QStyleOptionToolButton *toolbutton |
|
6044 = qstyleoption_cast<const QStyleOptionToolButton *>(option)) { |
|
6045 QRect button, menuarea; |
|
6046 bool isTabWidget = false; |
|
6047 #ifndef QT_NO_TABWIDGET |
|
6048 if (widget) |
|
6049 if (QWidget *parent = widget->parentWidget()) |
|
6050 isTabWidget = (qobject_cast<QTabWidget *>(parent->parentWidget())); |
|
6051 #endif //QT_NO_TABWIDGET |
|
6052 |
|
6053 button = proxy()->subControlRect(control, toolbutton, SC_ToolButton, widget); |
|
6054 menuarea = proxy()->subControlRect(control, toolbutton, SC_ToolButtonMenu, widget); |
|
6055 State buttonFlags = toolbutton->state; |
|
6056 if (buttonFlags & State_AutoRaise) { |
|
6057 if (!(buttonFlags & State_MouseOver)) { |
|
6058 buttonFlags &= ~State_Raised; |
|
6059 } |
|
6060 } |
|
6061 State menuFlags = buttonFlags; |
|
6062 if (toolbutton->activeSubControls & SC_ToolButton) |
|
6063 buttonFlags |= State_Sunken; |
|
6064 if (toolbutton->activeSubControls & SC_ToolButtonMenu) |
|
6065 menuFlags |= State_On; |
|
6066 QStyleOption tool(0); |
|
6067 tool.palette = toolbutton->palette; |
|
6068 if (toolbutton->subControls & SC_ToolButton) { |
|
6069 tool.rect = button; |
|
6070 tool.state = buttonFlags; |
|
6071 proxy()->drawPrimitive(PE_PanelButtonTool, &tool, painter, widget); |
|
6072 } |
|
6073 if (toolbutton->subControls & SC_ToolButtonMenu) { |
|
6074 tool.rect = menuarea; |
|
6075 tool.state = buttonFlags & State_Enabled; |
|
6076 QStyleOption toolMenu(0); |
|
6077 toolMenu = *toolbutton; |
|
6078 toolMenu.state = menuFlags; |
|
6079 if (buttonFlags & State_Sunken) |
|
6080 proxy()->drawPrimitive(PE_PanelButtonTool, &toolMenu, painter, widget); |
|
6081 QStyleOption arrowOpt(0); |
|
6082 arrowOpt.rect = tool.rect; |
|
6083 arrowOpt.palette = tool.palette; |
|
6084 State flags = State_None; |
|
6085 if (menuFlags & State_Enabled) |
|
6086 flags |= State_Enabled; |
|
6087 if ((menuFlags & State_On) && !(buttonFlags & State_Sunken)) { |
|
6088 flags |= State_Sunken; |
|
6089 painter->fillRect(menuarea, option->palette.shadow()); |
|
6090 } |
|
6091 arrowOpt.state = flags; |
|
6092 proxy()->drawPrimitive(PE_IndicatorArrowDown, &arrowOpt, painter, widget); |
|
6093 } |
|
6094 if (toolbutton->state & State_HasFocus) { |
|
6095 QStyleOptionFocusRect focusRect; |
|
6096 focusRect.QStyleOption::operator=(*toolbutton); |
|
6097 focusRect.rect.adjust(3, 3, -3, -3); |
|
6098 if (toolbutton->features & QStyleOptionToolButton::Menu) |
|
6099 focusRect.rect.adjust(0, 0, -proxy()->pixelMetric(QStyle::PM_MenuButtonIndicator, |
|
6100 toolbutton, widget), 0); |
|
6101 proxy()->drawPrimitive(PE_FrameFocusRect, &focusRect, painter, widget); |
|
6102 } |
|
6103 QStyleOptionToolButton label = *toolbutton; |
|
6104 if (isTabWidget) |
|
6105 label.state = toolbutton->state; |
|
6106 else |
|
6107 label.state = toolbutton->state & State_Enabled; |
|
6108 int fw = proxy()->pixelMetric(PM_DefaultFrameWidth, option, widget); |
|
6109 label.rect = button.adjusted(fw, fw, -fw, -fw); |
|
6110 proxy()->drawControl(CE_ToolButtonLabel, &label, painter, widget); |
|
6111 } |
|
6112 break; |
|
6113 |
|
6114 #ifndef QT_NO_GROUPBOX |
|
6115 case CC_GroupBox: |
|
6116 if (const QStyleOptionGroupBox *groupBox = qstyleoption_cast<const QStyleOptionGroupBox *>(option)) { |
|
6117 // Draw frame |
|
6118 painter->save(); |
|
6119 QFont font = painter->font(); |
|
6120 font.setBold(true); |
|
6121 painter->setFont(font); |
|
6122 QStyleOptionGroupBox groupBoxFont = *groupBox; |
|
6123 groupBoxFont.fontMetrics = QFontMetrics(font); |
|
6124 QRect textRect = proxy()->subControlRect(CC_GroupBox, &groupBoxFont, SC_GroupBoxLabel, widget); |
|
6125 QRect checkBoxRect = proxy()->subControlRect(CC_GroupBox, option, SC_GroupBoxCheckBox, widget).adjusted(0,0,0,0); |
|
6126 if (groupBox->subControls & QStyle::SC_GroupBoxFrame) { |
|
6127 QStyleOptionFrameV2 frame; |
|
6128 frame.QStyleOption::operator=(*groupBox); |
|
6129 frame.features = groupBox->features; |
|
6130 frame.lineWidth = groupBox->lineWidth; |
|
6131 frame.midLineWidth = groupBox->midLineWidth; |
|
6132 frame.rect = proxy()->subControlRect(CC_GroupBox, option, SC_GroupBoxFrame, widget); |
|
6133 painter->save(); |
|
6134 QRegion region(groupBox->rect); |
|
6135 if (!groupBox->text.isEmpty()) { |
|
6136 bool ltr = groupBox->direction == Qt::LeftToRight; |
|
6137 QRect finalRect = checkBoxRect.united(textRect); |
|
6138 if (groupBox->subControls & QStyle::SC_GroupBoxCheckBox) |
|
6139 finalRect.adjust(ltr ? -4 : 0, 0, ltr ? 0 : 4, 0); |
|
6140 region -= finalRect; |
|
6141 } |
|
6142 proxy()->drawPrimitive(PE_FrameGroupBox, &frame, painter, widget); |
|
6143 painter->restore(); |
|
6144 } |
|
6145 // Draw checkbox |
|
6146 if (groupBox->subControls & SC_GroupBoxCheckBox) { |
|
6147 QStyleOptionButton box; |
|
6148 box.QStyleOption::operator=(*groupBox); |
|
6149 box.rect = checkBoxRect; |
|
6150 proxy()->drawPrimitive(PE_IndicatorCheckBox, &box, painter, widget); |
|
6151 } |
|
6152 // Draw title |
|
6153 if ((groupBox->subControls & QStyle::SC_GroupBoxLabel) && !groupBox->text.isEmpty()) { |
|
6154 QColor textColor = groupBox->textColor; |
|
6155 if (textColor.isValid()) |
|
6156 painter->setPen(textColor); |
|
6157 else |
|
6158 painter->setPen(groupBox->palette.link().color()); |
|
6159 painter->setPen(groupBox->palette.link().color()); |
|
6160 |
|
6161 int alignment = int(groupBox->textAlignment); |
|
6162 if (!styleHint(QStyle::SH_UnderlineShortcut, option, widget)) |
|
6163 alignment |= Qt::TextHideMnemonic; |
|
6164 |
|
6165 if (groupBox->state & State_Enabled) |
|
6166 proxy()->drawItemText(painter, textRect, Qt::TextShowMnemonic | Qt::AlignHCenter | alignment, |
|
6167 groupBox->palette, true, groupBox->text, |
|
6168 textColor.isValid() ? QPalette::NoRole : QPalette::Link); |
|
6169 else |
|
6170 proxy()->drawItemText(painter, textRect, Qt::TextShowMnemonic | Qt::AlignHCenter | alignment, |
|
6171 groupBox->palette, true, groupBox->text, QPalette::Mid); |
|
6172 if (groupBox->state & State_HasFocus) { |
|
6173 QStyleOptionFocusRect fropt; |
|
6174 fropt.QStyleOption::operator=(*groupBox); |
|
6175 fropt.rect = textRect; |
|
6176 proxy()->drawPrimitive(PE_FrameFocusRect, &fropt, painter, widget); |
|
6177 } |
|
6178 } |
|
6179 painter->restore(); |
|
6180 } |
|
6181 break; |
|
6182 #endif //QT_NO_GROUPBOX |
|
6183 |
|
6184 #ifndef QT_NO_COMBOBOX |
|
6185 case CC_ComboBox: |
|
6186 if (const QStyleOptionComboBox *cmb = qstyleoption_cast<const QStyleOptionComboBox *>(option)) { |
|
6187 QBrush editBrush = cmb->palette.brush(QPalette::Base); |
|
6188 if ((cmb->subControls & SC_ComboBoxFrame) && cmb->frame) |
|
6189 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(), proxy()->pixelMetric(PM_ComboBoxFrameWidth, option, widget), &editBrush); |
|
6190 else |
|
6191 painter->fillRect(option->rect, editBrush); |
|
6192 State flags = State_None; |
|
6193 QRect ar = proxy()->subControlRect(CC_ComboBox, cmb, SC_ComboBoxArrow, widget); |
|
6194 if ((option->state & State_On)) { |
|
6195 painter->fillRect(ar.adjusted(0, 0, 1, 1),cmb->palette.brush(QPalette::Shadow)); |
|
6196 } |
|
6197 if (d->doubleControls) |
|
6198 ar.adjust(5, 0, 5, 0); |
|
6199 else |
|
6200 ar.adjust(2, 0, -2, 0); |
|
6201 if (option->state & State_Enabled) |
|
6202 flags |= State_Enabled; |
|
6203 if (option->state & State_On) |
|
6204 flags |= State_Sunken; |
|
6205 QStyleOption arrowOpt(0); |
|
6206 arrowOpt.rect = ar; |
|
6207 arrowOpt.palette = cmb->palette; |
|
6208 arrowOpt.state = flags; |
|
6209 proxy()->drawPrimitive(PrimitiveElement(PE_IndicatorArrowDownBig), &arrowOpt, painter, widget); |
|
6210 if (cmb->subControls & SC_ComboBoxEditField) { |
|
6211 QRect re = proxy()->subControlRect(CC_ComboBox, cmb, SC_ComboBoxEditField, widget); |
|
6212 if (cmb->state & State_HasFocus && !cmb->editable) |
|
6213 painter->fillRect(re.x(), re.y(), re.width(), re.height(), |
|
6214 cmb->palette.brush(QPalette::Highlight)); |
|
6215 if (cmb->state & State_HasFocus) { |
|
6216 painter->setPen(cmb->palette.highlightedText().color()); |
|
6217 painter->setBackground(cmb->palette.highlight()); |
|
6218 } else { |
|
6219 painter->setPen(cmb->palette.text().color()); |
|
6220 painter->setBackground(cmb->palette.background()); |
|
6221 } |
|
6222 if (cmb->state & State_HasFocus && !cmb->editable) { |
|
6223 QStyleOptionFocusRect focus; |
|
6224 focus.QStyleOption::operator=(*cmb); |
|
6225 focus.rect = proxy()->subElementRect(SE_ComboBoxFocusRect, cmb, widget); |
|
6226 focus.state |= State_FocusAtBorder; |
|
6227 focus.backgroundColor = cmb->palette.highlight().color(); |
|
6228 if ((option->state & State_On)) |
|
6229 proxy()->drawPrimitive(PE_FrameFocusRect, &focus, painter, widget); |
|
6230 } |
|
6231 } |
|
6232 } |
|
6233 break; |
|
6234 #endif // QT_NO_COMBOBOX |
|
6235 |
|
6236 |
|
6237 #ifndef QT_NO_SPINBOX |
|
6238 case CC_SpinBox: |
|
6239 if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) { |
|
6240 QStyleOptionSpinBox copy = *spinBox; |
|
6241 //PrimitiveElement primitiveElement; |
|
6242 int primitiveElement; |
|
6243 |
|
6244 if (spinBox->frame && (spinBox->subControls & SC_SpinBoxFrame)) { |
|
6245 QRect r = proxy()->subControlRect(CC_SpinBox, spinBox, SC_SpinBoxFrame, widget); |
|
6246 qDrawPlainRect(painter, r, option->palette.shadow().color(), proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget),0); |
|
6247 } |
|
6248 QPalette shadePal(option->palette); |
|
6249 shadePal.setColor(QPalette::Button, option->palette.light().color()); |
|
6250 shadePal.setColor(QPalette::Light, option->palette.base().color()); |
|
6251 if (spinBox->subControls & SC_SpinBoxUp) { |
|
6252 copy.subControls = SC_SpinBoxUp; |
|
6253 QPalette pal2 = spinBox->palette; |
|
6254 if (!(spinBox->stepEnabled & QAbstractSpinBox::StepUpEnabled)) { |
|
6255 pal2.setCurrentColorGroup(QPalette::Disabled); |
|
6256 copy.state &= ~State_Enabled; |
|
6257 } |
|
6258 copy.palette = pal2; |
|
6259 if (spinBox->activeSubControls == SC_SpinBoxUp && (spinBox->state & State_Sunken)) { |
|
6260 copy.state |= State_On; |
|
6261 copy.state |= State_Sunken; |
|
6262 } else { |
|
6263 copy.state |= State_Raised; |
|
6264 copy.state &= ~State_Sunken; |
|
6265 } |
|
6266 primitiveElement = (spinBox->buttonSymbols == QAbstractSpinBox::PlusMinus ? PE_IndicatorArrowUpBig |
|
6267 : PE_IndicatorArrowUpBig); |
|
6268 copy.rect = proxy()->subControlRect(CC_SpinBox, spinBox, SC_SpinBoxUp, widget); |
|
6269 if (copy.state & (State_Sunken | State_On)) |
|
6270 qDrawPlainRect(painter, copy.rect, option->palette.shadow().color(), proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget), ©.palette.brush(QPalette::Shadow)); |
|
6271 else |
|
6272 qDrawPlainRect(painter, copy.rect, option->palette.shadow().color(), proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget), ©.palette.brush(QPalette::Base)); |
|
6273 copy.rect.adjust(proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget), 0, -pixelMetric(PM_SpinBoxFrameWidth, option, widget), 0); |
|
6274 proxy()->drawPrimitive(PrimitiveElement(primitiveElement), ©, painter, widget); |
|
6275 } |
|
6276 if (spinBox->subControls & SC_SpinBoxDown) { |
|
6277 copy.subControls = SC_SpinBoxDown; |
|
6278 copy.state = spinBox->state; |
|
6279 QPalette pal2 = spinBox->palette; |
|
6280 if (!(spinBox->stepEnabled & QAbstractSpinBox::StepDownEnabled)) { |
|
6281 pal2.setCurrentColorGroup(QPalette::Disabled); |
|
6282 copy.state &= ~State_Enabled; |
|
6283 } |
|
6284 copy.palette = pal2; |
|
6285 if (spinBox->activeSubControls == SC_SpinBoxDown && (spinBox->state & State_Sunken)) { |
|
6286 copy.state |= State_On; |
|
6287 copy.state |= State_Sunken; |
|
6288 } else { |
|
6289 copy.state |= State_Raised; |
|
6290 copy.state &= ~State_Sunken; |
|
6291 } |
|
6292 primitiveElement = (spinBox->buttonSymbols == QAbstractSpinBox::PlusMinus ? PE_IndicatorArrowDownBig |
|
6293 : PE_IndicatorArrowDownBig); |
|
6294 copy.rect = proxy()->subControlRect(CC_SpinBox, spinBox, SC_SpinBoxDown, widget); |
|
6295 qDrawPlainRect(painter, copy.rect, option->palette.shadow().color(), proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget), ©.palette.brush(QPalette::Base)); |
|
6296 if (copy.state & (State_Sunken | State_On)) |
|
6297 qDrawPlainRect(painter, copy.rect, option->palette.shadow().color(), proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget), ©.palette.brush(QPalette::Shadow)); |
|
6298 else |
|
6299 qDrawPlainRect(painter, copy.rect, option->palette.shadow().color(), proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget), ©.palette.brush(QPalette::Base)); |
|
6300 copy.rect.adjust(3, 0, -4, 0); |
|
6301 if (primitiveElement == PE_IndicatorArrowUp || primitiveElement == PE_IndicatorArrowDown) { |
|
6302 int frameWidth = proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget); |
|
6303 copy.rect = copy.rect.adjusted(frameWidth, frameWidth, -frameWidth, -frameWidth); |
|
6304 proxy()->drawPrimitive(PrimitiveElement(primitiveElement), ©, painter, widget); |
|
6305 } |
|
6306 else { |
|
6307 proxy()->drawPrimitive(PrimitiveElement(primitiveElement), ©, painter, widget); |
|
6308 } |
|
6309 if (spinBox->frame && (spinBox->subControls & SC_SpinBoxFrame)) { |
|
6310 QRect r = proxy()->subControlRect(CC_SpinBox, spinBox, SC_SpinBoxEditField, widget); |
|
6311 } |
|
6312 } |
|
6313 } |
|
6314 break; |
|
6315 #endif // QT_NO_SPINBOX |
|
6316 |
|
6317 default: |
|
6318 QWindowsStyle::drawComplexControl(control, option, painter, widget); |
|
6319 break; |
|
6320 } |
|
6321 } |
|
6322 |
|
6323 QSize QWindowsMobileStyle::sizeFromContents(ContentsType type, const QStyleOption *option, |
|
6324 const QSize &size, const QWidget *widget) const { |
|
6325 |
|
6326 QSize newSize = QWindowsStyle::sizeFromContents(type, option, size, widget); |
|
6327 switch (type) { |
|
6328 case CT_PushButton: |
|
6329 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
|
6330 newSize = QWindowsStyle::sizeFromContents(type, option, size, widget); |
|
6331 int w = newSize.width(), |
|
6332 h = newSize.height(); |
|
6333 int defwidth = 0; |
|
6334 if (button->features & QStyleOptionButton::AutoDefaultButton) |
|
6335 defwidth = 2 * proxy()->pixelMetric(PM_ButtonDefaultIndicator, button, widget); |
|
6336 if (w < 75 + defwidth && button->icon.isNull()) |
|
6337 w = 75 + defwidth; |
|
6338 if (h < 23 + defwidth) |
|
6339 h = 23 + defwidth; |
|
6340 newSize = QSize(w + 4, h + 4); |
|
6341 } |
|
6342 break; |
|
6343 |
|
6344 #ifndef QT_NO_GROUPBOX |
|
6345 case CT_GroupBox: |
|
6346 if (const QGroupBox *grb = static_cast<const QGroupBox *>(widget)) { |
|
6347 newSize = size + QSize(!grb->isFlat() ? 16 : 0, !grb->isFlat() ? 16 : 0); |
|
6348 } |
|
6349 break; |
|
6350 #endif // QT_NO_GROUPBOX |
|
6351 |
|
6352 case CT_RadioButton: |
|
6353 case CT_CheckBox: |
|
6354 newSize = size; |
|
6355 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
|
6356 bool isRadio = (type == CT_RadioButton); |
|
6357 QRect irect = visualRect(button->direction, button->rect, |
|
6358 proxy()->subElementRect(isRadio ? SE_RadioButtonIndicator |
|
6359 : SE_CheckBoxIndicator, button, widget)); |
|
6360 int h = proxy()->pixelMetric(isRadio ? PM_ExclusiveIndicatorHeight |
|
6361 : PM_IndicatorHeight, button, widget); |
|
6362 int margins = (!button->icon.isNull() && button->text.isEmpty()) ? 0 : 10; |
|
6363 if (d_func()->doubleControls) |
|
6364 margins *= 2; |
|
6365 newSize += QSize(irect.right() + margins, 1); |
|
6366 newSize.setHeight(qMax(newSize.height(), h)); |
|
6367 } |
|
6368 break; |
|
6369 #ifndef QT_NO_COMBOBOX |
|
6370 case CT_ComboBox: |
|
6371 if (const QStyleOptionComboBox *comboBox = qstyleoption_cast<const QStyleOptionComboBox *>(option)) { |
|
6372 int fw = comboBox->frame ? proxy()->pixelMetric(PM_ComboBoxFrameWidth, option, widget) * 2 : 0; |
|
6373 newSize = QSize(newSize.width() + fw + 9, newSize.height() + fw); //Nine is a magic Number - See CommonStyle for real magic (23) |
|
6374 } |
|
6375 break; |
|
6376 #endif |
|
6377 #ifndef QT_NO_SPINBOX |
|
6378 case CT_SpinBox: |
|
6379 if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) { |
|
6380 int fw = spinBox->frame ? proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget) * 2 : 0; |
|
6381 newSize = QSize(newSize.width() + fw-5, newSize.height() + fw-6); |
|
6382 } |
|
6383 break; |
|
6384 #endif |
|
6385 #ifndef QT_NO_LINEEDIT |
|
6386 case CT_LineEdit: |
|
6387 newSize += QSize(0,1); |
|
6388 break; |
|
6389 #endif |
|
6390 case CT_ToolButton: |
|
6391 newSize = QSize(newSize.width() + 1, newSize.height()); |
|
6392 break; |
|
6393 case CT_TabBarTab: |
|
6394 if (d_func()->doubleControls) |
|
6395 newSize = QSize(newSize.width(), 42); |
|
6396 else |
|
6397 newSize = QSize(newSize.width(), 21); |
|
6398 break; |
|
6399 case CT_HeaderSection: |
|
6400 newSize += QSize(4, 2); |
|
6401 break; |
|
6402 #ifndef QT_NO_ITEMVIEWS |
|
6403 #ifdef Q_WS_WINCE_WM |
|
6404 case CT_ItemViewItem: |
|
6405 if (d_func()->wm65) |
|
6406 if (d_func()->doubleControls) |
|
6407 newSize.setHeight(46); |
|
6408 else |
|
6409 newSize.setHeight(23); |
|
6410 break; |
|
6411 #endif //Q_WS_WINCE_WM |
|
6412 #endif //QT_NO_ITEMVIEWS |
|
6413 default: |
|
6414 break; |
|
6415 } |
|
6416 return newSize; |
|
6417 } |
|
6418 |
|
6419 QRect QWindowsMobileStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const { |
|
6420 |
|
6421 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
6422 QRect rect = QWindowsStyle::subElementRect(element, option, widget); |
|
6423 switch (element) { |
|
6424 #ifndef QT_NO_TABWIDGET |
|
6425 case SE_TabWidgetTabBar: |
|
6426 if (d->doubleControls) |
|
6427 rect.adjust(-2, 0, 2, 0); |
|
6428 else |
|
6429 rect.adjust(-2, 0, 2, 0); |
|
6430 break; |
|
6431 #endif //QT_NO_TABWIDGET |
|
6432 case SE_CheckBoxFocusRect: |
|
6433 rect.adjust(1,0,-2,-1); |
|
6434 break; |
|
6435 case SE_RadioButtonFocusRect: |
|
6436 rect.adjust(1,1,-2,-2); |
|
6437 break; |
|
6438 default: |
|
6439 break; |
|
6440 #ifndef QT_NO_SLIDER |
|
6441 case SE_SliderFocusRect: |
|
6442 if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(option)) { |
|
6443 rect = slider->rect; |
|
6444 } |
|
6445 break; |
|
6446 case SE_PushButtonFocusRect: |
|
6447 if (d->doubleControls) |
|
6448 rect.adjust(-1, -1, 0, 0); |
|
6449 break; |
|
6450 #endif // QT_NO_SLIDER |
|
6451 #ifndef QT_NO_ITEMVIEWS |
|
6452 case SE_ItemViewItemFocusRect: |
|
6453 #ifdef Q_WS_WINCE_WM |
|
6454 if (d->wm65) |
|
6455 rect = QRect(); |
|
6456 #endif |
|
6457 break; |
|
6458 #endif //QT_NO_ITEMVIEWS |
|
6459 } |
|
6460 return rect; |
|
6461 } |
|
6462 |
|
6463 QRect QWindowsMobileStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option, |
|
6464 SubControl subControl, const QWidget *widget) const { |
|
6465 |
|
6466 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
6467 |
|
6468 QRect rect = QCommonStyle::subControlRect(control, option, subControl, widget); |
|
6469 switch (control) { |
|
6470 |
|
6471 #ifndef QT_NO_SCROLLBAR |
|
6472 case CC_ScrollBar: |
|
6473 if (const QStyleOptionSlider *scrollbar = qstyleoption_cast<const QStyleOptionSlider *>(option)) { |
|
6474 int sliderButtonExtent = proxy()->pixelMetric(PM_ScrollBarExtent, scrollbar, widget); |
|
6475 float stretchFactor = 1.4f; |
|
6476 int sliderButtonExtentDir = int (sliderButtonExtent * stretchFactor); |
|
6477 |
|
6478 #ifdef Q_WS_WINCE_WM |
|
6479 if (d->wm65) |
|
6480 { |
|
6481 sliderButtonExtent = d->imageScrollbarHandleUp.width(); |
|
6482 sliderButtonExtentDir = d->imageScrollbarHandleUp.height(); |
|
6483 } |
|
6484 #endif //Q_WS_WINCE_WM |
|
6485 |
|
6486 int sliderlen; |
|
6487 int maxlen = ((scrollbar->orientation == Qt::Horizontal) ? |
|
6488 scrollbar->rect.width() : scrollbar->rect.height()) - (sliderButtonExtentDir * 2); |
|
6489 // calculate slider length |
|
6490 if (scrollbar->maximum != scrollbar->minimum) { |
|
6491 uint range = scrollbar->maximum - scrollbar->minimum; |
|
6492 sliderlen = (qint64(scrollbar->pageStep) * maxlen) / (range + scrollbar->pageStep); |
|
6493 |
|
6494 int slidermin = proxy()->pixelMetric(PM_ScrollBarSliderMin, scrollbar, widget); |
|
6495 if (sliderlen < slidermin || range > INT_MAX / 2) |
|
6496 sliderlen = slidermin; |
|
6497 if (sliderlen > maxlen) |
|
6498 sliderlen = maxlen; |
|
6499 } else { |
|
6500 sliderlen = maxlen; |
|
6501 } |
|
6502 int sliderstart = sliderButtonExtentDir + sliderPositionFromValue(scrollbar->minimum, |
|
6503 scrollbar->maximum, |
|
6504 scrollbar->sliderPosition, |
|
6505 maxlen - sliderlen, |
|
6506 scrollbar->upsideDown); |
|
6507 if (d->smartphone) { |
|
6508 sliderstart -= sliderButtonExtentDir; |
|
6509 sliderlen += 2*sliderButtonExtent; |
|
6510 } |
|
6511 switch (subControl) { |
|
6512 case SC_ScrollBarSubLine: // top/left button |
|
6513 if (scrollbar->orientation == Qt::Horizontal) { |
|
6514 int buttonWidth = qMin(scrollbar->rect.width() / 2, sliderButtonExtentDir ); |
|
6515 rect.setRect(0, 0, buttonWidth, sliderButtonExtent); |
|
6516 } else { |
|
6517 int buttonHeight = qMin(scrollbar->rect.height() / 2, sliderButtonExtentDir); |
|
6518 rect.setRect(0, 0, sliderButtonExtent, buttonHeight); |
|
6519 } |
|
6520 if (d->smartphone) |
|
6521 rect.setRect(0, 0, 0, 0); |
|
6522 break; |
|
6523 case SC_ScrollBarAddLine: // bottom/right button |
|
6524 if (scrollbar->orientation == Qt::Horizontal) { |
|
6525 int buttonWidth = qMin(scrollbar->rect.width()/2, sliderButtonExtentDir); |
|
6526 rect.setRect(scrollbar->rect.width() - buttonWidth, 0, buttonWidth, sliderButtonExtent); |
|
6527 } else { |
|
6528 int buttonHeight = qMin(scrollbar->rect.height()/2, sliderButtonExtentDir ); |
|
6529 rect.setRect(0, scrollbar->rect.height() - buttonHeight, sliderButtonExtent, buttonHeight); |
|
6530 } |
|
6531 if (d->smartphone) |
|
6532 rect.setRect(0, 0, 0, 0); |
|
6533 break; |
|
6534 case SC_ScrollBarSubPage: // between top/left button and slider |
|
6535 if (scrollbar->orientation == Qt::Horizontal) |
|
6536 if (d->smartphone) |
|
6537 rect.setRect(0, 0, sliderstart, sliderButtonExtent); |
|
6538 else |
|
6539 rect.setRect(sliderButtonExtent, 0, sliderstart - sliderButtonExtent, sliderButtonExtent); |
|
6540 else |
|
6541 if (d->smartphone) |
|
6542 rect.setRect(0, 0, sliderButtonExtent, sliderstart); |
|
6543 else |
|
6544 rect.setRect(0, sliderButtonExtent, sliderButtonExtent, sliderstart - sliderButtonExtent); |
|
6545 break; |
|
6546 case SC_ScrollBarAddPage: // between bottom/right button and slider |
|
6547 if (scrollbar->orientation == Qt::Horizontal) |
|
6548 if (d->smartphone) |
|
6549 rect.setRect(sliderstart + sliderlen, 0, |
|
6550 maxlen - sliderstart - sliderlen + 2*sliderButtonExtent, sliderButtonExtent); |
|
6551 else |
|
6552 rect.setRect(sliderstart + sliderlen, 0, |
|
6553 maxlen - sliderstart - sliderlen + sliderButtonExtent, sliderButtonExtent); |
|
6554 else |
|
6555 if (d->smartphone) |
|
6556 rect.setRect(0, sliderstart + sliderlen, sliderButtonExtent, |
|
6557 maxlen - sliderstart - sliderlen + 2*sliderButtonExtent); |
|
6558 else |
|
6559 rect.setRect(0, sliderstart + sliderlen, sliderButtonExtent, |
|
6560 maxlen - sliderstart - sliderlen + sliderButtonExtent); |
|
6561 break; |
|
6562 case SC_ScrollBarGroove: |
|
6563 if (scrollbar->orientation == Qt::Horizontal) |
|
6564 rect.setRect(sliderButtonExtent, 0, scrollbar->rect.width() - sliderButtonExtent * 2, |
|
6565 scrollbar->rect.height()); |
|
6566 else |
|
6567 rect.setRect(0, sliderButtonExtent, scrollbar->rect.width(), |
|
6568 scrollbar->rect.height() - sliderButtonExtent * 2); |
|
6569 break; |
|
6570 case SC_ScrollBarSlider: |
|
6571 if (scrollbar->orientation == Qt::Horizontal) |
|
6572 rect.setRect(sliderstart, 0, sliderlen, sliderButtonExtent); |
|
6573 else |
|
6574 rect.setRect(0, sliderstart, sliderButtonExtent, sliderlen); |
|
6575 break; |
|
6576 default: |
|
6577 break; |
|
6578 } |
|
6579 rect = visualRect(scrollbar->direction, scrollbar->rect, rect); |
|
6580 } |
|
6581 break; |
|
6582 #endif // QT_NO_SCROLLBAR |
|
6583 |
|
6584 |
|
6585 |
|
6586 #ifndef QT_NO_TOOLBUTTON |
|
6587 case CC_ToolButton: |
|
6588 if (const QStyleOptionToolButton *toolButton = qstyleoption_cast<const QStyleOptionToolButton *>(option)) { |
|
6589 int mbi = proxy()->pixelMetric(PM_MenuButtonIndicator, toolButton, widget); |
|
6590 rect = toolButton->rect; |
|
6591 switch (subControl) { |
|
6592 case SC_ToolButton: |
|
6593 if ((toolButton->features |
|
6594 & (QStyleOptionToolButton::Menu | QStyleOptionToolButton::PopupDelay)) |
|
6595 == QStyleOptionToolButton::Menu) |
|
6596 rect.adjust(0, 0, -mbi, 0); |
|
6597 break; |
|
6598 case SC_ToolButtonMenu: |
|
6599 if ((toolButton->features |
|
6600 & (QStyleOptionToolButton::Menu | QStyleOptionToolButton::PopupDelay)) |
|
6601 == QStyleOptionToolButton::Menu) |
|
6602 rect.adjust(rect.width() - mbi, 1, 0, 1); |
|
6603 break; |
|
6604 default: |
|
6605 break; |
|
6606 } |
|
6607 rect = visualRect(toolButton->direction, toolButton->rect, rect); |
|
6608 } |
|
6609 break; |
|
6610 #endif // QT_NO_TOOLBUTTON |
|
6611 |
|
6612 #ifndef QT_NO_SLIDER |
|
6613 case CC_Slider: |
|
6614 if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(option)) { |
|
6615 int tickOffset = proxy()->pixelMetric(PM_SliderTickmarkOffset, slider, widget); |
|
6616 int thickness = proxy()->pixelMetric(PM_SliderControlThickness, slider, widget); |
|
6617 switch (subControl) { |
|
6618 case SC_SliderHandle: { |
|
6619 int sliderPos = 0; |
|
6620 int len = proxy()->pixelMetric(PM_SliderLength, slider, widget); |
|
6621 bool horizontal = slider->orientation == Qt::Horizontal; |
|
6622 sliderPos = sliderPositionFromValue(slider->minimum, slider->maximum, |
|
6623 slider->sliderPosition, |
|
6624 (horizontal ? slider->rect.width() |
|
6625 : slider->rect.height()) - len, |
|
6626 slider->upsideDown); |
|
6627 if (horizontal) |
|
6628 rect.setRect(slider->rect.x() + sliderPos, slider->rect.y() + tickOffset, len, thickness); |
|
6629 else |
|
6630 rect.setRect(slider->rect.x() + tickOffset, slider->rect.y() + sliderPos, thickness, len); |
|
6631 break; } |
|
6632 default: |
|
6633 break; |
|
6634 } |
|
6635 rect = visualRect(slider->direction, slider->rect, rect); |
|
6636 } |
|
6637 break; |
|
6638 #endif //QT_NO_SLIDER |
|
6639 #ifndef QT_NO_COMBOBOX |
|
6640 case CC_ComboBox: |
|
6641 if (const QStyleOptionComboBox *comboBox = qstyleoption_cast<const QStyleOptionComboBox *>(option)) { |
|
6642 int x = comboBox->rect.x(), |
|
6643 y = comboBox->rect.y(), |
|
6644 wi = comboBox->rect.width(), |
|
6645 he = comboBox->rect.height(); |
|
6646 int xpos = x; |
|
6647 int margin = comboBox->frame ? (d->doubleControls ? 2 : 1) : 0; |
|
6648 int bmarg = comboBox->frame ? (d->doubleControls ? 2 : 1) : 0; |
|
6649 if (subControl == SC_ComboBoxArrow) |
|
6650 xpos += wi - int((he - 2*bmarg)*0.9) - bmarg; |
|
6651 else |
|
6652 xpos += wi - (he - 2*bmarg) - bmarg; |
|
6653 switch (subControl) { |
|
6654 case SC_ComboBoxArrow: |
|
6655 rect.setRect(xpos, y + bmarg, he - 2*bmarg, he - 2*bmarg); |
|
6656 break; |
|
6657 case SC_ComboBoxEditField: |
|
6658 rect.setRect(x + margin, y + margin, wi - 2 * margin - int((he - 2*bmarg) * 0.84f), he - 2 * margin); |
|
6659 if (d->doubleControls) { |
|
6660 if (comboBox->editable) |
|
6661 rect.adjust(2, 0, 0, 0); |
|
6662 else |
|
6663 rect.adjust(4, 2, 0, -2); |
|
6664 } else if (!comboBox->editable) { |
|
6665 rect.adjust(2, 1, 0, -1); |
|
6666 } |
|
6667 break; |
|
6668 case SC_ComboBoxFrame: |
|
6669 rect = comboBox->rect; |
|
6670 break; |
|
6671 default: |
|
6672 break; |
|
6673 } |
|
6674 } |
|
6675 #endif //QT_NO_COMBOBOX |
|
6676 #ifndef QT_NO_SPINBOX |
|
6677 case CC_SpinBox: |
|
6678 if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) { |
|
6679 QSize bs; |
|
6680 int fw = spinBox->frame ? proxy()->pixelMetric(PM_SpinBoxFrameWidth, spinBox, widget) : 0; |
|
6681 bs.setHeight(qMax(d->doubleControls ? 28 : 14, (spinBox->rect.height()))); |
|
6682 // 1.6 -approximate golden mean |
|
6683 bs.setWidth(qMax(d->doubleControls ? 28 : 14, qMin((bs.height()*7/8), (spinBox->rect.width() / 8)))); |
|
6684 bs = bs.expandedTo(QApplication::globalStrut()); |
|
6685 int x, lx, rx; |
|
6686 x = spinBox->rect.width() - bs.width()*2; |
|
6687 lx = fw; |
|
6688 rx = x - fw; |
|
6689 switch (subControl) { |
|
6690 case SC_SpinBoxUp: |
|
6691 rect = QRect(x + proxy()->pixelMetric(PM_SpinBoxFrameWidth, option, widget), 0 , bs.width(), bs.height()); |
|
6692 break; |
|
6693 case SC_SpinBoxDown: |
|
6694 rect = QRect(x + bs.width(), 0, bs.width(), bs.height()); |
|
6695 break; |
|
6696 case SC_SpinBoxEditField: |
|
6697 if (spinBox->buttonSymbols == QAbstractSpinBox::NoButtons) { |
|
6698 rect = QRect(lx, fw, spinBox->rect.width() - 2*fw - 2, spinBox->rect.height() - 2*fw); |
|
6699 } else { |
|
6700 rect = QRect(lx, fw, rx-2, spinBox->rect.height() - 2*fw); |
|
6701 } |
|
6702 break; |
|
6703 case SC_SpinBoxFrame: |
|
6704 rect = spinBox->rect; |
|
6705 default: |
|
6706 break; |
|
6707 } |
|
6708 rect = visualRect(spinBox->direction, spinBox->rect, rect); |
|
6709 } |
|
6710 break; |
|
6711 #endif // Qt_NO_SPINBOX |
|
6712 #ifndef QT_NO_GROUPBOX |
|
6713 case CC_GroupBox: { |
|
6714 if (const QStyleOptionGroupBox *groupBox = qstyleoption_cast<const QStyleOptionGroupBox *>(option)) { |
|
6715 switch (subControl) { |
|
6716 case SC_GroupBoxFrame: |
|
6717 // FALL THROUGH |
|
6718 case SC_GroupBoxContents: { |
|
6719 int topMargin = 0; |
|
6720 int topHeight = 0; |
|
6721 int bottomMargin = 0; |
|
6722 int labelMargin = 2; |
|
6723 |
|
6724 QRect frameRect = groupBox->rect; |
|
6725 int verticalAlignment = styleHint(SH_GroupBox_TextLabelVerticalAlignment, groupBox, widget); |
|
6726 if (groupBox->text.size()) { |
|
6727 topHeight = groupBox->fontMetrics.height(); |
|
6728 if (verticalAlignment & Qt::AlignVCenter) |
|
6729 topMargin = topHeight+5; |
|
6730 else if (verticalAlignment & Qt::AlignTop) |
|
6731 topMargin = -topHeight+5; |
|
6732 } |
|
6733 if (subControl == SC_GroupBoxFrame) { |
|
6734 frameRect.setTop(topMargin); |
|
6735 frameRect.setBottom(frameRect.height() + bottomMargin); |
|
6736 rect = frameRect; |
|
6737 break; |
|
6738 } |
|
6739 int frameWidth = 0; |
|
6740 if (groupBox->text.size()) { |
|
6741 frameWidth = proxy()->pixelMetric(PM_DefaultFrameWidth, groupBox, widget); |
|
6742 rect = frameRect.adjusted(frameWidth, frameWidth + topHeight + labelMargin, -frameWidth, -frameWidth); |
|
6743 } |
|
6744 else { |
|
6745 rect = groupBox->rect; |
|
6746 } |
|
6747 break; |
|
6748 } |
|
6749 case SC_GroupBoxCheckBox: |
|
6750 // FALL THROUGH |
|
6751 case SC_GroupBoxLabel: { |
|
6752 QFontMetrics fontMetrics = groupBox->fontMetrics; |
|
6753 int h = fontMetrics.height(); |
|
6754 int textWidth = fontMetrics.size(Qt::TextShowMnemonic, groupBox->text + QLatin1Char(' ')).width(); |
|
6755 int margX = (groupBox->features & QStyleOptionFrameV2::Flat) ? 0 : 2; |
|
6756 int margY = (groupBox->features & QStyleOptionFrameV2::Flat) ? 0 : 2; |
|
6757 rect = groupBox->rect.adjusted(margX, margY, -margX, 0); |
|
6758 if (groupBox->text.size()) |
|
6759 rect.setHeight(h); |
|
6760 else |
|
6761 rect.setHeight(0); |
|
6762 int indicatorWidth = proxy()->pixelMetric(PM_IndicatorWidth, option, widget); |
|
6763 int indicatorSpace = proxy()->pixelMetric(PM_CheckBoxLabelSpacing, option, widget) - 1; |
|
6764 bool hasCheckBox = groupBox->subControls & QStyle::SC_GroupBoxCheckBox; |
|
6765 int checkBoxSize = hasCheckBox ? (indicatorWidth + indicatorSpace) : 0; |
|
6766 |
|
6767 // Adjusted rect for label + indicatorWidth + indicatorSpace |
|
6768 QRect totalRect = alignedRect(groupBox->direction, groupBox->textAlignment, |
|
6769 QSize(textWidth + checkBoxSize, h), rect); |
|
6770 |
|
6771 // Adjust totalRect if checkbox is set |
|
6772 if (hasCheckBox) { |
|
6773 bool ltr = groupBox->direction == Qt::LeftToRight; |
|
6774 int left = 2; |
|
6775 // Adjust for check box |
|
6776 if (subControl == SC_GroupBoxCheckBox) { |
|
6777 int indicatorHeight = proxy()->pixelMetric(PM_IndicatorHeight, option, widget); |
|
6778 left = ltr ? totalRect.left() : (totalRect.right() - indicatorWidth); |
|
6779 int top = totalRect.top() + (fontMetrics.height() - indicatorHeight) / 2; |
|
6780 totalRect.setRect(left, top, indicatorWidth, indicatorHeight); |
|
6781 // Adjust for label |
|
6782 } else { |
|
6783 left = ltr ? (totalRect.left() + checkBoxSize - 2) : totalRect.left(); |
|
6784 totalRect.setRect(left, totalRect.top(), |
|
6785 totalRect.width() - checkBoxSize, totalRect.height()); |
|
6786 } |
|
6787 } |
|
6788 if ((subControl== SC_GroupBoxLabel)) |
|
6789 totalRect.adjust(-2,0,6,0); |
|
6790 rect = totalRect; |
|
6791 break; |
|
6792 } |
|
6793 default: |
|
6794 break; |
|
6795 } |
|
6796 } |
|
6797 break; |
|
6798 } |
|
6799 #endif // QT_NO_GROUPBOX |
|
6800 default: |
|
6801 break; |
|
6802 } |
|
6803 return rect; |
|
6804 } |
|
6805 |
|
6806 QPalette QWindowsMobileStyle::standardPalette() const { |
|
6807 QPalette palette (Qt::black,QColor(198, 195, 198), QColor(222, 223, 222 ), |
|
6808 QColor(132, 130, 132), QColor(198, 195, 198), Qt::black, Qt::white, Qt::white, QColor(198, 195, 198)); |
|
6809 palette.setColor(QPalette::Window, QColor(206, 223, 239)); |
|
6810 palette.setColor(QPalette::Link, QColor(8,77,123)); //Alternate TextColor for labels... |
|
6811 palette.setColor(QPalette::Base, Qt::white); |
|
6812 palette.setColor(QPalette::Button, QColor(206, 223, 239)); |
|
6813 palette.setColor(QPalette::Highlight, QColor(49, 146, 214)); |
|
6814 palette.setColor(QPalette::Light, Qt::white); |
|
6815 palette.setColor(QPalette::Text, Qt::black); |
|
6816 palette.setColor(QPalette::ButtonText, Qt::black); |
|
6817 palette.setColor(QPalette::Midlight, QColor(222, 223, 222 )); |
|
6818 palette.setColor(QPalette::Dark, QColor(132, 130, 132)); |
|
6819 palette.setColor(QPalette::Mid, QColor(189, 190, 189)); |
|
6820 palette.setColor(QPalette::Shadow, QColor(0, 0, 0)); |
|
6821 palette.setColor(QPalette::BrightText, QColor(33, 162, 33)); //color for ItemView checked indicator (arrow) |
|
6822 return palette; |
|
6823 } |
|
6824 |
|
6825 |
|
6826 /*! \reimp */ |
|
6827 void QWindowsMobileStyle::polish(QApplication *application) { |
|
6828 QWindowsStyle::polish(application); |
|
6829 } |
|
6830 |
|
6831 /*! \reimp */ |
|
6832 void QWindowsMobileStyle::polish(QWidget *widget) { |
|
6833 |
|
6834 #ifndef QT_NO_TOOLBAR |
|
6835 if (QToolBar *toolBar = qobject_cast<QToolBar*>(widget)) { |
|
6836 QPalette pal = toolBar->palette(); |
|
6837 pal.setColor(QPalette::Background, pal.button().color()); |
|
6838 toolBar->setPalette(pal); |
|
6839 } |
|
6840 else |
|
6841 #endif //QT_NO_TOOLBAR |
|
6842 |
|
6843 #ifndef QT_NO_PROPERTIES |
|
6844 if (QAbstractButton *pushButton = qobject_cast<QAbstractButton*>(widget)) { |
|
6845 QVariant oldFont = widget->property("_q_styleWindowsMobileFont"); |
|
6846 if (!oldFont.isValid()) { |
|
6847 QFont f = pushButton->font(); |
|
6848 widget->setProperty("_q_styleWindowsMobileFont", f); |
|
6849 f.setBold(true); |
|
6850 int p = f.pointSize(); |
|
6851 if (p > 2) |
|
6852 f.setPointSize(p-1); |
|
6853 pushButton->setFont(f); |
|
6854 } |
|
6855 } |
|
6856 #endif |
|
6857 QWindowsStyle::polish(widget); |
|
6858 } |
|
6859 |
|
6860 void QWindowsMobileStyle::unpolish(QWidget *widget) |
|
6861 { |
|
6862 #ifndef QT_NO_PROPERTIES |
|
6863 if (QAbstractButton *pushButton = qobject_cast<QAbstractButton*>(widget)) { |
|
6864 QVariant oldFont = widget->property("_q_styleWindowsMobileFont"); |
|
6865 if (oldFont.isValid()) { |
|
6866 widget->setFont(qVariantValue<QFont>(oldFont)); |
|
6867 widget->setProperty("_q_styleWindowsMobileFont", QVariant()); |
|
6868 } |
|
6869 } |
|
6870 #endif |
|
6871 QWindowsStyle::unpolish(widget); |
|
6872 } |
|
6873 |
|
6874 void QWindowsMobileStyle::unpolish(QApplication *app) |
|
6875 { |
|
6876 QWindowsStyle::unpolish(app); |
|
6877 } |
|
6878 |
|
6879 /*! \reimp */ |
|
6880 void QWindowsMobileStyle::polish(QPalette &palette) { |
|
6881 QWindowsStyle::polish(palette); |
|
6882 } |
|
6883 |
|
6884 int QWindowsMobileStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QWidget *widget) const { |
|
6885 |
|
6886 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
6887 int ret; |
|
6888 |
|
6889 switch (pm) { |
|
6890 case PM_DefaultTopLevelMargin: |
|
6891 ret =0; |
|
6892 break; |
|
6893 case PM_DefaultLayoutSpacing: |
|
6894 d->doubleControls ? ret = 8 : ret = 4; |
|
6895 break; |
|
6896 case PM_HeaderMargin: |
|
6897 d->doubleControls ? ret = 2 : ret = 1; |
|
6898 break; |
|
6899 case PM_DefaultChildMargin: |
|
6900 d->doubleControls ? ret = 10 : ret = 5; |
|
6901 break; |
|
6902 case PM_ToolBarSeparatorExtent: |
|
6903 d->doubleControls ? ret = 6 : ret = 3; |
|
6904 break; |
|
6905 case PM_DefaultFrameWidth: |
|
6906 d->doubleControls ? ret = 2 : ret = 1; |
|
6907 break; |
|
6908 case PM_MenuVMargin: |
|
6909 ret = 1; |
|
6910 break; |
|
6911 case PM_MenuHMargin: |
|
6912 ret = 1; |
|
6913 break; |
|
6914 case PM_MenuButtonIndicator: |
|
6915 ret = d->doubleControls ? 24 : 14; |
|
6916 break; |
|
6917 case PM_ComboBoxFrameWidth: |
|
6918 d->doubleControls ? ret = 2 : ret = 1; |
|
6919 break; |
|
6920 case PM_SpinBoxFrameWidth: |
|
6921 d->doubleControls ? ret = 2 : ret = 1; |
|
6922 break; |
|
6923 case PM_ButtonDefaultIndicator: |
|
6924 case PM_ButtonShiftHorizontal: |
|
6925 case PM_ButtonShiftVertical: |
|
6926 d->doubleControls ? ret = 2 : ret = 1; |
|
6927 break; |
|
6928 #ifndef QT_NO_TABBAR |
|
6929 case PM_TabBarTabShiftHorizontal: |
|
6930 ret = 0; |
|
6931 break; |
|
6932 case PM_TabBarTabShiftVertical: |
|
6933 ret = 0; |
|
6934 break; |
|
6935 #endif |
|
6936 case PM_MaximumDragDistance: |
|
6937 ret = 60; |
|
6938 break; |
|
6939 case PM_TabBarTabVSpace: |
|
6940 ret = d->doubleControls ? 12 : 6; |
|
6941 break; |
|
6942 case PM_TabBarBaseHeight: |
|
6943 ret = 0; |
|
6944 break; |
|
6945 case PM_IndicatorWidth: |
|
6946 ret = d->doubleControls ? windowsMobileIndicatorSize * 2 : windowsMobileIndicatorSize; |
|
6947 break; |
|
6948 case PM_IndicatorHeight: |
|
6949 ret = d->doubleControls ? windowsMobileIndicatorSize * 2 : windowsMobileIndicatorSize; |
|
6950 break; |
|
6951 case PM_ExclusiveIndicatorWidth: |
|
6952 ret = d->doubleControls ? windowsMobileExclusiveIndicatorSize * 2 + 4: windowsMobileExclusiveIndicatorSize + 2; |
|
6953 break; |
|
6954 case PM_ExclusiveIndicatorHeight: |
|
6955 ret = d->doubleControls ? windowsMobileExclusiveIndicatorSize * 2 + 4: windowsMobileExclusiveIndicatorSize + 2; |
|
6956 break; |
|
6957 #ifndef QT_NO_SLIDER |
|
6958 case PM_SliderLength: |
|
6959 ret = d->doubleControls ? 16 : 8; |
|
6960 break; |
|
6961 case PM_FocusFrameHMargin: |
|
6962 ret = d->doubleControls ? 1 : 2; |
|
6963 break; |
|
6964 case PM_SliderThickness: |
|
6965 ret = d->doubleControls ? windowsMobileSliderThickness * 2: windowsMobileSliderThickness; |
|
6966 break; |
|
6967 case PM_TabBarScrollButtonWidth: |
|
6968 ret = d->doubleControls ? 14 * 2 : 18; |
|
6969 case PM_CheckBoxLabelSpacing: |
|
6970 case PM_RadioButtonLabelSpacing: |
|
6971 ret = d->doubleControls ? 6 * 2 : 6; |
|
6972 break; |
|
6973 // Returns the number of pixels to use for the business part of the |
|
6974 // slider (i.e., the non-tickmark portion). The remaining space is shared |
|
6975 // equally between the tickmark regions. |
|
6976 case PM_SliderControlThickness: |
|
6977 if (const QStyleOptionSlider *sl = qstyleoption_cast<const QStyleOptionSlider *>(opt)) { |
|
6978 int space = (sl->orientation == Qt::Horizontal) ? sl->rect.height() : sl->rect.width(); |
|
6979 int ticks = sl->tickPosition; |
|
6980 int n = 0; |
|
6981 if (ticks & QSlider::TicksAbove) |
|
6982 ++n; |
|
6983 if (ticks & QSlider::TicksBelow) |
|
6984 ++n; |
|
6985 if (!n) { |
|
6986 ret = space; |
|
6987 break; |
|
6988 } |
|
6989 int thick = 8; |
|
6990 if (ticks != QSlider::TicksBothSides && ticks != QSlider::NoTicks) |
|
6991 thick += proxy()->pixelMetric(PM_SliderLength, sl, widget) / 4; |
|
6992 |
|
6993 space -= thick; |
|
6994 if (space > 0) |
|
6995 thick += (space * 2) / (n + 2); |
|
6996 ret = thick; |
|
6997 } else { |
|
6998 ret = 0; |
|
6999 } |
|
7000 break; |
|
7001 #endif // QT_NO_SLIDER |
|
7002 #ifndef QT_NO_MENU |
|
7003 case PM_SmallIconSize: |
|
7004 d->doubleControls ? ret = windowsMobileIconSize * 2 : ret = windowsMobileIconSize; |
|
7005 break; |
|
7006 case PM_ButtonMargin: |
|
7007 d->doubleControls ? ret = 8 : ret = 4; |
|
7008 break; |
|
7009 case PM_LargeIconSize: |
|
7010 d->doubleControls ? ret = 64 : ret = 32; |
|
7011 break; |
|
7012 case PM_IconViewIconSize: |
|
7013 ret = proxy()->pixelMetric(PM_LargeIconSize, opt, widget); |
|
7014 break; |
|
7015 case PM_ToolBarIconSize: |
|
7016 d->doubleControls ? ret = 2 * windowsMobileIconSize : ret = windowsMobileIconSize; |
|
7017 break; |
|
7018 case PM_DockWidgetTitleMargin: |
|
7019 ret = 2; |
|
7020 break; |
|
7021 #if defined(Q_WS_WIN) |
|
7022 #else |
|
7023 case PM_DockWidgetFrameWidth: |
|
7024 ret = 4; |
|
7025 break; |
|
7026 #endif // Q_WS_WIN |
|
7027 break; |
|
7028 #endif // QT_NO_MENU |
|
7029 |
|
7030 case PM_TitleBarHeight: |
|
7031 d->doubleControls ? ret = 42 : ret = 21; |
|
7032 break; |
|
7033 case PM_ScrollBarSliderMin: |
|
7034 #ifdef Q_WS_WINCE_WM |
|
7035 if (d->wm65) |
|
7036 #else |
|
7037 if (false) |
|
7038 #endif |
|
7039 { |
|
7040 d->doubleControls ? ret = 68 : ret = 34; |
|
7041 } else { |
|
7042 d->doubleControls ? ret = 36 : ret = 18; |
|
7043 } |
|
7044 break; |
|
7045 case PM_ScrollBarExtent: { |
|
7046 |
|
7047 if (d->smartphone) |
|
7048 ret = 9; |
|
7049 else |
|
7050 d->doubleControls ? ret = 25 : ret = 13; |
|
7051 |
|
7052 #ifdef Q_WS_WINCE_WM |
|
7053 if (d->wm65) |
|
7054 #else |
|
7055 if (false) |
|
7056 #endif |
|
7057 { |
|
7058 d->doubleControls ? ret = 26 : ret = 13; |
|
7059 break; |
|
7060 } |
|
7061 |
|
7062 #ifndef QT_NO_SCROLLAREA |
|
7063 //Check if the scrollbar is part of an abstractItemView and set size according |
|
7064 if (widget) |
|
7065 if (QWidget *parent = widget->parentWidget()) |
|
7066 if (qobject_cast<QAbstractScrollArea *>(parent->parentWidget())) |
|
7067 if (d->smartphone) |
|
7068 ret = 8; |
|
7069 else |
|
7070 d->doubleControls ? ret = 24 : ret = 12; |
|
7071 #endif |
|
7072 } |
|
7073 break; |
|
7074 case PM_SplitterWidth: |
|
7075 ret = qMax(4, QApplication::globalStrut().width()); |
|
7076 break; |
|
7077 |
|
7078 #if defined(Q_WS_WIN) |
|
7079 case PM_MDIFrameWidth: |
|
7080 ret = 1; |
|
7081 break; |
|
7082 #endif |
|
7083 case PM_ToolBarExtensionExtent: |
|
7084 d->doubleControls ? ret = 32 : ret = 16; |
|
7085 break; |
|
7086 case PM_ToolBarItemMargin: |
|
7087 d->doubleControls ? ret = 2 : ret = 1; |
|
7088 break; |
|
7089 case PM_ToolBarItemSpacing: |
|
7090 d->doubleControls ? ret = 2 : ret = 1; |
|
7091 break; |
|
7092 case PM_ToolBarHandleExtent: |
|
7093 d->doubleControls ? ret = 16 : ret = 8; |
|
7094 break; |
|
7095 case PM_ButtonIconSize: |
|
7096 d->doubleControls ? ret = 32 : ret = 16; |
|
7097 break; |
|
7098 case PM_TextCursorWidth: |
|
7099 ret = 2; |
|
7100 break; |
|
7101 case PM_TabBar_ScrollButtonOverlap: |
|
7102 ret = 0; |
|
7103 break; |
|
7104 default: |
|
7105 ret = QWindowsStyle::pixelMetric(pm, opt, widget); |
|
7106 break; |
|
7107 } |
|
7108 return ret; |
|
7109 } |
|
7110 |
|
7111 int QWindowsMobileStyle::styleHint(StyleHint hint, const QStyleOption *opt, const QWidget *widget, |
|
7112 QStyleHintReturn *returnData) const { |
|
7113 |
|
7114 int ret; |
|
7115 switch (hint) { |
|
7116 case SH_Menu_MouseTracking: |
|
7117 case SH_ComboBox_ListMouseTracking: |
|
7118 case SH_EtchDisabledText: |
|
7119 ret = 0; |
|
7120 break; |
|
7121 case SH_DitherDisabledText: |
|
7122 ret = 0; |
|
7123 break; |
|
7124 case SH_ItemView_ShowDecorationSelected: |
|
7125 ret = 0; |
|
7126 break; |
|
7127 #ifndef QT_NO_TABWIDGET |
|
7128 case SH_TabWidget_DefaultTabPosition: |
|
7129 ret = QTabWidget::South; |
|
7130 break; |
|
7131 #endif |
|
7132 case SH_ToolBar_Movable: |
|
7133 ret = false; |
|
7134 break; |
|
7135 case SH_ScrollBar_ContextMenu: |
|
7136 ret = false; |
|
7137 break; |
|
7138 case SH_MenuBar_AltKeyNavigation: |
|
7139 ret = false; |
|
7140 break; |
|
7141 case SH_RequestSoftwareInputPanel: |
|
7142 ret = RSIP_OnMouseClick; |
|
7143 break; |
|
7144 default: |
|
7145 ret = QWindowsStyle::styleHint(hint, opt, widget, returnData); |
|
7146 break; |
|
7147 } |
|
7148 return ret; |
|
7149 } |
|
7150 |
|
7151 QPixmap QWindowsMobileStyle::standardPixmap(StandardPixmap sp, const QStyleOption *option, |
|
7152 const QWidget *widget) const { |
|
7153 |
|
7154 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
7155 switch (sp) { |
|
7156 #ifndef QT_NO_IMAGEFORMAT_XPM |
|
7157 case SP_ToolBarHorizontalExtensionButton: { |
|
7158 QPixmap pixmap = QCommonStyle::standardPixmap(sp, option, widget); |
|
7159 if (d->doubleControls) |
|
7160 return pixmap.scaledToHeight(pixmap.height() * 2); |
|
7161 else |
|
7162 return pixmap; |
|
7163 } |
|
7164 case SP_TitleBarMaxButton: |
|
7165 case SP_TitleBarCloseButton: |
|
7166 case SP_TitleBarNormalButton: |
|
7167 case SP_TitleBarMinButton: { |
|
7168 QImage image; |
|
7169 switch (sp) { |
|
7170 case SP_TitleBarMaxButton: |
|
7171 image = d->imageMaximize; |
|
7172 break; |
|
7173 case SP_TitleBarCloseButton: |
|
7174 image = d->imageClose; |
|
7175 break; |
|
7176 case SP_TitleBarNormalButton: |
|
7177 image = d->imageNormalize; |
|
7178 break; |
|
7179 case SP_TitleBarMinButton: |
|
7180 image = d->imageMinimize; |
|
7181 break; |
|
7182 default: |
|
7183 break; |
|
7184 } |
|
7185 if (option) { |
|
7186 image.setColor(0, option->palette.shadow().color().rgba()); |
|
7187 image.setColor(1, option->palette.highlight().color().rgba()); |
|
7188 image.setColor(2, option->palette.highlight().color().lighter(150).rgba()); |
|
7189 image.setColor(3, option->palette.highlightedText().color().rgba()); |
|
7190 } |
|
7191 |
|
7192 return QPixmap::fromImage(image); |
|
7193 } |
|
7194 |
|
7195 #endif |
|
7196 default: |
|
7197 return QWindowsStyle::standardPixmap(sp, option, widget); |
|
7198 } |
|
7199 } |
|
7200 |
|
7201 QPixmap QWindowsMobileStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, |
|
7202 const QStyleOption *option) const { |
|
7203 |
|
7204 switch (iconMode) { |
|
7205 case QIcon::Selected: { |
|
7206 #ifdef Q_WS_WINCE_WM |
|
7207 if (d_func()->wm65) |
|
7208 return pixmap; |
|
7209 #endif //Q_WS_WINCE_WM |
|
7210 QImage img = pixmap.toImage().convertToFormat(QImage::Format_ARGB32); |
|
7211 int imgh = img.height(); |
|
7212 int imgw = img.width(); |
|
7213 for (int y = 0; y < imgh; y += 2) { |
|
7214 for (int x = 0; x < imgw; x += 2) { |
|
7215 QColor c = option->palette.highlight().color().rgb(); |
|
7216 c.setAlpha( qAlpha(img.pixel(x, y))); |
|
7217 QRgb pixel = c.rgba(); |
|
7218 img.setPixel(x, y, pixel); |
|
7219 } |
|
7220 } |
|
7221 return QPixmap::fromImage(img); |
|
7222 } |
|
7223 default: |
|
7224 break; |
|
7225 } |
|
7226 return QWindowsStyle::generatedIconPixmap(iconMode, pixmap, option); |
|
7227 } |
|
7228 |
|
7229 |
|
7230 bool QWindowsMobileStyle::doubleControls() const { |
|
7231 |
|
7232 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
7233 |
|
7234 return d->doubleControls; |
|
7235 } |
|
7236 |
|
7237 void QWindowsMobileStyle::setDoubleControls(bool doubleControls) { |
|
7238 |
|
7239 QWindowsMobileStylePrivate *d = const_cast<QWindowsMobileStylePrivate*>(d_func()); |
|
7240 |
|
7241 d->doubleControls = doubleControls; |
|
7242 } |
|
7243 |
|
7244 QT_END_NAMESPACE |
|
7245 |
|
7246 #endif // QT_NO_STYLE_WINDOWSMOBILE |
|
7247 |