File indexing completed on 2024-05-19 05:32:18

0001 /*
0002     SPDX-FileCopyrightText: 2022 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "scene/item.h"
0010 
0011 namespace KWin
0012 {
0013 
0014 class ImageItem;
0015 class SurfaceInterface;
0016 class SurfaceItemWayland;
0017 
0018 class CursorItem : public Item
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit CursorItem(Scene *scene, Item *parent = nullptr);
0024     ~CursorItem() override;
0025 
0026 private:
0027     void refresh();
0028     void setSurface(SurfaceInterface *surface);
0029     void setImage(const QImage &image);
0030 
0031     std::unique_ptr<ImageItem> m_imageItem;
0032     std::unique_ptr<SurfaceItemWayland> m_surfaceItem;
0033 };
0034 
0035 } // namespace KWin