File indexing completed on 2026-09-27 09:24:17
0001
0002
0003
0004
0005 #ifndef QGRAPHICSITEMANIMATION_H
0006 #define QGRAPHICSITEMANIMATION_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtCore/qobject.h>
0010
0011 QT_REQUIRE_CONFIG(graphicsview);
0012
0013 QT_BEGIN_NAMESPACE
0014
0015 class QGraphicsItem;
0016 class QPointF;
0017 class QTimeLine;
0018 class QTransform;
0019
0020 class QGraphicsItemAnimationPrivate;
0021 class Q_WIDGETS_EXPORT QGraphicsItemAnimation : public QObject
0022 {
0023 Q_OBJECT
0024 public:
0025 QGraphicsItemAnimation(QObject *parent = nullptr);
0026 virtual ~QGraphicsItemAnimation();
0027
0028 QGraphicsItem *item() const;
0029 void setItem(QGraphicsItem *item);
0030
0031 QTimeLine *timeLine() const;
0032 void setTimeLine(QTimeLine *timeLine);
0033
0034 QPointF posAt(qreal step) const;
0035 QList<std::pair<qreal, QPointF> > posList() const;
0036 void setPosAt(qreal step, const QPointF &pos);
0037
0038 QTransform transformAt(qreal step) const;
0039
0040 qreal rotationAt(qreal step) const;
0041 QList<std::pair<qreal, qreal> > rotationList() const;
0042 void setRotationAt(qreal step, qreal angle);
0043
0044 qreal xTranslationAt(qreal step) const;
0045 qreal yTranslationAt(qreal step) const;
0046 QList<std::pair<qreal, QPointF> > translationList() const;
0047 void setTranslationAt(qreal step, qreal dx, qreal dy);
0048
0049 qreal verticalScaleAt(qreal step) const;
0050 qreal horizontalScaleAt(qreal step) const;
0051 QList<std::pair<qreal, QPointF> > scaleList() const;
0052 void setScaleAt(qreal step, qreal sx, qreal sy);
0053
0054 qreal verticalShearAt(qreal step) const;
0055 qreal horizontalShearAt(qreal step) const;
0056 QList<std::pair<qreal, QPointF> > shearList() const;
0057 void setShearAt(qreal step, qreal sh, qreal sv);
0058
0059 void clear();
0060
0061 public Q_SLOTS:
0062 void setStep(qreal x);
0063
0064 protected:
0065 virtual void beforeAnimationStep(qreal step);
0066 virtual void afterAnimationStep(qreal step);
0067
0068 private:
0069 Q_DISABLE_COPY(QGraphicsItemAnimation)
0070 QGraphicsItemAnimationPrivate *d;
0071 };
0072
0073 QT_END_NAMESPACE
0074
0075 #endif