| Line | Source Code | Coverage |
|---|
| 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 | | - | | 52 | QT_BEGIN_NAMESPACE | - | | 53 | | - | | 54 | QList<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 | */ | - | | 109 | QPlatformCursor::QPlatformCursor() | - | | 110 | { | - | | 111 | } | - | | 112 | | - | | 113 | QPoint 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 | | - | | 119 | void 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 | } | 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 | | - | | 142 | static QPlatformCursorImage *systemCursorTable[Qt::LastCursor+1]; | - | | 143 | static bool systemCursorTableInit = false; | - | | 144 | | - | | 145 | // 16 x 16 | - | | 146 | static 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 }; | - | | 150 | static 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 | | - | | 155 | static 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}; | - | | 159 | static 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 | | - | | 164 | static 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}; | - | | 168 | static 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 | | - | | 173 | static 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 }; | - | | 177 | static 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 | | - | | 182 | static 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 }; | - | | 186 | static 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 | | - | | 191 | static 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 }; | - | | 195 | static 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 }; | - | | 199 | static 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 }; | - | | 203 | static 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 }; | - | | 207 | static 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 }; | - | | 211 | static 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 | - | | 217 | static 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 | | - | | 223 | static 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 | - | | 230 | static 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 }; | - | | 242 | static 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 | | - | | 255 | static 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 }; | - | | 267 | static 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 }; | - | | 279 | static 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 }; | - | | 291 | static 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 }; | - | | 303 | static 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 }; | - | | 315 | static 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 | | - | | 328 | static 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 }; | - | | 340 | static 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 | | - | | 353 | static 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, }; | - | | 365 | static 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 | | - | | 378 | static 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}; | - | | 390 | static 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 | - | | 404 | static 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}; | - | | 408 | static 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}; | - | | 412 | static 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}; | - | | 416 | static 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 | | - | | 421 | void 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 | } | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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; | 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 | } | 0 | | 527 | } | 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 | | - | | 540 | void 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 | } | 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 | } | 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 | } | 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 | | - | | 563 | void 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 | } | 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 | */ | - | | 585 | void 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; | 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; | 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 | } | 0 | | 629 | if (m) | 0 | | 630 | w++; | 0 | | 631 | } | 0 | | 632 | } | 0 | | 633 | if (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 | } | 0 | | 637 | cursor_data += bpl; never executed (the execution status of this line is deduced): cursor_data += bpl; | - | | 638 | } | 0 | | 639 | | - | | 640 | } | 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 | | - | | 664 | QT_END_NAMESPACE | - | | 665 | | - | | | |
|