41 lines
762 B
C
41 lines
762 B
C
|
/*
|
||
|
SPDX-FileCopyrightText: 2022 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||
|
|
||
|
SPDX-License-Identifier: GPL-2.0-or-later
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "renderlayerdelegate.h"
|
||
|
|
||
|
namespace KWin
|
||
|
{
|
||
|
|
||
|
class AbstractOutput;
|
||
|
|
||
|
class KWIN_EXPORT CursorView : public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
explicit CursorView(QObject *parent = nullptr);
|
||
|
|
||
|
virtual void paint(AbstractOutput *output, const QRegion ®ion) = 0;
|
||
|
};
|
||
|
|
||
|
class KWIN_EXPORT CursorDelegate : public RenderLayerDelegate
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
CursorDelegate(AbstractOutput *output, CursorView *view);
|
||
|
|
||
|
void paint(const QRegion &damage, const QRegion &repaint, QRegion &update, QRegion &valid) override;
|
||
|
|
||
|
private:
|
||
|
CursorView *m_view;
|
||
|
AbstractOutput *m_output;
|
||
|
};
|
||
|
|
||
|
} // namespace KWin
|