kernel/qplatformcursor.cpp

Source codeSwitch to Preprocessed file
LineSource CodeCoverage
1/**************************************************************************** -
2** -
3** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -
4** Contact: http://www.qt-project.org/legal -
5** -
6** This file is part of the QtOpenVG module of the Qt Toolkit. -
7** -
8** $QT_BEGIN_LICENSE:LGPL$ -
9** Commercial License Usage -
10** Licensees holding valid commercial Qt licenses may use this file in -
11** accordance with the commercial license agreement provided with the -
12** Software or, alternatively, in accordance with the terms contained in -
13** a written agreement between you and Digia. For licensing terms and -
14** conditions see http://qt.digia.com/licensing. For further information -
15** use the contact form at http://qt.digia.com/contact-us. -
16** -
17** GNU Lesser General Public License Usage -
18** Alternatively, this file may be used under the terms of the GNU Lesser -
19** General Public License version 2.1 as published by the Free Software -
20** Foundation and appearing in the file LICENSE.LGPL included in the -
21** packaging of this file. Please review the following information to -
22** ensure the GNU Lesser General Public License version 2.1 requirements -
23** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -
24** -
25** In addition, as a special exception, Digia gives you certain additional -
26** rights. These rights are described in the Digia Qt LGPL Exception -
27** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -
28** -
29** GNU General Public License Usage -
30** Alternatively, this file may be used under the terms of the GNU -
31** General Public License version 3.0 as published by the Free Software -
32** Foundation and appearing in the file LICENSE.GPL included in the -
33** packaging of this file. Please review the following information to -
34** ensure the GNU General Public License version 3.0 requirements will be -
35** met: http://www.gnu.org/copyleft/gpl.html. -
36** -
37** -
38** $QT_END_LICENSE$ -
39** -
40****************************************************************************/ -
41#include "qplatformcursor.h" -
42 -
43#include <QPainter> -
44#include <QBitmap> -
45#include <QGuiApplication> -
46#include <QScreen> -
47#include <qpa/qplatformscreen.h> -
48#include <private/qguiapplication_p.h> -
49 -
50#include <QDebug> -
51 -
52QT_BEGIN_NAMESPACE -
53 -
54QList<QPlatformCursor *> QPlatformCursorPrivate::getInstances() -
55{ -
56 QList<QPlatformCursor *> result;
never executed (the execution status of this line is deduced): QList<QPlatformCursor *> result;
-
57 foreach (const QScreen *screen, QGuiApplicationPrivate::screen_list)
never executed (the execution status of this line is deduced): for (QForeachContainer<__typeof__(QGuiApplicationPrivate::screen_list)> _container_(QGuiApplicationPrivate::screen_list); !_container_.brk && _container_.i != _container_.e; __extension__ ({ ++_container_.brk; ++_container_.i; })) for (const QScreen *screen = *_container_.i;; __extension__ ({--_container_.brk; break;}))
-
58 if (QPlatformCursor *cursor = screen->handle()->cursor())
never evaluated: QPlatformCursor *cursor = screen->handle()->cursor()
0
59 result.push_back(cursor);
never executed: result.push_back(cursor);
0
60 return result;
never executed: return result;
0
61} -
62 -
63/*! -
64 \class QPlatformCursor -
65 \since 5.0 -
66 \internal -
67 \preliminary -
68 \ingroup qpa -
69 -
70 \brief The QPlatformCursor class provides information about -
71 pointer device events (movement, buttons), and requests to change -
72 the currently displayed cursor. -
73 -
74 Note that QPlatformCursor does not include any graphics for -
75 display. An application that sets a QCursor may provide its own -
76 graphics. -
77 -
78 \sa QPlatformCursorImage -
79*/ -
80 -
81/*! -
82 \fn virtual void QPlatformCursor::pointerEvent(const QMouseEvent & event) -
83 -
84 This method is called by Qt whenever a QMouseEvent is generated by the -
85 underlying pointer input. \a event is a reference to the QMouseEvent in -
86 question. A default do-nothing implementation is provided. -
87*/ -
88 -
89/*! -
90 \fn virtual void QPlatformCursor::changeCursor(QCursor * windowCursor, QWindow * window) -
91 -
92 \brief This method is called by Qt whenever the cursor graphic should be changed. -
93 -
94 Implementation of this method is mandatory for a subclass of QPlatformCursor. -
95 -
96 \a windowCursor is a pointer to the QCursor that should be displayed. -
97 -
98 \a window is a pointer to the window currently displayed at QCursor::pos(). Note -
99 that this may be 0 if the current position is not occupied by a displayed widget. -
100 -
101 \sa QCursor::pos() -
102*/ -
103 -
104/*! -
105 \fn QPlatformCursor::QPlatformCursor() -
106 -
107 Constructs a QPlatformCursor. -
108*/ -
109QPlatformCursor::QPlatformCursor() -
110{ -
111} -
112 -
113QPoint QPlatformCursor::pos() const -
114{ -
115 // As a fallback return the last mouse position seen by QGuiApplication. -
116 return QGuiApplicationPrivate::lastCursorPosition.toPoint();
never executed: return QGuiApplicationPrivate::lastCursorPosition.toPoint();
0
117} -
118 -
119void QPlatformCursor::setPos(const QPoint &pos) -
120{ -
121 Q_UNUSED(pos);
never executed (the execution status of this line is deduced): (void)pos;;
-
122 qWarning("This plugin does not support QCursor::setPos()");
never executed (the execution status of this line is deduced): QMessageLogger("kernel/qplatformcursor.cpp", 122, __PRETTY_FUNCTION__).warning("This plugin does not support QCursor::setPos()");
-
123}
never executed: }
0
124 -
125// End of display and pointer event handling code -
126// Beginning of built-in cursor graphics -
127// from src/gui/embedded/QGraphicsSystemCursorImage_qws.cpp -
128 -
129/*! -
130 \class QPlatformCursorImage -
131 \since 5.0 -
132 \internal -
133 \preliminary -
134 \ingroup qpa -
135 -
136 \brief The QPlatformCursorImage class provides a set of graphics -
137 intended to be used as cursors. -
138 -
139 \sa QPlatformCursor -
140*/ -
141 -
142static QPlatformCursorImage *systemCursorTable[Qt::LastCursor+1]; -
143static bool systemCursorTableInit = false; -
144 -
145// 16 x 16 -
146static const uchar cur_arrow_bits[] = { -
147 0x07, 0x00, 0x39, 0x00, 0xc1, 0x01, 0x02, 0x0e, 0x02, 0x10, 0x02, 0x08, -
148 0x04, 0x04, 0x04, 0x02, 0x04, 0x04, 0x88, 0x08, 0x48, 0x11, 0x28, 0x22, -
149 0x10, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x00 }; -
150static const uchar mcur_arrow_bits[] = { -
151 0x07, 0x00, 0x3f, 0x00, 0xff, 0x01, 0xfe, 0x0f, 0xfe, 0x1f, 0xfe, 0x0f, -
152 0xfc, 0x07, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x0f, 0x78, 0x1f, 0x38, 0x3e, -
153 0x10, 0x7c, 0x00, 0x38, 0x00, 0x10, 0x00, 0x00 }; -
154 -
155static const unsigned char cur_up_arrow_bits[] = { -
156 0x80, 0x00, 0x40, 0x01, 0x40, 0x01, 0x20, 0x02, 0x20, 0x02, 0x10, 0x04, -
157 0x10, 0x04, 0x08, 0x08, 0x78, 0x0f, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, -
158 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0xc0, 0x01}; -
159static const unsigned char mcur_up_arrow_bits[] = { -
160 0x80, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x03, 0xe0, 0x03, 0xf0, 0x07, -
161 0xf0, 0x07, 0xf8, 0x0f, 0xf8, 0x0f, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, -
162 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01}; -
163 -
164static const unsigned char cur_cross_bits[] = { -
165 0xc0, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, -
166 0x7f, 0x7f, 0x01, 0x40, 0x7f, 0x7f, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, -
167 0x40, 0x01, 0x40, 0x01, 0xc0, 0x01, 0x00, 0x00}; -
168static const unsigned char mcur_cross_bits[] = { -
169 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, -
170 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, -
171 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00}; -
172 -
173static const uchar cur_ibeam_bits[] = { -
174 0x00, 0x00, 0xe0, 0x03, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, -
175 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, -
176 0x80, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00 }; -
177static const uchar mcur_ibeam_bits[] = { -
178 0xf0, 0x07, 0xf0, 0x07, 0xf0, 0x07, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, -
179 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, -
180 0xf0, 0x07, 0xf0, 0x07, 0xf0, 0x07, 0x00, 0x00 }; -
181 -
182static const uchar cur_ver_bits[] = { -
183 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, -
184 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xf0, 0x0f, -
185 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00 }; -
186static const uchar mcur_ver_bits[] = { -
187 0x00, 0x00, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xf0, 0x1f, 0xf8, 0x3f, -
188 0xfc, 0x7f, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xfc, 0x7f, 0xf8, 0x3f, -
189 0xf0, 0x1f, 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03 }; -
190 -
191static const uchar cur_hor_bits[] = { -
192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x30, 0x18, -
193 0x38, 0x38, 0xfc, 0x7f, 0xfc, 0x7f, 0x38, 0x38, 0x30, 0x18, 0x20, 0x08, -
194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
195static const uchar mcur_hor_bits[] = { -
196 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x60, 0x0c, 0x70, 0x1c, 0x78, 0x3c, -
197 0xfc, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfc, 0x7f, 0x78, 0x3c, -
198 0x70, 0x1c, 0x60, 0x0c, 0x40, 0x04, 0x00, 0x00 }; -
199static const uchar cur_bdiag_bits[] = { -
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x3e, 0x00, 0x3c, 0x00, 0x3e, -
201 0x00, 0x37, 0x88, 0x23, 0xd8, 0x01, 0xf8, 0x00, 0x78, 0x00, 0xf8, 0x00, -
202 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
203static const uchar mcur_bdiag_bits[] = { -
204 0x00, 0x00, 0xc0, 0x7f, 0x80, 0x7f, 0x00, 0x7f, 0x00, 0x7e, 0x04, 0x7f, -
205 0x8c, 0x7f, 0xdc, 0x77, 0xfc, 0x63, 0xfc, 0x41, 0xfc, 0x00, 0xfc, 0x01, -
206 0xfc, 0x03, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00 }; -
207static const uchar cur_fdiag_bits[] = { -
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0xf8, 0x00, 0x78, 0x00, -
209 0xf8, 0x00, 0xd8, 0x01, 0x88, 0x23, 0x00, 0x37, 0x00, 0x3e, 0x00, 0x3c, -
210 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00 }; -
211static const uchar mcur_fdiag_bits[] = { -
212 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0xfc, 0x03, 0xfc, 0x01, 0xfc, 0x00, -
213 0xfc, 0x41, 0xfc, 0x63, 0xdc, 0x77, 0x8c, 0x7f, 0x04, 0x7f, 0x00, 0x7e, -
214 0x00, 0x7f, 0x80, 0x7f, 0xc0, 0x7f, 0x00, 0x00 }; -
215 -
216// 20 x 20 -
217static const uchar forbidden_bits[] = { -
218 0x00,0x00,0x00,0x80,0x1f,0x00,0xe0,0x7f,0x00,0xf0,0xf0,0x00,0x38,0xc0,0x01, -
219 0x7c,0x80,0x03,0xec,0x00,0x03,0xce,0x01,0x07,0x86,0x03,0x06,0x06,0x07,0x06, -
220 0x06,0x0e,0x06,0x06,0x1c,0x06,0x0e,0x38,0x07,0x0c,0x70,0x03,0x1c,0xe0,0x03, -
221 0x38,0xc0,0x01,0xf0,0xe0,0x00,0xe0,0x7f,0x00,0x80,0x1f,0x00,0x00,0x00,0x00 }; -
222 -
223static const uchar forbiddenm_bits[] = { -
224 0x80,0x1f,0x00,0xe0,0x7f,0x00,0xf0,0xff,0x00,0xf8,0xff,0x01,0xfc,0xf0,0x03, -
225 0xfe,0xc0,0x07,0xfe,0x81,0x07,0xff,0x83,0x0f,0xcf,0x07,0x0f,0x8f,0x0f,0x0f, -
226 0x0f,0x1f,0x0f,0x0f,0x3e,0x0f,0x1f,0xfc,0x0f,0x1e,0xf8,0x07,0x3e,0xf0,0x07, -
227 0xfc,0xe0,0x03,0xf8,0xff,0x01,0xf0,0xff,0x00,0xe0,0x7f,0x00,0x80,0x1f,0x00}; -
228 -
229// 32 x 32 -
230static const uchar wait_data_bits[] = { -
231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0x00, -
233 0x00, 0x04, 0x40, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x08, 0x20, 0x00, -
234 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, -
235 0x00, 0x50, 0x15, 0x00, 0x00, 0xa0, 0x0a, 0x00, 0x00, 0x40, 0x05, 0x00, -
236 0x00, 0x80, 0x02, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x20, 0x08, 0x00, -
237 0x00, 0x10, 0x10, 0x00, 0x00, 0x08, 0x21, 0x00, 0x00, 0x88, 0x22, 0x00, -
238 0x00, 0x48, 0x25, 0x00, 0x00, 0xa8, 0x2a, 0x00, 0x00, 0xfc, 0x7f, 0x00, -
239 0x00, 0x04, 0x40, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, -
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
242static const uchar wait_mask_bits[] = { -
243 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0x00, -
245 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xf8, 0x3f, 0x00, -
246 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00, -
247 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xc0, 0x07, 0x00, -
248 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0f, 0x00, -
249 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00, -
250 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc, 0x7f, 0x00, -
251 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, -
252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
254 -
255static const uchar hsplit_bits[] = { -
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
258 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, -
259 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, -
260 0x00, 0x41, 0x82, 0x00, 0x80, 0x41, 0x82, 0x01, 0xc0, 0x7f, 0xfe, 0x03, -
261 0x80, 0x41, 0x82, 0x01, 0x00, 0x41, 0x82, 0x00, 0x00, 0x40, 0x02, 0x00, -
262 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, -
263 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, -
264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
267static const uchar hsplitm_bits[] = { -
268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
270 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, -
271 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe2, 0x47, 0x00, 0x00, 0xe3, 0xc7, 0x00, -
272 0x80, 0xe3, 0xc7, 0x01, 0xc0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x07, -
273 0xc0, 0xff, 0xff, 0x03, 0x80, 0xe3, 0xc7, 0x01, 0x00, 0xe3, 0xc7, 0x00, -
274 0x00, 0xe2, 0x47, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, -
275 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -
276 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
277 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
278 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
279static const uchar vsplit_bits[] = { -
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, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, -
283 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, -
284 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, -
285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, -
286 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, -
287 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, -
288 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
289 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
290 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
291static const uchar vsplitm_bits[] = { -
292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
293 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, -
294 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00, -
295 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, -
296 0x00, 0xc0, 0x01, 0x00, 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00, -
297 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00, -
298 0x80, 0xff, 0xff, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, -
299 0x00, 0xc0, 0x01, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, -
300 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, -
301 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
303static const uchar phand_bits[] = { -
304 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, -
305 0x7e, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x70, 0x08, 0x00, 0x00, -
306 0x08, 0x08, 0x00, 0x00, 0x70, 0x14, 0x00, 0x00, 0x08, 0x22, 0x00, 0x00, -
307 0x30, 0x41, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x00, 0x40, 0x12, 0x00, 0x00, -
308 0x80, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -
309 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
310 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
311 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
312 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
313 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
314 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
315static const uchar phandm_bits[] = { -
316 0xfe, 0x01, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, -
317 0xff, 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, -
318 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, -
319 0xf8, 0xff, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, -
320 0xc0, 0x1f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, -
321 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
322 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
324 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
326 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
327 -
328static const uchar size_all_data_bits[] = { -
329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
330 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
331 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, -
332 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, -
333 0x00, 0x80, 0x00, 0x00, 0x00, 0x81, 0x40, 0x00, 0x80, 0x81, 0xc0, 0x00, -
334 0xc0, 0xff, 0xff, 0x01, 0x80, 0x81, 0xc0, 0x00, 0x00, 0x81, 0x40, 0x00, -
335 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, -
336 0x00, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00, -
337 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
338 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
339 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
340static const uchar size_all_mask_bits[] = { -
341 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
342 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, -
343 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00, -
344 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc2, 0x21, 0x00, -
345 0x00, 0xc3, 0x61, 0x00, 0x80, 0xc3, 0xe1, 0x00, 0xc0, 0xff, 0xff, 0x01, -
346 0xe0, 0xff, 0xff, 0x03, 0xc0, 0xff, 0xff, 0x01, 0x80, 0xc3, 0xe1, 0x00, -
347 0x00, 0xc3, 0x61, 0x00, 0x00, 0xc2, 0x21, 0x00, 0x00, 0xc0, 0x01, 0x00, -
348 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x00, -
349 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
350 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -
352 -
353static const uchar whatsthis_bits[] = { -
354 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0xf0, 0x07, 0x00, -
355 0x09, 0x18, 0x0e, 0x00, 0x11, 0x1c, 0x0e, 0x00, 0x21, 0x1c, 0x0e, 0x00, -
356 0x41, 0x1c, 0x0e, 0x00, 0x81, 0x1c, 0x0e, 0x00, 0x01, 0x01, 0x07, 0x00, -
357 0x01, 0x82, 0x03, 0x00, 0xc1, 0xc7, 0x01, 0x00, 0x49, 0xc0, 0x01, 0x00, -
358 0x95, 0xc0, 0x01, 0x00, 0x93, 0xc0, 0x01, 0x00, 0x21, 0x01, 0x00, 0x00, -
359 0x20, 0xc1, 0x01, 0x00, 0x40, 0xc2, 0x01, 0x00, 0x40, 0x02, 0x00, 0x00, -
360 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
361 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
363 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
364 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -
365static const uchar whatsthism_bits[] = { -
366 0x01, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x07, 0x00, 0x07, 0xf8, 0x0f, 0x00, -
367 0x0f, 0xfc, 0x1f, 0x00, 0x1f, 0x3e, 0x1f, 0x00, 0x3f, 0x3e, 0x1f, 0x00, -
368 0x7f, 0x3e, 0x1f, 0x00, 0xff, 0x3e, 0x1f, 0x00, 0xff, 0x9d, 0x0f, 0x00, -
369 0xff, 0xc3, 0x07, 0x00, 0xff, 0xe7, 0x03, 0x00, 0x7f, 0xe0, 0x03, 0x00, -
370 0xf7, 0xe0, 0x03, 0x00, 0xf3, 0xe0, 0x03, 0x00, 0xe1, 0xe1, 0x03, 0x00, -
371 0xe0, 0xe1, 0x03, 0x00, 0xc0, 0xe3, 0x03, 0x00, 0xc0, 0xe3, 0x03, 0x00, -
372 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
373 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
375 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -
377 -
378static const uchar busy_bits[] = { -
379 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, -
380 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, -
381 0x41, 0xe0, 0xff, 0x00, 0x81, 0x20, 0x80, 0x00, 0x01, 0xe1, 0xff, 0x00, -
382 0x01, 0x42, 0x40, 0x00, 0xc1, 0x47, 0x40, 0x00, 0x49, 0x40, 0x55, 0x00, -
383 0x95, 0x80, 0x2a, 0x00, 0x93, 0x00, 0x15, 0x00, 0x21, 0x01, 0x0a, 0x00, -
384 0x20, 0x01, 0x11, 0x00, 0x40, 0x82, 0x20, 0x00, 0x40, 0x42, 0x44, 0x00, -
385 0x80, 0x41, 0x4a, 0x00, 0x00, 0x40, 0x55, 0x00, 0x00, 0xe0, 0xff, 0x00, -
386 0x00, 0x20, 0x80, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, -
387 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
388 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
389 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; -
390static const uchar busym_bits[] = { -
391 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, -
392 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, -
393 0x7f, 0xe0, 0xff, 0x00, 0xff, 0xe0, 0xff, 0x00, 0xff, 0xe1, 0xff, 0x00, -
394 0xff, 0xc3, 0x7f, 0x00, 0xff, 0xc7, 0x7f, 0x00, 0x7f, 0xc0, 0x7f, 0x00, -
395 0xf7, 0x80, 0x3f, 0x00, 0xf3, 0x00, 0x1f, 0x00, 0xe1, 0x01, 0x0e, 0x00, -
396 0xe0, 0x01, 0x1f, 0x00, 0xc0, 0x83, 0x3f, 0x00, 0xc0, 0xc3, 0x7f, 0x00, -
397 0x80, 0xc1, 0x7f, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0xff, 0x00, -
398 0x00, 0xe0, 0xff, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, -
399 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
400 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -
401 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; -
402 -
403// 16 x 16 -
404static const uchar openhand_bits[] = { -
405 0x80,0x01,0x58,0x0e,0x64,0x12,0x64,0x52,0x48,0xb2,0x48,0x92, -
406 0x16,0x90,0x19,0x80,0x11,0x40,0x02,0x40,0x04,0x40,0x04,0x20, -
407 0x08,0x20,0x10,0x10,0x20,0x10,0x00,0x00}; -
408static const uchar openhandm_bits[] = { -
409 0x80,0x01,0xd8,0x0f,0xfc,0x1f,0xfc,0x5f,0xf8,0xff,0xf8,0xff, -
410 0xfe,0xff,0xff,0xff,0xff,0x7f,0xfe,0x7f,0xfc,0x7f,0xfc,0x3f, -
411 0xf8,0x3f,0xf0,0x1f,0xe0,0x1f,0x00,0x00}; -
412static const uchar closedhand_bits[] = { -
413 0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x0d,0x48,0x32,0x08,0x50, -
414 0x10,0x40,0x18,0x40,0x04,0x40,0x04,0x20,0x08,0x20,0x10,0x10, -
415 0x20,0x10,0x20,0x10,0x00,0x00,0x00,0x00}; -
416static const uchar closedhandm_bits[] = { -
417 0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x0d,0xf8,0x3f,0xf8,0x7f, -
418 0xf0,0x7f,0xf8,0x7f,0xfc,0x7f,0xfc,0x3f,0xf8,0x3f,0xf0,0x1f, -
419 0xe0,0x1f,0xe0,0x1f,0x00,0x00,0x00,0x00}; -
420 -
421void QPlatformCursorImage::createSystemCursor(int id) -
422{ -
423 if (!systemCursorTableInit) {
never evaluated: !systemCursorTableInit
0
424 for (int i = 0; i <= Qt::LastCursor; i++)
never evaluated: i <= Qt::LastCursor
0
425 systemCursorTable[i] = 0;
never executed: systemCursorTable[i] = 0;
0
426 systemCursorTableInit = true;
never executed (the execution status of this line is deduced): systemCursorTableInit = true;
-
427 }
never executed: }
0
428 switch (id) { -
429 // 16x16 cursors -
430 case Qt::ArrowCursor: -
431 systemCursorTable[Qt::ArrowCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::ArrowCursor] =
-
432 new QPlatformCursorImage(cur_arrow_bits, mcur_arrow_bits, 16, 16, 0, 0);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_arrow_bits, mcur_arrow_bits, 16, 16, 0, 0);
-
433 break;
never executed: break;
0
434 -
435 case Qt::UpArrowCursor: -
436 systemCursorTable[Qt::UpArrowCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::UpArrowCursor] =
-
437 new QPlatformCursorImage(cur_up_arrow_bits, mcur_up_arrow_bits, 16, 16, 7, 0);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_up_arrow_bits, mcur_up_arrow_bits, 16, 16, 7, 0);
-
438 break;
never executed: break;
0
439 -
440 case Qt::CrossCursor: -
441 systemCursorTable[Qt::CrossCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::CrossCursor] =
-
442 new QPlatformCursorImage(cur_cross_bits, mcur_cross_bits, 16, 16, 7, 7);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_cross_bits, mcur_cross_bits, 16, 16, 7, 7);
-
443 break;
never executed: break;
0
444 -
445 case Qt::IBeamCursor: -
446 systemCursorTable[Qt::IBeamCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::IBeamCursor] =
-
447 new QPlatformCursorImage(cur_ibeam_bits, mcur_ibeam_bits, 16, 16, 7, 7);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_ibeam_bits, mcur_ibeam_bits, 16, 16, 7, 7);
-
448 break;
never executed: break;
0
449 -
450 case Qt::SizeVerCursor: -
451 systemCursorTable[Qt::SizeVerCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::SizeVerCursor] =
-
452 new QPlatformCursorImage(cur_ver_bits, mcur_ver_bits, 16, 16, 7, 7);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_ver_bits, mcur_ver_bits, 16, 16, 7, 7);
-
453 break;
never executed: break;
0
454 -
455 case Qt::SizeHorCursor: -
456 systemCursorTable[Qt::SizeHorCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::SizeHorCursor] =
-
457 new QPlatformCursorImage(cur_hor_bits, mcur_hor_bits, 16, 16, 7, 7);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_hor_bits, mcur_hor_bits, 16, 16, 7, 7);
-
458 break;
never executed: break;
0
459 -
460 case Qt::SizeBDiagCursor: -
461 systemCursorTable[Qt::SizeBDiagCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::SizeBDiagCursor] =
-
462 new QPlatformCursorImage(cur_bdiag_bits, mcur_bdiag_bits, 16, 16, 7, 7);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_bdiag_bits, mcur_bdiag_bits, 16, 16, 7, 7);
-
463 break;
never executed: break;
0
464 -
465 case Qt::SizeFDiagCursor: -
466 systemCursorTable[Qt::SizeFDiagCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::SizeFDiagCursor] =
-
467 new QPlatformCursorImage(cur_fdiag_bits, mcur_fdiag_bits, 16, 16, 7, 7);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(cur_fdiag_bits, mcur_fdiag_bits, 16, 16, 7, 7);
-
468 break;
never executed: break;
0
469 -
470 case Qt::BlankCursor: -
471 systemCursorTable[Qt::BlankCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::BlankCursor] =
-
472 new QPlatformCursorImage(0, 0, 0, 0, 0, 0);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(0, 0, 0, 0, 0, 0);
-
473 break;
never executed: break;
0
474 -
475 // 20x20 cursors -
476 case Qt::ForbiddenCursor: -
477 systemCursorTable[Qt::ForbiddenCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::ForbiddenCursor] =
-
478 new QPlatformCursorImage(forbidden_bits, forbiddenm_bits, 20, 20, 10, 10);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(forbidden_bits, forbiddenm_bits, 20, 20, 10, 10);
-
479 break;
never executed: break;
0
480 -
481 // 32x32 cursors -
482 case Qt::WaitCursor: -
483 systemCursorTable[Qt::WaitCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::WaitCursor] =
-
484 new QPlatformCursorImage(wait_data_bits, wait_mask_bits, 32, 32, 15, 15);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(wait_data_bits, wait_mask_bits, 32, 32, 15, 15);
-
485 break;
never executed: break;
0
486 -
487 case Qt::SplitVCursor: -
488 systemCursorTable[Qt::SplitVCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::SplitVCursor] =
-
489 new QPlatformCursorImage(vsplit_bits, vsplitm_bits, 32, 32, 15, 15);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(vsplit_bits, vsplitm_bits, 32, 32, 15, 15);
-
490 break;
never executed: break;
0
491 -
492 case Qt::SplitHCursor: -
493 systemCursorTable[Qt::SplitHCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::SplitHCursor] =
-
494 new QPlatformCursorImage(hsplit_bits, hsplitm_bits, 32, 32, 15, 15);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(hsplit_bits, hsplitm_bits, 32, 32, 15, 15);
-
495 break;
never executed: break;
0
496 -
497 case Qt::SizeAllCursor: -
498 systemCursorTable[Qt::SizeAllCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::SizeAllCursor] =
-
499 new QPlatformCursorImage(size_all_data_bits, size_all_mask_bits, 32, 32, 15, 15);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(size_all_data_bits, size_all_mask_bits, 32, 32, 15, 15);
-
500 break;
never executed: break;
0
501 -
502 case Qt::PointingHandCursor: -
503 systemCursorTable[Qt::PointingHandCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::PointingHandCursor] =
-
504 new QPlatformCursorImage(phand_bits, phandm_bits, 32, 32, 0, 0);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(phand_bits, phandm_bits, 32, 32, 0, 0);
-
505 break;
never executed: break;
0
506 -
507 case Qt::WhatsThisCursor: -
508 systemCursorTable[Qt::WhatsThisCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::WhatsThisCursor] =
-
509 new QPlatformCursorImage(whatsthis_bits, whatsthism_bits, 32, 32, 0, 0);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(whatsthis_bits, whatsthism_bits, 32, 32, 0, 0);
-
510 break;
never executed: break;
0
511 case Qt::BusyCursor: -
512 systemCursorTable[Qt::BusyCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::BusyCursor] =
-
513 new QPlatformCursorImage(busy_bits, busym_bits, 32, 32, 0, 0);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(busy_bits, busym_bits, 32, 32, 0, 0);
-
514 break;
never executed: break;
0
515 -
516 case Qt::OpenHandCursor: -
517 systemCursorTable[Qt::OpenHandCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::OpenHandCursor] =
-
518 new QPlatformCursorImage(openhand_bits, openhandm_bits, 16, 16, 8, 8);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(openhand_bits, openhandm_bits, 16, 16, 8, 8);
-
519 break;
never executed: break;
0
520 case Qt::ClosedHandCursor: -
521 systemCursorTable[Qt::ClosedHandCursor] =
never executed (the execution status of this line is deduced): systemCursorTable[Qt::ClosedHandCursor] =
-
522 new QPlatformCursorImage(closedhand_bits, closedhandm_bits, 16, 16, 8, 8);
never executed (the execution status of this line is deduced): new QPlatformCursorImage(closedhand_bits, closedhandm_bits, 16, 16, 8, 8);
-
523 break;
never executed: break;
0
524 default: -
525 qWarning("Unknown system cursor %d", id);
never executed (the execution status of this line is deduced): QMessageLogger("kernel/qplatformcursor.cpp", 525, __PRETTY_FUNCTION__).warning("Unknown system cursor %d", id);
-
526 }
never executed: }
0
527}
never executed: }
0
528 -
529/*! -
530 \fn void QPlatformCursorImage::set(Qt::CursorShape id) -
531 -
532 \brief Calling this method sets the cursor image to the specified shape -
533 -
534 \a id is one of the defined Qt::CursorShape values. -
535 -
536 If id is invalid, Qt::BitmapCursor, or unknown by the implementation, -
537 Qt::ArrowCursor is used instead. -
538*/ -
539 -
540void QPlatformCursorImage::set(Qt::CursorShape id) -
541{ -
542 QPlatformCursorImage *cursor = 0;
never executed (the execution status of this line is deduced): QPlatformCursorImage *cursor = 0;
-
543 if (id >= 0 && id <= Qt::LastCursor) {
never evaluated: id >= 0
never evaluated: id <= Qt::LastCursor
0
544 if (!systemCursorTable[id])
never evaluated: !systemCursorTable[id]
0
545 createSystemCursor(id);
never executed: createSystemCursor(id);
0
546 cursor = systemCursorTable[id];
never executed (the execution status of this line is deduced): cursor = systemCursorTable[id];
-
547 }
never executed: }
0
548 -
549 if (cursor == 0) {
never evaluated: cursor == 0
0
550 if (!systemCursorTable[Qt::ArrowCursor])
never evaluated: !systemCursorTable[Qt::ArrowCursor]
0
551 createSystemCursor(Qt::ArrowCursor);
never executed: createSystemCursor(Qt::ArrowCursor);
0
552 cursor = systemCursorTable[Qt::ArrowCursor];
never executed (the execution status of this line is deduced): cursor = systemCursorTable[Qt::ArrowCursor];
-
553 }
never executed: }
0
554 cursorImage = cursor->cursorImage;
never executed (the execution status of this line is deduced): cursorImage = cursor->cursorImage;
-
555 hot = cursor->hot;
never executed (the execution status of this line is deduced): hot = cursor->hot;
-
556}
never executed: }
0
557 -
558/*! -
559 Sets the cursor image to the given \a image, with the hotspot at the -
560 point specified by (\a hx, \a hy). -
561*/ -
562 -
563void QPlatformCursorImage::set(const QImage &image, int hx, int hy) -
564{ -
565 hot.setX(hx);
never executed (the execution status of this line is deduced): hot.setX(hx);
-
566 hot.setY(hy);
never executed (the execution status of this line is deduced): hot.setY(hy);
-
567 cursorImage = image;
never executed (the execution status of this line is deduced): cursorImage = image;
-
568}
never executed: }
0
569 -
570/*! -
571 \fn void QPlatformCursorImage::set(const uchar *data, const uchar *mask, int width, int height, int hx, int hy) -
572 -
573 Sets the cursor image to the graphic represented by the combination of -
574 \a data and \a mask, with dimensions given by \a width and \a height and a -
575 hotspot at the point specified by (\a hx, \a hy). -
576 -
577 The image data specified by \a data must be supplied in the format -
578 described by QImage::Format_Indexed8. -
579 -
580 The corresponding mask data specified by \a mask must be supplied in a -
581 character array containing packed 1 bit per pixel format data, with any -
582 padding bits at the end of the array. Bits of value 0 represent transparent -
583 pixels in the image data. -
584*/ -
585void QPlatformCursorImage::set(const uchar *data, const uchar *mask, -
586 int width, int height, int hx, int hy) -
587{ -
588 hot.setX(hx);
never executed (the execution status of this line is deduced): hot.setX(hx);
-
589 hot.setY(hy);
never executed (the execution status of this line is deduced): hot.setY(hy);
-
590 -
591 cursorImage = QImage(width,height, QImage::Format_Indexed8);
never executed (the execution status of this line is deduced): cursorImage = QImage(width,height, QImage::Format_Indexed8);
-
592 -
593 if (!width || !height || !data || !mask || cursorImage.isNull())
never evaluated: !width
never evaluated: !height
never evaluated: !data
never evaluated: !mask
never evaluated: cursorImage.isNull()
0
594 return;
never executed: return;
0
595 -
596 cursorImage.setColorCount(3);
never executed (the execution status of this line is deduced): cursorImage.setColorCount(3);
-
597 cursorImage.setColor(0, 0xff000000);
never executed (the execution status of this line is deduced): cursorImage.setColor(0, 0xff000000);
-
598 cursorImage.setColor(1, 0xffffffff);
never executed (the execution status of this line is deduced): cursorImage.setColor(1, 0xffffffff);
-
599 cursorImage.setColor(2, 0x00000000);
never executed (the execution status of this line is deduced): cursorImage.setColor(2, 0x00000000);
-
600 -
601 int bytesPerLine = (width + 7) / 8;
never executed (the execution status of this line is deduced): int bytesPerLine = (width + 7) / 8;
-
602 int p = 0;
never executed (the execution status of this line is deduced): int p = 0;
-
603 int d, m;
never executed (the execution status of this line is deduced): int d, m;
-
604 -
605 int x = -1, w = 0;
never executed (the execution status of this line is deduced): int x = -1, w = 0;
-
606 -
607 uchar *cursor_data = cursorImage.bits();
never executed (the execution status of this line is deduced): uchar *cursor_data = cursorImage.bits();
-
608 int bpl = cursorImage.bytesPerLine();
never executed (the execution status of this line is deduced): int bpl = cursorImage.bytesPerLine();
-
609 for (int i = 0; i < height; i++)
never evaluated: i < height
0
610 { -
611 for (int j = 0; j < bytesPerLine; j++, data++, mask++)
never evaluated: j < bytesPerLine
0
612 { -
613 for (int b = 0; b < 8 && j*8+b < width; b++)
never evaluated: b < 8
never evaluated: j*8+b < width
0
614 { -
615 d = *data & (1 << b);
never executed (the execution status of this line is deduced): d = *data & (1 << b);
-
616 m = *mask & (1 << b);
never executed (the execution status of this line is deduced): m = *mask & (1 << b);
-
617 if (d && m) p = 0;
never executed: p = 0;
never evaluated: d
never evaluated: m
0
618 else if (!d && m) p = 1;
never executed: p = 1;
never evaluated: !d
never evaluated: m
0
619 else p = 2;
never executed: p = 2;
0
620 cursor_data[j*8+b] = p;
never executed (the execution status of this line is deduced): cursor_data[j*8+b] = p;
-
621 -
622 // calc region -
623 if (x < 0 && m)
never evaluated: x < 0
never evaluated: m
0
624 x = j*8+b;
never executed: x = j*8+b;
0
625 else if (x >= 0 && !m) {
never evaluated: x >= 0
never evaluated: !m
0
626 x = -1;
never executed (the execution status of this line is deduced): x = -1;
-
627 w = 0;
never executed (the execution status of this line is deduced): w = 0;
-
628 }
never executed: }
0
629 if (m)
never evaluated: m
0
630 w++;
never executed: w++;
0
631 }
never executed: }
0
632 }
never executed: }
0
633 if (x >= 0) {
never evaluated: x >= 0
0
634 x = -1;
never executed (the execution status of this line is deduced): x = -1;
-
635 w = 0;
never executed (the execution status of this line is deduced): w = 0;
-
636 }
never executed: }
0
637 cursor_data += bpl;
never executed (the execution status of this line is deduced): cursor_data += bpl;
-
638 }
never executed: }
0
639 -
640}
never executed: }
0
641 -
642/*! -
643 \fn QPlatformCursorImage::QPlatformCursorImage(const uchar *data, const uchar *mask, int width, int height, int hotX, int hotY) -
644 -
645 Sets the cursor image to the graphic represented by the combination of -
646 \a data and \a mask, with dimensions given by \a width and \a height and a -
647 hotspot at the point specified by (\a hotX, \a hotY). -
648 -
649 \sa set() -
650*/ -
651 -
652/*! -
653 \fn QImage *QPlatformCursorImage::image() -
654 -
655 \brief Return the cursor graphic as a pointer to a QImage -
656*/ -
657 -
658/*! -
659 \fn QPoint QPlatformCursorImage::hotspot() const -
660 -
661 \brief Return the cursor's hotspot -
662*/ -
663 -
664QT_END_NAMESPACE -
665 -
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial