5#ifndef QQUICKANIMATION_P_H
6#define QQUICKANIMATION_P_H
21#if QT_CONFIG(quick_path)
22#include <private/qquickpath_p.h>
24#include <private/qquickanimation_p_p.h>
30 Q_DECLARE_PUBLIC(QQuickParentAnimation)
44 Q_DECLARE_PUBLIC(QQuickAnchorAnimation)
54#if QT_CONFIG(quick_path)
56class QQuickPathAnimationUpdater :
public QQuickBulkValueUpdater
59 QQuickPathAnimationUpdater() : path(
nullptr), pathLength(0), target(
nullptr), reverse(
false),
60 fromIsSourced(
false), fromIsDefined(
false), toIsDefined(
false),
61 toX(0), toY(0), currentV(0), orientation(QQuickPathAnimation::Fixed),
62 entryInterval(0), exitInterval(0) {}
64 void setValue(qreal v) override;
68 QPainterPath painterPath;
69 QQuickCachedBezier prevBez;
71 QList<QQuickPath::AttributePoint> attributePoints;
81 QQmlNullableValue<qreal> interruptStart;
83 QQuickPathAnimation::Orientation orientation;
87 QQmlNullableValue<qreal> endRotation;
88 QQmlNullableValue<qreal> startRotation;
91class QQuickPathAnimationPrivate;
92class QQuickPathAnimationAnimator :
public QQuickBulkValueAnimator
95 QQuickPathAnimationAnimator(QQuickPathAnimationPrivate * =
nullptr);
96 ~QQuickPathAnimationAnimator();
98 void clearTemplate() { animationTemplate =
nullptr; }
100 QQuickPathAnimationUpdater *pathUpdater()
const {
return static_cast<QQuickPathAnimationUpdater*>(getAnimValue()); }
102 QQuickPathAnimationPrivate *animationTemplate;
105class QQuickPathAnimationPrivate :
public QQuickAbstractAnimationPrivate
107 Q_DECLARE_PUBLIC(QQuickPathAnimation)
109 QQuickPathAnimationPrivate() : path(
nullptr), target(
nullptr),
110 orientation(QQuickPathAnimation::Fixed), entryDuration(0), exitDuration(0), duration(250) {}
114 QQuickPathAnimation::Orientation orientation;
118 QQmlNullableValue<qreal> endRotation;
120 QEasingCurve easingCurve;
121 QHash<QQuickItem*, QQuickPathAnimationAnimator* > activeAnimations;
QList< QQuickItem * > targets
QPointF computeTransformOrigin(QQuickItem::TransformOrigin origin, qreal width, qreal height) const
QList< QQuickParentChange * > pc
QQuickStateActions actions
~QQuickParentAnimationData()
QQuickParentAnimationData()