KWin
Loading...
Searching...
No Matches
magiclamp.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: 2008 Martin Gräßlin <mgraesslin@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9
10#pragma once
11
12#include "effect/effectwindow.h"
14#include "effect/timeline.h"
15
16namespace KWin
17{
18
24
26{
27 Q_OBJECT
28
29public:
31
32 void reconfigure(ReconfigureFlags) override;
33 void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override;
34 void prePaintWindow(EffectWindow *w, WindowPrePaintData &data, std::chrono::milliseconds presentTime) override;
35 void postPaintScreen() override;
36 bool isActive() const override;
37
38 int requestedEffectChainPosition() const override
39 {
40 return 50;
41 }
42
43 static bool supported();
44
45protected:
46 void apply(EffectWindow *window, int mask, WindowPaintData &data, WindowQuadList &quads) override;
47
48public Q_SLOTS:
53
54private:
55 std::chrono::milliseconds m_duration;
56 QHash<EffectWindow *, MagicLampAnimation> m_animations;
57
58 enum IconPosition {
59 Top,
60 Bottom,
61 Left,
62 Right
63 };
64};
65
66} // namespace
Representation of a window used by/for Effect classes.
void slotWindowUnminimized(KWin::EffectWindow *w)
void slotWindowAdded(KWin::EffectWindow *w)
void reconfigure(ReconfigureFlags) override
Definition magiclamp.cpp:40
void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override
Definition magiclamp.cpp:52
void prePaintWindow(EffectWindow *w, WindowPrePaintData &data, std::chrono::milliseconds presentTime) override
Definition magiclamp.cpp:61
int requestedEffectChainPosition() const override
Definition magiclamp.h:38
void postPaintScreen() override
void slotWindowMinimized(KWin::EffectWindow *w)
bool isActive() const override
static bool supported()
Definition magiclamp.cpp:35
void apply(EffectWindow *window, int mask, WindowPaintData &data, WindowQuadList &quads) override
Definition magiclamp.cpp:74
void slotWindowDeleted(KWin::EffectWindow *w)
EffectWindowVisibleRef visibleRef
Definition magiclamp.h:21