/* SPDX-FileCopyrightText: 2022 Vlad Zahorodnii SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include "scene/scene.h" namespace KWin { class CursorItem; class Output; class RootItem; class KWIN_EXPORT CursorScene : public Scene { Q_OBJECT public: explicit CursorScene(std::unique_ptr &&renderer); ~CursorScene() override; QRegion prePaint(SceneDelegate *delegate) override; void postPaint() override; void paint(const RenderTarget &renderTarget, const QRegion ®ion) override; private: std::unique_ptr m_rootItem; std::unique_ptr m_cursorItem; Output *m_paintedOutput = nullptr; }; } // namespace KWin