KWin
Loading...
Searching...
No Matches
anidata.cpp
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: 2011 Thomas Lübking <thomas.luebking@web.de>
6 SPDX-FileCopyrightText: 2018 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10
11#include "effect/anidata_p.h"
13
14namespace KWin
15{
16
17QDebug operator<<(QDebug dbg, const KWin::AniData &a)
18{
19 dbg.nospace() << a.debugInfo();
20 return dbg.space();
21}
22
27
32
34 : attribute(AnimationEffect::Opacity)
35 , customCurve(0) // Linear
36 , meta(0)
37 , frozenTime(-1)
38 , startTime(0)
39 , waitAtSource(false)
40 , keepAlive(true)
41{
42}
43
45 int delay, const FPx2 &from_, bool waitAtSource_,
46 const std::shared_ptr<FullScreenEffectLock> &fullScreenEffectLock, bool keepAlive,
47 GLShader *shader)
48 : attribute(a)
49 , from(from_)
50 , to(to_)
51 , meta(meta_)
52 , frozenTime(-1)
53 , startTime(AnimationEffect::clock() + delay)
54 , fullScreenEffectLock(fullScreenEffectLock)
55 , waitAtSource(waitAtSource_)
56 , keepAlive(keepAlive)
57 , shader(shader)
58{
59}
60
62{
63 if (!timeLine.done()) {
64 return true;
65 }
66
69 }
70
72}
73
74static QString attributeString(KWin::AnimationEffect::Attribute attribute)
75{
76 switch (attribute) {
78 return QStringLiteral("Opacity");
80 return QStringLiteral("Brightness");
82 return QStringLiteral("Saturation");
84 return QStringLiteral("Scale");
86 return QStringLiteral("Translation");
88 return QStringLiteral("Rotation");
90 return QStringLiteral("Position");
92 return QStringLiteral("Size");
94 return QStringLiteral("Clip");
95 default:
96 return QStringLiteral(" ");
97 }
98}
99
100QString AniData::debugInfo() const
101{
102 return (QLatin1String("Animation: ") + attributeString(attribute)
103 + QLatin1String("\n From: ") + from.toString()
104 + QLatin1String("\n To: ") + to.toString()
105 + QLatin1String("\n Started: ") + QString::number(AnimationEffect::clock() - startTime) + QLatin1String("ms ago\n")
106 + QLatin1String(" Duration: ") + QString::number(timeLine.duration().count()) + QLatin1String("ms\n")
107 + QLatin1String(" Passed: ") + QString::number(timeLine.elapsed().count()) + QLatin1String("ms\n"));
108}
109
110} // namespace KWin
TimeLine timeLine
Definition anidata_p.h:56
QString debugInfo() const
Definition anidata.cpp:100
qint64 startTime
Definition anidata_p.h:59
AnimationEffect::TerminationFlags terminationFlags
Definition anidata_p.h:65
bool isActive() const
Definition anidata.cpp:61
AnimationEffect::Attribute attribute
Definition anidata_p.h:53
Base class for all KWin effects.
Definition effect.h:535
void setActiveFullScreenEffect(Effect *e)
QString toString() const
FullScreenEffectLock(Effect *effect)
Definition anidata.cpp:23
Direction direction
Definition timeline.cpp:16
std::chrono::milliseconds duration
Definition timeline.cpp:15
std::chrono::milliseconds elapsed
Definition timeline.cpp:19
QDebug & operator<<(QDebug &s, const KWin::DrmConnector *obj)
EffectsHandler * effects