KWin
Loading...
Searching...
No Matches
blendchanges.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: 2022 David Edmundson <davidedmundson@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
11#include "effect/timeline.h"
12#include <chrono>
13
14namespace KWin
15{
16
18{
19 Q_OBJECT
20
21public:
23 ~BlendChanges() override;
24
25 static bool supported();
26
27 // Effect interface
28 void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override;
29 void postPaintScreen() override;
30 void paintWindow(const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, QRegion region, WindowPaintData &data) override;
31
32 bool isActive() const override;
33
34 int requestedEffectChainPosition() const override
35 {
36 return 80;
37 }
38
39public Q_SLOTS:
45 void start(int delay = 300);
46
47private:
48 TimeLine m_timeline;
49 enum State {
50 Off,
51 ShowingCache,
52 Blending
53 };
54 State m_state = Off;
55};
56
57} // namespace KWin
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
int requestedEffectChainPosition() const override
~BlendChanges() override
static bool supported()
void start(int delay=300)
Representation of a window used by/for Effect classes.