QWindowsWindowCursor QWindowsCursor::standardWindowCursor(Qt::CursorShape shape) { StandardCursorCache::iterator it = m_standardCursorCache.find(shape); if (it == m_standardCursorCache.end()) it = m_standardCursorCache.insert(shape, QWindowsWindowCursor(QCursor(shape))); return it.value(); }
QWindowsWindowCursor QWindowsCursor::pixmapWindowCursor(const QCursor &c) { const QWindowsCursorCacheKey cacheKey(c); CursorCache::iterator it = m_cursorCache.find(cacheKey); if (it == m_cursorCache.end()) it = m_cursorCache.insert(cacheKey, QWindowsWindowCursor(c)); return it.value(); }
QWindowsWindowCursor QWindowsCursor::standardWindowCursor(Qt::CursorShape shape) { const QWindowsCursorCacheKey key(shape); CursorCache::iterator it = m_cursorCache.find(key); if (it == m_cursorCache.end()) it = m_cursorCache.insert(key, QWindowsWindowCursor(QCursor(shape))); return it.value(); }
void QWindowsCursor::changeCursor(QCursor *cursorIn, QWindow *window) { if (QWindowsContext::verboseWindows > 1) qDebug() << __FUNCTION__ << cursorIn << window; if (!cursorIn || !window) return; const QWindowsWindowCursor wcursor = cursorIn->shape() == Qt::BitmapCursor ? QWindowsWindowCursor(*cursorIn) : standardWindowCursor(cursorIn->shape()); if (wcursor.handle()) { QWindowsWindow::baseWindowOf(window)->setCursor(wcursor); } else { qWarning("%s: Unable to obtain system cursor for %d", __FUNCTION__, cursorIn->shape()); } }
void QWindowsCursor::changeCursor(QCursor *cursorIn, QWindow *window) { if (!window) return; if (!cursorIn) { QWindowsWindow::baseWindowOf(window)->setCursor(QWindowsWindowCursor()); return; } const QWindowsWindowCursor wcursor = cursorIn->shape() == Qt::BitmapCursor ? pixmapWindowCursor(*cursorIn) : standardWindowCursor(cursorIn->shape()); if (wcursor.handle()) { QWindowsWindow::baseWindowOf(window)->setCursor(wcursor); } else { qWarning("%s: Unable to obtain system cursor for %d", __FUNCTION__, cursorIn->shape()); } }