qplatformcursor.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/gui/kernel/qplatformcursor.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6QList<QPlatformCursor *> QPlatformCursorPrivate::getInstances()-
7{-
8 QList<QPlatformCursor *> result;-
9 for (const QScreen *screen : qAsConst(QGuiApplicationPrivate::screen_list)) {-
10 if (QPlatformCursor *cursor = screen->handle()->cursor()
QPlatformCurso...le()->cursor()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
11 result.push_back(cursor);
never executed: result.push_back(cursor);
0
12 }
never executed: end of block
0
13 return
never executed: return result;
result;
never executed: return result;
0
14}-
15QPlatformCursor::QPlatformCursor()-
16{-
17}-
18-
19QPoint QPlatformCursor::pos() const-
20{-
21-
22 return
never executed: return QGuiApplicationPrivate::lastCursorPosition.toPoint();
QGuiApplicationPrivate::lastCursorPosition.toPoint();
never executed: return QGuiApplicationPrivate::lastCursorPosition.toPoint();
0
23}-
24-
25void QPlatformCursor::setPos(const QPoint &pos)-
26{-
27 static bool firstCall = true;-
28 if (firstCall
firstCallDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
29 firstCall = false;-
30 QMessageLogger(__FILE__, 127, __PRETTY_FUNCTION__).warning("This plugin does not support QCursor::setPos()"-
31 "; emulating movement within the application.");-
32 }
never executed: end of block
0
33 QWindowSystemInterface::handleMouseEvent(0, pos, pos, Qt::NoButton);-
34}
never executed: end of block
0
35static QPlatformCursorImage *systemCursorTable[Qt::LastCursor+1];-
36static bool systemCursorTableInit = false;-
37-
38-
39static const uchar cur_arrow_bits[] = {-
40 0x07, 0x00, 0x39, 0x00, 0xc1, 0x01, 0x02, 0x0e, 0x02, 0x10, 0x02, 0x08,-
41 0x04, 0x04, 0x04, 0x02, 0x04, 0x04, 0x88, 0x08, 0x48, 0x11, 0x28, 0x22,-
42 0x10, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x00 };-
43static const uchar mcur_arrow_bits[] = {-
44 0x07, 0x00, 0x3f, 0x00, 0xff, 0x01, 0xfe, 0x0f, 0xfe, 0x1f, 0xfe, 0x0f,-
45 0xfc, 0x07, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x0f, 0x78, 0x1f, 0x38, 0x3e,-
46 0x10, 0x7c, 0x00, 0x38, 0x00, 0x10, 0x00, 0x00 };-
47-
48static const unsigned char cur_up_arrow_bits[] = {-
49 0x80, 0x00, 0x40, 0x01, 0x40, 0x01, 0x20, 0x02, 0x20, 0x02, 0x10, 0x04,-
50 0x10, 0x04, 0x08, 0x08, 0x78, 0x0f, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01,-
51 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0xc0, 0x01};-
52static const unsigned char mcur_up_arrow_bits[] = {-
53 0x80, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x03, 0xe0, 0x03, 0xf0, 0x07,-
54 0xf0, 0x07, 0xf8, 0x0f, 0xf8, 0x0f, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,-
55 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01};-
56-
57static const unsigned char cur_cross_bits[] = {-
58 0xc0, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01,-
59 0x7f, 0x7f, 0x01, 0x40, 0x7f, 0x7f, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01,-
60 0x40, 0x01, 0x40, 0x01, 0xc0, 0x01, 0x00, 0x00};-
61static const unsigned char mcur_cross_bits[] = {-
62 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,-
63 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,-
64 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00};-
65-
66static const uchar cur_ibeam_bits[] = {-
67 0x00, 0x00, 0xe0, 0x03, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,-
68 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,-
69 0x80, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00 };-
70static const uchar mcur_ibeam_bits[] = {-
71 0xf0, 0x07, 0xf0, 0x07, 0xf0, 0x07, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,-
72 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,-
73 0xf0, 0x07, 0xf0, 0x07, 0xf0, 0x07, 0x00, 0x00 };-
74-
75static const uchar cur_ver_bits[] = {-
76 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f,-
77 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xf0, 0x0f,-
78 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00 };-
79static const uchar mcur_ver_bits[] = {-
80 0x00, 0x00, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xf0, 0x1f, 0xf8, 0x3f,-
81 0xfc, 0x7f, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xfc, 0x7f, 0xf8, 0x3f,-
82 0xf0, 0x1f, 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03 };-
83-
84static const uchar cur_hor_bits[] = {-
85 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x30, 0x18,-
86 0x38, 0x38, 0xfc, 0x7f, 0xfc, 0x7f, 0x38, 0x38, 0x30, 0x18, 0x20, 0x08,-
87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
88static const uchar mcur_hor_bits[] = {-
89 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x60, 0x0c, 0x70, 0x1c, 0x78, 0x3c,-
90 0xfc, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfc, 0x7f, 0x78, 0x3c,-
91 0x70, 0x1c, 0x60, 0x0c, 0x40, 0x04, 0x00, 0x00 };-
92static const uchar cur_bdiag_bits[] = {-
93 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x3e, 0x00, 0x3c, 0x00, 0x3e,-
94 0x00, 0x37, 0x88, 0x23, 0xd8, 0x01, 0xf8, 0x00, 0x78, 0x00, 0xf8, 0x00,-
95 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
96static const uchar mcur_bdiag_bits[] = {-
97 0x00, 0x00, 0xc0, 0x7f, 0x80, 0x7f, 0x00, 0x7f, 0x00, 0x7e, 0x04, 0x7f,-
98 0x8c, 0x7f, 0xdc, 0x77, 0xfc, 0x63, 0xfc, 0x41, 0xfc, 0x00, 0xfc, 0x01,-
99 0xfc, 0x03, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00 };-
100static const uchar cur_fdiag_bits[] = {-
101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0xf8, 0x00, 0x78, 0x00,-
102 0xf8, 0x00, 0xd8, 0x01, 0x88, 0x23, 0x00, 0x37, 0x00, 0x3e, 0x00, 0x3c,-
103 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00 };-
104static const uchar mcur_fdiag_bits[] = {-
105 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0xfc, 0x03, 0xfc, 0x01, 0xfc, 0x00,-
106 0xfc, 0x41, 0xfc, 0x63, 0xdc, 0x77, 0x8c, 0x7f, 0x04, 0x7f, 0x00, 0x7e,-
107 0x00, 0x7f, 0x80, 0x7f, 0xc0, 0x7f, 0x00, 0x00 };-
108-
109-
110static const uchar forbidden_bits[] = {-
111 0x00,0x00,0x00,0x80,0x1f,0x00,0xe0,0x7f,0x00,0xf0,0xf0,0x00,0x38,0xc0,0x01,-
112 0x7c,0x80,0x03,0xec,0x00,0x03,0xce,0x01,0x07,0x86,0x03,0x06,0x06,0x07,0x06,-
113 0x06,0x0e,0x06,0x06,0x1c,0x06,0x0e,0x38,0x07,0x0c,0x70,0x03,0x1c,0xe0,0x03,-
114 0x38,0xc0,0x01,0xf0,0xe0,0x00,0xe0,0x7f,0x00,0x80,0x1f,0x00,0x00,0x00,0x00 };-
115-
116static const uchar forbiddenm_bits[] = {-
117 0x80,0x1f,0x00,0xe0,0x7f,0x00,0xf0,0xff,0x00,0xf8,0xff,0x01,0xfc,0xf0,0x03,-
118 0xfe,0xc0,0x07,0xfe,0x81,0x07,0xff,0x83,0x0f,0xcf,0x07,0x0f,0x8f,0x0f,0x0f,-
119 0x0f,0x1f,0x0f,0x0f,0x3e,0x0f,0x1f,0xfc,0x0f,0x1e,0xf8,0x07,0x3e,0xf0,0x07,-
120 0xfc,0xe0,0x03,0xf8,0xff,0x01,0xf0,0xff,0x00,0xe0,0x7f,0x00,0x80,0x1f,0x00};-
121-
122-
123static const uchar wait_data_bits[] = {-
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
125 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0x00,-
126 0x00, 0x04, 0x40, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x08, 0x20, 0x00,-
127 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00,-
128 0x00, 0x50, 0x15, 0x00, 0x00, 0xa0, 0x0a, 0x00, 0x00, 0x40, 0x05, 0x00,-
129 0x00, 0x80, 0x02, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x20, 0x08, 0x00,-
130 0x00, 0x10, 0x10, 0x00, 0x00, 0x08, 0x21, 0x00, 0x00, 0x88, 0x22, 0x00,-
131 0x00, 0x48, 0x25, 0x00, 0x00, 0xa8, 0x2a, 0x00, 0x00, 0xfc, 0x7f, 0x00,-
132 0x00, 0x04, 0x40, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,-
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
135static const uchar wait_mask_bits[] = {-
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0x00,-
138 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xf8, 0x3f, 0x00,-
139 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00,-
140 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xc0, 0x07, 0x00,-
141 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0f, 0x00,-
142 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00,-
143 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc, 0x7f, 0x00,-
144 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,-
145 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
147-
148static const uchar hsplit_bits[] = {-
149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
151 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00,-
152 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00,-
153 0x00, 0x41, 0x82, 0x00, 0x80, 0x41, 0x82, 0x01, 0xc0, 0x7f, 0xfe, 0x03,-
154 0x80, 0x41, 0x82, 0x01, 0x00, 0x41, 0x82, 0x00, 0x00, 0x40, 0x02, 0x00,-
155 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00,-
156 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,-
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
160static const uchar hsplitm_bits[] = {-
161 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
163 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00,-
164 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe2, 0x47, 0x00, 0x00, 0xe3, 0xc7, 0x00,-
165 0x80, 0xe3, 0xc7, 0x01, 0xc0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x07,-
166 0xc0, 0xff, 0xff, 0x03, 0x80, 0xe3, 0xc7, 0x01, 0x00, 0xe3, 0xc7, 0x00,-
167 0x00, 0xe2, 0x47, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00,-
168 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,-
169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
172static const uchar vsplit_bits[] = {-
173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
175 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00,-
176 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,-
177 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00,-
178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00,-
179 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,-
180 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00,-
181 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
184static const uchar vsplitm_bits[] = {-
185 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,-
187 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00,-
188 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00,-
189 0x00, 0xc0, 0x01, 0x00, 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00,-
190 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00,-
191 0x80, 0xff, 0xff, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00,-
192 0x00, 0xc0, 0x01, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00,-
193 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,-
194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
196static const uchar phand_bits[] = {-
197 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,-
198 0x7e, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x70, 0x08, 0x00, 0x00,-
199 0x08, 0x08, 0x00, 0x00, 0x70, 0x14, 0x00, 0x00, 0x08, 0x22, 0x00, 0x00,-
200 0x30, 0x41, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x00, 0x40, 0x12, 0x00, 0x00,-
201 0x80, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,-
202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
204 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
206 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
208static const uchar phandm_bits[] = {-
209 0xfe, 0x01, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00,-
210 0xff, 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00,-
211 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00,-
212 0xf8, 0xff, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00,-
213 0xc0, 0x1f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,-
214 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
217 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
220-
221static const uchar size_all_data_bits[] = {-
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
224 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00,-
225 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,-
226 0x00, 0x80, 0x00, 0x00, 0x00, 0x81, 0x40, 0x00, 0x80, 0x81, 0xc0, 0x00,-
227 0xc0, 0xff, 0xff, 0x01, 0x80, 0x81, 0xc0, 0x00, 0x00, 0x81, 0x40, 0x00,-
228 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,-
229 0x00, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00,-
230 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
233static const uchar size_all_mask_bits[] = {-
234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
235 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,-
236 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00,-
237 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc2, 0x21, 0x00,-
238 0x00, 0xc3, 0x61, 0x00, 0x80, 0xc3, 0xe1, 0x00, 0xc0, 0xff, 0xff, 0x01,-
239 0xe0, 0xff, 0xff, 0x03, 0xc0, 0xff, 0xff, 0x01, 0x80, 0xc3, 0xe1, 0x00,-
240 0x00, 0xc3, 0x61, 0x00, 0x00, 0xc2, 0x21, 0x00, 0x00, 0xc0, 0x01, 0x00,-
241 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x00,-
242 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
243 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };-
245-
246static const uchar whatsthis_bits[] = {-
247 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0xf0, 0x07, 0x00,-
248 0x09, 0x18, 0x0e, 0x00, 0x11, 0x1c, 0x0e, 0x00, 0x21, 0x1c, 0x0e, 0x00,-
249 0x41, 0x1c, 0x0e, 0x00, 0x81, 0x1c, 0x0e, 0x00, 0x01, 0x01, 0x07, 0x00,-
250 0x01, 0x82, 0x03, 0x00, 0xc1, 0xc7, 0x01, 0x00, 0x49, 0xc0, 0x01, 0x00,-
251 0x95, 0xc0, 0x01, 0x00, 0x93, 0xc0, 0x01, 0x00, 0x21, 0x01, 0x00, 0x00,-
252 0x20, 0xc1, 0x01, 0x00, 0x40, 0xc2, 0x01, 0x00, 0x40, 0x02, 0x00, 0x00,-
253 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };-
258static const uchar whatsthism_bits[] = {-
259 0x01, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x07, 0x00, 0x07, 0xf8, 0x0f, 0x00,-
260 0x0f, 0xfc, 0x1f, 0x00, 0x1f, 0x3e, 0x1f, 0x00, 0x3f, 0x3e, 0x1f, 0x00,-
261 0x7f, 0x3e, 0x1f, 0x00, 0xff, 0x3e, 0x1f, 0x00, 0xff, 0x9d, 0x0f, 0x00,-
262 0xff, 0xc3, 0x07, 0x00, 0xff, 0xe7, 0x03, 0x00, 0x7f, 0xe0, 0x03, 0x00,-
263 0xf7, 0xe0, 0x03, 0x00, 0xf3, 0xe0, 0x03, 0x00, 0xe1, 0xe1, 0x03, 0x00,-
264 0xe0, 0xe1, 0x03, 0x00, 0xc0, 0xe3, 0x03, 0x00, 0xc0, 0xe3, 0x03, 0x00,-
265 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };-
270-
271static const uchar busy_bits[] = {-
272 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,-
273 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,-
274 0x41, 0xe0, 0xff, 0x00, 0x81, 0x20, 0x80, 0x00, 0x01, 0xe1, 0xff, 0x00,-
275 0x01, 0x42, 0x40, 0x00, 0xc1, 0x47, 0x40, 0x00, 0x49, 0x40, 0x55, 0x00,-
276 0x95, 0x80, 0x2a, 0x00, 0x93, 0x00, 0x15, 0x00, 0x21, 0x01, 0x0a, 0x00,-
277 0x20, 0x01, 0x11, 0x00, 0x40, 0x82, 0x20, 0x00, 0x40, 0x42, 0x44, 0x00,-
278 0x80, 0x41, 0x4a, 0x00, 0x00, 0x40, 0x55, 0x00, 0x00, 0xe0, 0xff, 0x00,-
279 0x00, 0x20, 0x80, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,-
280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
282 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};-
283static const uchar busym_bits[] = {-
284 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,-
285 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,-
286 0x7f, 0xe0, 0xff, 0x00, 0xff, 0xe0, 0xff, 0x00, 0xff, 0xe1, 0xff, 0x00,-
287 0xff, 0xc3, 0x7f, 0x00, 0xff, 0xc7, 0x7f, 0x00, 0x7f, 0xc0, 0x7f, 0x00,-
288 0xf7, 0x80, 0x3f, 0x00, 0xf3, 0x00, 0x1f, 0x00, 0xe1, 0x01, 0x0e, 0x00,-
289 0xe0, 0x01, 0x1f, 0x00, 0xc0, 0x83, 0x3f, 0x00, 0xc0, 0xc3, 0x7f, 0x00,-
290 0x80, 0xc1, 0x7f, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0xff, 0x00,-
291 0x00, 0xe0, 0xff, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,-
292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
293 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,-
294 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};-
295-
296-
297static const uchar openhand_bits[] = {-
298 0x80,0x01,0x58,0x0e,0x64,0x12,0x64,0x52,0x48,0xb2,0x48,0x92,-
299 0x16,0x90,0x19,0x80,0x11,0x40,0x02,0x40,0x04,0x40,0x04,0x20,-
300 0x08,0x20,0x10,0x10,0x20,0x10,0x00,0x00};-
301static const uchar openhandm_bits[] = {-
302 0x80,0x01,0xd8,0x0f,0xfc,0x1f,0xfc,0x5f,0xf8,0xff,0xf8,0xff,-
303 0xfe,0xff,0xff,0xff,0xff,0x7f,0xfe,0x7f,0xfc,0x7f,0xfc,0x3f,-
304 0xf8,0x3f,0xf0,0x1f,0xe0,0x1f,0x00,0x00};-
305static const uchar closedhand_bits[] = {-
306 0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x0d,0x48,0x32,0x08,0x50,-
307 0x10,0x40,0x18,0x40,0x04,0x40,0x04,0x20,0x08,0x20,0x10,0x10,-
308 0x20,0x10,0x20,0x10,0x00,0x00,0x00,0x00};-
309static const uchar closedhandm_bits[] = {-
310 0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x0d,0xf8,0x3f,0xf8,0x7f,-
311 0xf0,0x7f,0xf8,0x7f,0xfc,0x7f,0xfc,0x3f,0xf8,0x3f,0xf0,0x1f,-
312 0xe0,0x1f,0xe0,0x1f,0x00,0x00,0x00,0x00};-
313-
314void QPlatformCursorImage::createSystemCursor(int id)-
315{-
316 if (!systemCursorTableInit
!systemCursorTableInitDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
317 for (int i = 0; i <= Qt::LastCursor
i <= Qt::LastCursorDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
318 systemCursorTable[i] = 0;
never executed: systemCursorTable[i] = 0;
0
319 systemCursorTableInit = true;-
320 }
never executed: end of block
0
321 switch (id) {-
322-
323 case
never executed: case Qt::ArrowCursor:
Qt::ArrowCursor:
never executed: case Qt::ArrowCursor:
0
324 systemCursorTable[Qt::ArrowCursor] =-
325 new QPlatformCursorImage(cur_arrow_bits, mcur_arrow_bits, 16, 16, 0, 0);-
326 break;
never executed: break;
0
327-
328 case
never executed: case Qt::UpArrowCursor:
Qt::UpArrowCursor:
never executed: case Qt::UpArrowCursor:
0
329 systemCursorTable[Qt::UpArrowCursor] =-
330 new QPlatformCursorImage(cur_up_arrow_bits, mcur_up_arrow_bits, 16, 16, 7, 0);-
331 break;
never executed: break;
0
332-
333 case
never executed: case Qt::CrossCursor:
Qt::CrossCursor:
never executed: case Qt::CrossCursor:
0
334 systemCursorTable[Qt::CrossCursor] =-
335 new QPlatformCursorImage(cur_cross_bits, mcur_cross_bits, 16, 16, 7, 7);-
336 break;
never executed: break;
0
337-
338 case
never executed: case Qt::IBeamCursor:
Qt::IBeamCursor:
never executed: case Qt::IBeamCursor:
0
339 systemCursorTable[Qt::IBeamCursor] =-
340 new QPlatformCursorImage(cur_ibeam_bits, mcur_ibeam_bits, 16, 16, 7, 7);-
341 break;
never executed: break;
0
342-
343 case
never executed: case Qt::SizeVerCursor:
Qt::SizeVerCursor:
never executed: case Qt::SizeVerCursor:
0
344 systemCursorTable[Qt::SizeVerCursor] =-
345 new QPlatformCursorImage(cur_ver_bits, mcur_ver_bits, 16, 16, 7, 7);-
346 break;
never executed: break;
0
347-
348 case
never executed: case Qt::SizeHorCursor:
Qt::SizeHorCursor:
never executed: case Qt::SizeHorCursor:
0
349 systemCursorTable[Qt::SizeHorCursor] =-
350 new QPlatformCursorImage(cur_hor_bits, mcur_hor_bits, 16, 16, 7, 7);-
351 break;
never executed: break;
0
352-
353 case
never executed: case Qt::SizeBDiagCursor:
Qt::SizeBDiagCursor:
never executed: case Qt::SizeBDiagCursor:
0
354 systemCursorTable[Qt::SizeBDiagCursor] =-
355 new QPlatformCursorImage(cur_bdiag_bits, mcur_bdiag_bits, 16, 16, 7, 7);-
356 break;
never executed: break;
0
357-
358 case
never executed: case Qt::SizeFDiagCursor:
Qt::SizeFDiagCursor:
never executed: case Qt::SizeFDiagCursor:
0
359 systemCursorTable[Qt::SizeFDiagCursor] =-
360 new QPlatformCursorImage(cur_fdiag_bits, mcur_fdiag_bits, 16, 16, 7, 7);-
361 break;
never executed: break;
0
362-
363 case
never executed: case Qt::BlankCursor:
Qt::BlankCursor:
never executed: case Qt::BlankCursor:
0
364 systemCursorTable[Qt::BlankCursor] =-
365 new QPlatformCursorImage(0, 0, 0, 0, 0, 0);-
366 break;
never executed: break;
0
367-
368-
369 case
never executed: case Qt::ForbiddenCursor:
Qt::ForbiddenCursor:
never executed: case Qt::ForbiddenCursor:
0
370 systemCursorTable[Qt::ForbiddenCursor] =-
371 new QPlatformCursorImage(forbidden_bits, forbiddenm_bits, 20, 20, 10, 10);-
372 break;
never executed: break;
0
373-
374-
375 case
never executed: case Qt::WaitCursor:
Qt::WaitCursor:
never executed: case Qt::WaitCursor:
0
376 systemCursorTable[Qt::WaitCursor] =-
377 new QPlatformCursorImage(wait_data_bits, wait_mask_bits, 32, 32, 15, 15);-
378 break;
never executed: break;
0
379-
380 case
never executed: case Qt::SplitVCursor:
Qt::SplitVCursor:
never executed: case Qt::SplitVCursor:
0
381 systemCursorTable[Qt::SplitVCursor] =-
382 new QPlatformCursorImage(vsplit_bits, vsplitm_bits, 32, 32, 15, 15);-
383 break;
never executed: break;
0
384-
385 case
never executed: case Qt::SplitHCursor:
Qt::SplitHCursor:
never executed: case Qt::SplitHCursor:
0
386 systemCursorTable[Qt::SplitHCursor] =-
387 new QPlatformCursorImage(hsplit_bits, hsplitm_bits, 32, 32, 15, 15);-
388 break;
never executed: break;
0
389-
390 case
never executed: case Qt::SizeAllCursor:
Qt::SizeAllCursor:
never executed: case Qt::SizeAllCursor:
0
391 systemCursorTable[Qt::SizeAllCursor] =-
392 new QPlatformCursorImage(size_all_data_bits, size_all_mask_bits, 32, 32, 15, 15);-
393 break;
never executed: break;
0
394-
395 case
never executed: case Qt::PointingHandCursor:
Qt::PointingHandCursor:
never executed: case Qt::PointingHandCursor:
0
396 systemCursorTable[Qt::PointingHandCursor] =-
397 new QPlatformCursorImage(phand_bits, phandm_bits, 32, 32, 0, 0);-
398 break;
never executed: break;
0
399-
400 case
never executed: case Qt::WhatsThisCursor:
Qt::WhatsThisCursor:
never executed: case Qt::WhatsThisCursor:
0
401 systemCursorTable[Qt::WhatsThisCursor] =-
402 new QPlatformCursorImage(whatsthis_bits, whatsthism_bits, 32, 32, 0, 0);-
403 break;
never executed: break;
0
404 case
never executed: case Qt::BusyCursor:
Qt::BusyCursor:
never executed: case Qt::BusyCursor:
0
405 systemCursorTable[Qt::BusyCursor] =-
406 new QPlatformCursorImage(busy_bits, busym_bits, 32, 32, 0, 0);-
407 break;
never executed: break;
0
408-
409 case
never executed: case Qt::OpenHandCursor:
Qt::OpenHandCursor:
never executed: case Qt::OpenHandCursor:
0
410 systemCursorTable[Qt::OpenHandCursor] =-
411 new QPlatformCursorImage(openhand_bits, openhandm_bits, 16, 16, 8, 8);-
412 break;
never executed: break;
0
413 case
never executed: case Qt::ClosedHandCursor:
Qt::ClosedHandCursor:
never executed: case Qt::ClosedHandCursor:
0
414 systemCursorTable[Qt::ClosedHandCursor] =-
415 new QPlatformCursorImage(closedhand_bits, closedhandm_bits, 16, 16, 8, 8);-
416 break;
never executed: break;
0
417 default
never executed: default:
:
never executed: default:
0
418 QMessageLogger(__FILE__, 533, __PRETTY_FUNCTION__).warning("Unknown system cursor %d", id);-
419 }
never executed: end of block
0
420}-
421void QPlatformCursorImage::set(Qt::CursorShape id)-
422{-
423 QPlatformCursorImage *cursor = 0;-
424 if (id >= 0
id >= 0Description
TRUEnever evaluated
FALSEnever evaluated
&& id <= Qt::LastCursor
id <= Qt::LastCursorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
425 if (!systemCursorTable[id]
!systemCursorTable[id]Description
TRUEnever evaluated
FALSEnever evaluated
)
0
426 createSystemCursor(id);
never executed: createSystemCursor(id);
0
427 cursor = systemCursorTable[id];-
428 }
never executed: end of block
0
429-
430 if (cursor == 0
cursor == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
431 if (!systemCursorTable[Qt::ArrowCursor]
!systemCursorT...::ArrowCursor]Description
TRUEnever evaluated
FALSEnever evaluated
)
0
432 createSystemCursor(Qt::ArrowCursor);
never executed: createSystemCursor(Qt::ArrowCursor);
0
433 cursor = systemCursorTable[Qt::ArrowCursor];-
434 }
never executed: end of block
0
435 cursorImage = cursor->cursorImage;-
436 hot = cursor->hot;-
437}
never executed: end of block
0
438-
439-
440-
441-
442-
443-
444void QPlatformCursorImage::set(const QImage &image, int hx, int hy)-
445{-
446 hot.setX(hx);-
447 hot.setY(hy);-
448 cursorImage = image;-
449}
never executed: end of block
0
450void QPlatformCursorImage::set(const uchar *data, const uchar *mask,-
451 int width, int height, int hx, int hy)-
452{-
453 hot.setX(hx);-
454 hot.setY(hy);-
455-
456 cursorImage = QImage(width,height, QImage::Format_Indexed8);-
457-
458 if (!width
!widthDescription
TRUEnever evaluated
FALSEnever evaluated
|| !height
!heightDescription
TRUEnever evaluated
FALSEnever evaluated
|| !data
!dataDescription
TRUEnever evaluated
FALSEnever evaluated
|| !mask
!maskDescription
TRUEnever evaluated
FALSEnever evaluated
|| cursorImage.isNull()
cursorImage.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
459 return;
never executed: return;
0
460-
461 cursorImage.setColorCount(3);-
462 cursorImage.setColor(0, 0xff000000);-
463 cursorImage.setColor(1, 0xffffffff);-
464 cursorImage.setColor(2, 0x00000000);-
465-
466 int bytesPerLine = (width + 7) / 8;-
467 int p = 0;-
468 int d, m;-
469-
470 int x = -1, w = 0;-
471-
472 uchar *cursor_data = cursorImage.bits();-
473 int bpl = cursorImage.bytesPerLine();-
474 for (int i = 0; i < height
i < heightDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
475 {-
476 for (int j = 0; j < bytesPerLine
j < bytesPerLineDescription
TRUEnever evaluated
FALSEnever evaluated
; j++, data++, mask++)
0
477 {-
478 for (int b = 0; b < 8
b < 8Description
TRUEnever evaluated
FALSEnever evaluated
&& j*8+b < width
j*8+b < widthDescription
TRUEnever evaluated
FALSEnever evaluated
; b++)
0
479 {-
480 d = *data & (1 << b);-
481 m = *mask & (1 << b);-
482 if (d
dDescription
TRUEnever evaluated
FALSEnever evaluated
&& m
mDescription
TRUEnever evaluated
FALSEnever evaluated
) p = 0;
never executed: p = 0;
0
483 else if (!d
!dDescription
TRUEnever evaluated
FALSEnever evaluated
&& m
mDescription
TRUEnever evaluated
FALSEnever evaluated
) p = 1;
never executed: p = 1;
0
484 else p = 2;
never executed: p = 2;
0
485 cursor_data[j*8+b] = p;-
486-
487-
488 if (x < 0
x < 0Description
TRUEnever evaluated
FALSEnever evaluated
&& m
mDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
489 x = j*8+b;
never executed: x = j*8+b;
0
490 else if (x >= 0
x >= 0Description
TRUEnever evaluated
FALSEnever evaluated
&& !m
!mDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
491 x = -1;-
492 w = 0;-
493 }
never executed: end of block
0
494 if (m
mDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
495 w++;
never executed: w++;
0
496 }
never executed: end of block
0
497 }
never executed: end of block
0
498 if (x >= 0
x >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
499 x = -1;-
500 w = 0;-
501 }
never executed: end of block
0
502 cursor_data += bpl;-
503 }
never executed: end of block
0
504-
505}
never executed: end of block
0
506-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9