Respect the hotspot when creating the cursor in Cocoa
The hotspot was not taken from the QCursor so if one was set then it was reset to 0x0. Change-Id: Ie81f1c2ac15a16f10436738367e612c44dc42d38 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
This commit is contained in:
parent
3860848674
commit
b06b519759
@ -199,14 +199,14 @@ NSCursor *QCocoaCursor::createCursorData(QCursor *cursor)
|
|||||||
#endif
|
#endif
|
||||||
const uchar *cursorData = 0;
|
const uchar *cursorData = 0;
|
||||||
const uchar *cursorMaskData = 0;
|
const uchar *cursorMaskData = 0;
|
||||||
QPoint hotspot;
|
QPoint hotspot = cursor->hotSpot();
|
||||||
|
|
||||||
switch (cursor->shape()) {
|
switch (cursor->shape()) {
|
||||||
case Qt::BitmapCursor: {
|
case Qt::BitmapCursor: {
|
||||||
if (cursor->pixmap().isNull())
|
if (cursor->pixmap().isNull())
|
||||||
return createCursorFromBitmap(cursor->bitmap(), cursor->mask());
|
return createCursorFromBitmap(cursor->bitmap(), cursor->mask(), hotspot);
|
||||||
else
|
else
|
||||||
return createCursorFromPixmap(cursor->pixmap());
|
return createCursorFromPixmap(cursor->pixmap(), hotspot);
|
||||||
break; }
|
break; }
|
||||||
case Qt::BlankCursor: {
|
case Qt::BlankCursor: {
|
||||||
QPixmap pixmap = QPixmap(16, 16);
|
QPixmap pixmap = QPixmap(16, 16);
|
||||||
@ -215,19 +215,19 @@ NSCursor *QCocoaCursor::createCursorData(QCursor *cursor)
|
|||||||
break; }
|
break; }
|
||||||
case Qt::WaitCursor: {
|
case Qt::WaitCursor: {
|
||||||
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/spincursor.png"));
|
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/spincursor.png"));
|
||||||
return createCursorFromPixmap(pixmap);
|
return createCursorFromPixmap(pixmap, hotspot);
|
||||||
break; }
|
break; }
|
||||||
case Qt::SizeAllCursor: {
|
case Qt::SizeAllCursor: {
|
||||||
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/pluscursor.png"));
|
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/pluscursor.png"));
|
||||||
return createCursorFromPixmap(pixmap);
|
return createCursorFromPixmap(pixmap, hotspot);
|
||||||
break; }
|
break; }
|
||||||
case Qt::BusyCursor: {
|
case Qt::BusyCursor: {
|
||||||
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/waitcursor.png"));
|
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/waitcursor.png"));
|
||||||
return createCursorFromPixmap(pixmap);
|
return createCursorFromPixmap(pixmap, hotspot);
|
||||||
break; }
|
break; }
|
||||||
case Qt::ForbiddenCursor: {
|
case Qt::ForbiddenCursor: {
|
||||||
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/forbiddencursor.png"));
|
QPixmap pixmap = QPixmap(QLatin1String(":/qt-project.org/mac/cursors/images/forbiddencursor.png"));
|
||||||
return createCursorFromPixmap(pixmap);
|
return createCursorFromPixmap(pixmap, hotspot);
|
||||||
break; }
|
break; }
|
||||||
#define QT_USE_APPROXIMATE_CURSORS
|
#define QT_USE_APPROXIMATE_CURSORS
|
||||||
#ifdef QT_USE_APPROXIMATE_CURSORS
|
#ifdef QT_USE_APPROXIMATE_CURSORS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user