diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowscursor.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowscursor.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowscursor.cpp b/src/plugins/platforms/windows/qwindowscursor.cpp index c769eb04a4..b946c34a2b 100644 --- a/src/plugins/platforms/windows/qwindowscursor.cpp +++ b/src/plugins/platforms/windows/qwindowscursor.cpp @@ -780,6 +780,21 @@ QPixmap QWindowsCursor::dragDefaultCursor(Qt::DropAction action) const return m_ignoreDragCursor; } +HCURSOR QWindowsCursor::hCursor(const QCursor &c) const +{ + const Qt::CursorShape shape = c.shape(); + if (shape == Qt::BitmapCursor) { + const auto pit = m_pixmapCursorCache.constFind(QWindowsPixmapCursorCacheKey(c)); + if (pit != m_pixmapCursorCache.constEnd()) + return pit.value()->handle(); + } else { + const auto sit = m_standardCursorCache.constFind(shape); + if (sit != m_standardCursorCache.constEnd()) + return sit.value()->handle(); + } + return HCURSOR(0); +} + /*! \class QWindowsWindowCursor \brief Per-Window cursor. Contains a QCursor and manages its associated system |