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 #include <QObject> 0009 #include <memory> 0010 0011 #include "core/renderlayerdelegate.h" 0012 0013 namespace KWin 0014 { 0015 0016 class GLFramebuffer; 0017 class GLTexture; 0018 class Output; 0019 0020 class CursorDelegateOpenGL final : public QObject, public RenderLayerDelegate 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 CursorDelegateOpenGL(Output *output); 0026 ~CursorDelegateOpenGL() override; 0027 0028 void paint(const RenderTarget &renderTarget, const QRegion ®ion) override; 0029 0030 private: 0031 Output *const m_output; 0032 std::unique_ptr<GLTexture> m_texture; 0033 std::unique_ptr<GLFramebuffer> m_framebuffer; 0034 }; 0035 0036 } // namespace KWin