4#ifndef QQUICKANIMATEDPROPERTY_P_H
5#define QQUICKANIMATEDPROPERTY_P_H
20#include <QtGui/private/qbezier_p.h>
24class QQuickAnimatedProperty
27 struct PropertyAnimation {
31 ReplacePreviousAnimations = 2,
34 QMap<
int, QVariant> frames;
35 QMap<
int, QBezier> easingPerFrame;
39 quint8 flags = NoFlags;
41 bool isConstant()
const {
42 for (
const auto& frame : frames) {
43 if (frame != frames.first())
50 QQuickAnimatedProperty(
const QVariant &defaultValue)
51 : m_defaultValue(defaultValue)
55 bool isAnimated()
const
57 return !m_animations.isEmpty();
60 QVariant defaultValue()
const
62 return m_defaultValue;
65 void setDefaultValue(
const QVariant &value)
67 m_defaultValue = value;
70 qsizetype animationCount()
const
72 return m_animations.size();
75 const PropertyAnimation &animation(
int index)
const
77 return m_animations.at(index);
80 void addAnimation(
const PropertyAnimation &animation)
82 if (m_animationGroups.isEmpty())
83 beginAnimationGroup();
85 m_animations.append(animation);
88 qsizetype animationGroupCount()
const
90 return m_animationGroups.size();
93 int animationGroup(
int index)
const
95 return m_animationGroups.at(index);
98 void beginAnimationGroup()
100 m_animationGroups.append(m_animations.size());
104 QVariant m_defaultValue;
105 QList<PropertyAnimation> m_animations;
106 QList<
int> m_animationGroups;
void visitPolygonNode(const QSvgPolygon *node) override
bool visitSwitchNodeStart(const QSvgSwitch *node) override
void visitMaskNodeEnd(const QSvgMask *node) override
void visitEllipseNode(const QSvgEllipse *node) override
void visitPathNode(const QSvgPath *node) override
bool visitDefsNodeStart(const QSvgDefs *node) override
bool visitMaskNodeStart(const QSvgMask *node) override
void visitDocumentNodeEnd(const QSvgTinyDocument *node) override
void visitStructureNodeEnd(const QSvgStructureNode *node) override
void visitRectNode(const QSvgRect *node) override
void visitLineNode(const QSvgLine *node) override
void visitNode(const QSvgNode *node) override
void visitPolylineNode(const QSvgPolyline *node) override
QSvgVisitorImpl(const QString svgFileName, QQuickGenerator *generator, bool assumeTrustedSource)
void visitUseNode(const QSvgUse *node) override
bool visitDocumentNodeStart(const QSvgTinyDocument *node) override
void visitImageNode(const QSvgImage *node) override
void visitTextNode(const QSvgText *node) override
void visitSwitchNodeEnd(const QSvgSwitch *node) override
bool visitStructureNodeStart(const QSvgStructureNode *node) override
QT_BEGIN_NAMESPACE QT_DECLARE_EXPORTED_QT_LOGGING_CATEGORY(lcAotCompiler, Q_QMLCOMPILER_EXPORT)