diff options
Diffstat (limited to 'Source/WebCore/platform/qt/CursorQt.cpp')
-rw-r--r-- | Source/WebCore/platform/qt/CursorQt.cpp | 83 |
1 files changed, 39 insertions, 44 deletions
diff --git a/Source/WebCore/platform/qt/CursorQt.cpp b/Source/WebCore/platform/qt/CursorQt.cpp index ffec6715a..6f27b671c 100644 --- a/Source/WebCore/platform/qt/CursorQt.cpp +++ b/Source/WebCore/platform/qt/CursorQt.cpp @@ -49,17 +49,12 @@ Cursor::Cursor(const Cursor& other) , m_image(other.m_image) , m_hotSpot(other.m_hotSpot) #ifndef QT_NO_CURSOR - , m_platformCursor(other.m_platformCursor ? new QCursor(*other.m_platformCursor) : 0) + , m_platformCursor(other.m_platformCursor) #endif { } -Cursor::~Cursor() -{ -#ifndef QT_NO_CURSOR - delete m_platformCursor; -#endif -} +Cursor::~Cursor() = default; Cursor& Cursor::operator=(const Cursor& other) { @@ -67,18 +62,18 @@ Cursor& Cursor::operator=(const Cursor& other) m_image = other.m_image; m_hotSpot = other.m_hotSpot; #ifndef QT_NO_CURSOR - m_platformCursor = other.m_platformCursor ? new QCursor(*other.m_platformCursor) : 0; + m_platformCursor = other.m_platformCursor; #endif return *this; } #ifndef QT_NO_CURSOR -static QCursor* createCustomCursor(Image* image, const IntPoint& hotSpot) +static Optional<QCursor> createCustomCursor(Image* image, const IntPoint& hotSpot) { if (!image->nativeImageForCurrentFrame()) - return 0; + return Nullopt; IntPoint effectiveHotSpot = determineHotSpot(image, hotSpot); - return new QCursor(*(image->nativeImageForCurrentFrame()), effectiveHotSpot.x(), effectiveHotSpot.y()); + return QCursor(*(image->nativeImageForCurrentFrame()), effectiveHotSpot.x(), effectiveHotSpot.y()); } #endif @@ -90,117 +85,117 @@ void Cursor::ensurePlatformCursor() const switch (m_type) { case Pointer: - m_platformCursor = new QCursor(Qt::ArrowCursor); + m_platformCursor = QCursor(Qt::ArrowCursor); break; case Cross: - m_platformCursor = new QCursor(Qt::CrossCursor); + m_platformCursor = QCursor(Qt::CrossCursor); break; case Hand: - m_platformCursor = new QCursor(Qt::PointingHandCursor); + m_platformCursor = QCursor(Qt::PointingHandCursor); break; case IBeam: - m_platformCursor = new QCursor(Qt::IBeamCursor); + m_platformCursor = QCursor(Qt::IBeamCursor); break; case Wait: - m_platformCursor = new QCursor(Qt::WaitCursor); + m_platformCursor = QCursor(Qt::WaitCursor); break; case Help: - m_platformCursor = new QCursor(Qt::WhatsThisCursor); + m_platformCursor = QCursor(Qt::WhatsThisCursor); break; case EastResize: case EastPanning: - m_platformCursor = new QCursor(Qt::SizeHorCursor); + m_platformCursor = QCursor(Qt::SizeHorCursor); break; case NorthResize: case NorthPanning: - m_platformCursor = new QCursor(Qt::SizeVerCursor); + m_platformCursor = QCursor(Qt::SizeVerCursor); break; case NorthEastResize: case NorthEastPanning: - m_platformCursor = new QCursor(Qt::SizeBDiagCursor); + m_platformCursor = QCursor(Qt::SizeBDiagCursor); break; case NorthWestResize: case NorthWestPanning: - m_platformCursor = new QCursor(Qt::SizeFDiagCursor); + m_platformCursor = QCursor(Qt::SizeFDiagCursor); break; case SouthResize: case SouthPanning: - m_platformCursor = new QCursor(Qt::SizeVerCursor); + m_platformCursor = QCursor(Qt::SizeVerCursor); break; case SouthEastResize: case SouthEastPanning: - m_platformCursor = new QCursor(Qt::SizeFDiagCursor); + m_platformCursor = QCursor(Qt::SizeFDiagCursor); break; case SouthWestResize: case SouthWestPanning: - m_platformCursor = new QCursor(Qt::SizeBDiagCursor); + m_platformCursor = QCursor(Qt::SizeBDiagCursor); break; case WestResize: case WestPanning: - m_platformCursor = new QCursor(Qt::SizeHorCursor); + m_platformCursor = QCursor(Qt::SizeHorCursor); break; case NorthSouthResize: - m_platformCursor = new QCursor(Qt::SizeVerCursor); + m_platformCursor = QCursor(Qt::SizeVerCursor); break; case EastWestResize: - m_platformCursor = new QCursor(Qt::SizeHorCursor); + m_platformCursor = QCursor(Qt::SizeHorCursor); break; case NorthEastSouthWestResize: - m_platformCursor = new QCursor(Qt::SizeBDiagCursor); + m_platformCursor = QCursor(Qt::SizeBDiagCursor); break; case NorthWestSouthEastResize: - m_platformCursor = new QCursor(Qt::SizeFDiagCursor); + m_platformCursor = QCursor(Qt::SizeFDiagCursor); break; case ColumnResize: - m_platformCursor = new QCursor(Qt::SplitHCursor); + m_platformCursor = QCursor(Qt::SplitHCursor); break; case RowResize: - m_platformCursor = new QCursor(Qt::SplitVCursor); + m_platformCursor = QCursor(Qt::SplitVCursor); break; case MiddlePanning: case Move: - m_platformCursor = new QCursor(Qt::SizeAllCursor); + m_platformCursor = QCursor(Qt::SizeAllCursor); break; case None: - m_platformCursor = new QCursor(Qt::BlankCursor); + m_platformCursor = QCursor(Qt::BlankCursor); break; case NoDrop: case NotAllowed: - m_platformCursor = new QCursor(Qt::ForbiddenCursor); + m_platformCursor = QCursor(Qt::ForbiddenCursor); break; case Grab: case Grabbing: notImplemented(); - m_platformCursor = new QCursor(Qt::ArrowCursor); + m_platformCursor = QCursor(Qt::ArrowCursor); break; case VerticalText: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/verticalTextCursor.png")), 7, 7); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/verticalTextCursor.png")), 7, 7); break; case Cell: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/cellCursor.png")), 7, 7); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/cellCursor.png")), 7, 7); break; case ContextMenu: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/contextMenuCursor.png")), 3, 2); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/contextMenuCursor.png")), 3, 2); break; case Alias: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/aliasCursor.png")), 11, 3); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/aliasCursor.png")), 11, 3); break; case Progress: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/progressCursor.png")), 3, 2); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/progressCursor.png")), 3, 2); break; case Copy: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/copyCursor.png")), 3, 2); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/copyCursor.png")), 3, 2); break; case ZoomIn: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/zoomInCursor.png")), 7, 7); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/zoomInCursor.png")), 7, 7); break; case ZoomOut: - m_platformCursor = new QCursor(QPixmap(QStringLiteral(":/webkit/resources/zoomOutCursor.png")), 7, 7); + m_platformCursor = QCursor(QPixmap(QStringLiteral(":/webkit/resources/zoomOutCursor.png")), 7, 7); break; case Custom: m_platformCursor = createCustomCursor(m_image.get(), m_hotSpot); if (!m_platformCursor) - m_platformCursor = new QCursor(Qt::ArrowCursor); + m_platformCursor = QCursor(Qt::ArrowCursor); break; default: ASSERT_NOT_REACHED(); |