30void CursorItem::refresh()
33 if (
auto surfaceSource = qobject_cast<const SurfaceCursorSource *>(source)) {
34 setSurface(surfaceSource->surface());
35 }
else if (
auto shapeSource = qobject_cast<const ShapeCursorSource *>(source)) {
36 setImage(shapeSource->image());
40void CursorItem::setSurface(SurfaceInterface *surface)
44 if (!m_surfaceItem || m_surfaceItem->surface() != surface) {
46 m_surfaceItem = std::make_unique<SurfaceItemWayland>(surface,
scene(),
this);
48 m_surfaceItem.reset();
53void CursorItem::setImage(
const QImage &image)
55 m_surfaceItem.reset();
60 m_imageItem->setImage(image);
61 m_imageItem->setSize(image.size() / image.devicePixelRatio());
66#include "moc_cursoritem.cpp"
CursorSource * source() const
CursorItem(Scene *scene, Item *parent=nullptr)
void currentCursorChanged(Cursor *cursor)
Cursor * currentCursor() const
virtual std::unique_ptr< ImageItem > createImageItem(Scene *scene, Item *parent=nullptr)=0
ItemRenderer * renderer() const