104 bool updateWindowWobblyDatas(
EffectWindow *w, qreal time);
106 struct WindowWobblyInfos
109 QList<Pair> position;
110 QList<Pair> velocity;
111 QList<Pair> acceleration;
116 QList<bool> constraint;
122 QList<Pair> bezierSurface;
123 unsigned int bezierWidth;
124 unsigned int bezierHeight;
125 unsigned int bezierCount;
128 bool wobblying =
false;
131 bool can_wobble_top, can_wobble_left, can_wobble_right, can_wobble_bottom;
132 QRectF resize_original_rect;
134 std::chrono::milliseconds clock;
137 QHash<const EffectWindow *, WindowWobblyInfos> windows;
139 QRegion m_updateRegion;
148 qreal m_xTesselation;
149 qreal m_yTesselation;
153 qreal m_stopVelocity;
154 qreal m_minAcceleration;
155 qreal m_maxAcceleration;
156 qreal m_stopAcceleration;
161 void initWobblyInfo(WindowWobblyInfos &wwi, QRectF geometry)
const;
163 WobblyWindowsEffect::Pair computeBezierPoint(
const WindowWobblyInfos &wwi, Pair point)
const;
165 static void heightRingLinearMean(QList<Pair> &data, WindowWobblyInfos &wwi);
167 void setParameterSet(
const ParameterSet &pset);