From 4ffa4cbdad93a31ef7d9712d3d91777510a1a17d Mon Sep 17 00:00:00 2001 From: Szabolcs David Date: Mon, 9 Nov 2015 06:25:56 -0800 Subject: Support custom mouse cursors Task-number: QTBUG-43009 Change-Id: Ic36554c5137a55d9d4b9143c204d9d4400e23ff8 Reviewed-by: Joerg Bornemann --- src/core/render_widget_host_view_qt.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/core/render_widget_host_view_qt.cpp') diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 330173880..2e67b0e89 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -75,6 +75,7 @@ #include #include #include +#include #include #include #include @@ -535,7 +536,12 @@ void RenderWidgetHostViewQt::UpdateCursor(const content::WebCursor &webCursor) shape = Qt::ClosedHandCursor; break; case blink::WebCursorInfo::TypeCustom: - // FIXME: Extract from the CursorInfo. + if (cursorInfo.custom_image.colorType() == SkColorType::kN32_SkColorType) { + QImage cursor = toQImage(cursorInfo.custom_image, QImage::Format_ARGB32); + m_delegate->updateCursor(QCursor(QPixmap::fromImage(cursor))); + return; + } + // Use arrow cursor as fallback in case the Chromium implementation changes. shape = Qt::ArrowCursor; break; default: -- cgit v1.2.3