KWin
Loading...
Searching...
No Matches
fallapart.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: 2007 Lubos Lunak <l.lunak@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9
10#pragma once
11
12#include "effect/effectwindow.h"
14
15namespace KWin
16{
17
19{
21 std::chrono::milliseconds lastPresentTime = std::chrono::milliseconds::zero();
22 qreal progress = 0;
23};
24
26{
27 Q_OBJECT
28 Q_PROPERTY(int blockSize READ configuredBlockSize)
29public:
31 void reconfigure(ReconfigureFlags) override;
32 void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override;
33 void prePaintWindow(EffectWindow *w, WindowPrePaintData &data, std::chrono::milliseconds presentTime) override;
34 void postPaintScreen() override;
35 bool isActive() const override;
36
37 int requestedEffectChainPosition() const override
38 {
39 return 70;
40 }
41
42 // for properties
44 {
45 return blockSize;
46 }
47
48 static bool supported();
49
50protected:
51 void apply(EffectWindow *w, int mask, WindowPaintData &data, WindowQuadList &quads) override;
52
53public Q_SLOTS:
56
57private:
58 QHash<EffectWindow *, FallApartAnimation> windows;
59 bool isRealWindow(EffectWindow *w);
60 int blockSize;
61};
62
63} // namespace
Representation of a window used by/for Effect classes.
void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override
Definition fallapart.cpp:49
bool isActive() const override
static bool supported()
Definition fallapart.cpp:30
int configuredBlockSize() const
Definition fallapart.h:43
void prePaintWindow(EffectWindow *w, WindowPrePaintData &data, std::chrono::milliseconds presentTime) override
Definition fallapart.cpp:57
void apply(EffectWindow *w, int mask, WindowPaintData &data, WindowQuadList &quads) override
Definition fallapart.cpp:73
void slotWindowClosed(KWin::EffectWindow *c)
void reconfigure(ReconfigureFlags) override
Definition fallapart.cpp:43
void postPaintScreen() override
void slotWindowDataChanged(KWin::EffectWindow *w, int role)
int requestedEffectChainPosition() const override
Definition fallapart.h:37
std::chrono::milliseconds lastPresentTime
Definition fallapart.h:21
EffectWindowDeletedRef deletedRef
Definition fallapart.h:20