14#include <QDBusConnection>
22 QDBusConnection::sessionBus().registerObject(QStringLiteral(
"/org/kde/KWin/BlendChanges"),
23 QStringLiteral(
"org.kde.KWin.BlendChanges"),
25 QDBusConnection::ExportAllSlots);
39 int animationDuration = animationTime(400);
41 if (!supported() || m_state != Off) {
49 for (
auto window : allWindows) {
50 if (!window->isFullScreen()) {
55 QTimer::singleShot(delay,
this, [
this, animationDuration]() {
56 m_timeline.setDuration(std::chrono::milliseconds(animationDuration));
61 m_state = ShowingCache;
66 return m_state != Off;
71 if (m_timeline.
done()) {
76 for (
auto window : allWindows) {
94 if (m_state == Blending) {
95 m_timeline.
advance(presentTime);
103#include "moc_blendchanges.cpp"
void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override
bool isActive() const override
void paintWindow(const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, QRegion region, WindowPaintData &data) override
void postPaintScreen() override
void start(int delay=300)
void unredirect(EffectWindow *window)
Representation of a window used by/for Effect classes.
bool animationsSupported() const
bool hasActiveFullScreenEffect
QList< EffectWindow * > stackingOrder
CompositingType compositingType
void paintWindow(const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, const QRegion ®ion, WindowPaintData &data)
void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime)
Q_SCRIPTABLE void addRepaintFull()
void advance(std::chrono::milliseconds timestamp)
void setEasingCurve(const QEasingCurve &easingCurve)
void setCrossFadeProgress(qreal factor)
Sets the cross fading factor to fade over with previously sized window. If 1.0 only the current windo...