KWin
Loading...
Searching...
No Matches
src
scene
workspacescene_qpainter.h
Go to the documentation of this file.
1
/*
2
KWin - the KDE window manager
3
This file is part of the KDE project.
4
5
SPDX-FileCopyrightText: 2013 Martin Gräßlin <mgraesslin@kde.org>
6
7
SPDX-License-Identifier: GPL-2.0-or-later
8
*/
9
#pragma once
10
11
#include "
platformsupport/scenes/qpainter/qpainterbackend.h
"
12
13
#include "
scene/decorationitem.h
"
14
#include "
scene/shadowitem.h
"
15
#include "
scene/workspacescene.h
"
16
17
namespace
KWin
18
{
19
20
class
KWIN_EXPORT
WorkspaceSceneQPainter
:
public
WorkspaceScene
21
{
22
Q_OBJECT
23
24
public
:
25
explicit
WorkspaceSceneQPainter
(
QPainterBackend
*backend);
26
~WorkspaceSceneQPainter
()
override
;
27
28
std::unique_ptr<DecorationRenderer> createDecorationRenderer(
Decoration::DecoratedClientImpl
*impl)
override
;
29
std::unique_ptr<ShadowTextureProvider> createShadowTextureProvider(
Shadow
*shadow)
override
;
30
31
bool
animationsSupported
()
const override
32
{
33
return
false
;
34
}
35
36
QPainterBackend
*
backend
()
const
37
{
38
return
m_backend;
39
}
40
41
private
:
42
QPainterBackend
*m_backend;
43
};
44
45
class
QPainterShadowTextureProvider
:
public
ShadowTextureProvider
46
{
47
public
:
48
explicit
QPainterShadowTextureProvider
(
Shadow
*
shadow
);
49
50
void
update
()
override
;
51
};
52
53
class
SceneQPainterDecorationRenderer
:
public
DecorationRenderer
54
{
55
Q_OBJECT
56
public
:
57
enum class
DecorationPart
:
int
{
58
Left
,
59
Top
,
60
Right
,
61
Bottom
,
62
Count
63
};
64
explicit
SceneQPainterDecorationRenderer
(
Decoration::DecoratedClientImpl
*
client
);
65
66
void
render
(
const
QRegion ®ion)
override
;
67
68
QImage
image
(
DecorationPart
part)
const
;
69
70
private
:
71
void
resizeImages();
72
QImage m_images[int(
DecorationPart::Count
)];
73
};
74
75
}
// KWin
KWin::Decoration::DecoratedClientImpl
Definition
decoratedclient.h:27
KWin::DecorationRenderer
Definition
decorationitem.h:28
KWin::DecorationRenderer::client
Decoration::DecoratedClientImpl * client() const
Definition
decorationitem.cpp:38
KWin::QPainterBackend
Definition
qpainterbackend.h:26
KWin::QPainterShadowTextureProvider
Definition
workspacescene_qpainter.h:46
KWin::QPainterShadowTextureProvider::update
void update() override
Definition
workspacescene_qpainter.cpp:57
KWin::QPainterShadowTextureProvider::QPainterShadowTextureProvider
QPainterShadowTextureProvider(Shadow *shadow)
Definition
workspacescene_qpainter.cpp:52
KWin::SceneQPainterDecorationRenderer
Definition
workspacescene_qpainter.h:54
KWin::SceneQPainterDecorationRenderer::DecorationPart
DecorationPart
Definition
workspacescene_qpainter.h:57
KWin::SceneQPainterDecorationRenderer::DecorationPart::Bottom
@ Bottom
KWin::SceneQPainterDecorationRenderer::DecorationPart::Right
@ Right
KWin::SceneQPainterDecorationRenderer::DecorationPart::Left
@ Left
KWin::SceneQPainterDecorationRenderer::DecorationPart::Top
@ Top
KWin::SceneQPainterDecorationRenderer::DecorationPart::Count
@ Count
KWin::SceneQPainterDecorationRenderer::render
void render(const QRegion ®ion) override
Definition
workspacescene_qpainter.cpp:75
KWin::SceneQPainterDecorationRenderer::image
QImage image(DecorationPart part) const
Definition
workspacescene_qpainter.cpp:69
KWin::SceneQPainterDecorationRenderer::SceneQPainterDecorationRenderer
SceneQPainterDecorationRenderer(Decoration::DecoratedClientImpl *client)
Definition
workspacescene_qpainter.cpp:64
KWin::Shadow
Class representing a Window's Shadow to be rendered by the Compositor.
Definition
shadow.h:48
KWin::ShadowTextureProvider
Definition
shadowitem.h:18
KWin::ShadowTextureProvider::shadow
Shadow * shadow() const
Definition
shadowitem.h:23
KWin::WorkspaceScene
Definition
workspacescene.h:39
KWin::WorkspaceSceneQPainter
Definition
workspacescene_qpainter.h:21
KWin::WorkspaceSceneQPainter::backend
QPainterBackend * backend() const
Definition
workspacescene_qpainter.h:36
KWin::WorkspaceSceneQPainter::animationsSupported
bool animationsSupported() const override
Definition
workspacescene_qpainter.h:31
decorationitem.h
KWin
Definition
activation_test.cpp:20
qpainterbackend.h
shadowitem.h
workspacescene.h
Generated on Sat Feb 17 2024 01:42:10 for KWin by
1.10.0