Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:24:17

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
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