17 #include "CursorImageInfo.h" 19 CursorImageInfo::CursorImageInfo(QObject *parent)
22 m_updateTimer.setInterval(0);
23 m_updateTimer.setSingleShot(
true);
24 connect(&m_updateTimer, &QTimer::timeout,
this, &CursorImageInfo::update);
27 void CursorImageInfo::setCursorName(
const QString &cursorName)
29 if (cursorName != m_cursorName) {
30 m_cursorName = cursorName;
31 Q_EMIT cursorNameChanged();
36 void CursorImageInfo::setThemeName(
const QString &themeName)
38 if (m_themeName != themeName) {
39 m_themeName = themeName;
40 Q_EMIT themeNameChanged();
45 void CursorImageInfo::scheduleUpdate()
47 if (!m_updateTimer.isActive()) {
48 m_updateTimer.start();
52 void CursorImageInfo::update()
54 m_cursorImage = CursorImageProvider::instance()->fetchCursor(m_themeName, m_cursorName);
56 Q_EMIT hotspotChanged();
57 Q_EMIT frameWidthChanged();
58 Q_EMIT frameHeightChanged();
59 Q_EMIT frameCountChanged();
60 Q_EMIT frameDurationChanged();
63 QPoint CursorImageInfo::hotspot()
const 66 return m_cursorImage->hotspot;
72 qreal CursorImageInfo::frameWidth()
const 75 return m_cursorImage->frameWidth;
81 qreal CursorImageInfo::frameHeight()
const 84 return m_cursorImage->frameHeight;
90 int CursorImageInfo::frameCount()
const 93 return m_cursorImage->frameCount;
99 int CursorImageInfo::frameDuration()
const 102 return m_cursorImage->frameDuration;