~gabriel1984sibiu/minitube/qt5.6

« back to all changes in this revision

Viewing changes to src/widgets/graphicsview/qgraphicsitemanimation.h

  • Committer: Grevutiu Gabriel
  • Date: 2017-06-13 08:43:17 UTC
  • Revision ID: gabriel1984sibiu@gmail.com-20170613084317-ek0zqe0u9g3ocvi8
OriginalĀ upstreamĀ code

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2016 The Qt Company Ltd.
 
4
** Contact: https://www.qt.io/licensing/
 
5
**
 
6
** This file is part of the QtWidgets module of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL$
 
9
** Commercial License Usage
 
10
** Licensees holding valid commercial Qt licenses may use this file in
 
11
** accordance with the commercial license agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and The Qt Company. For licensing terms
 
14
** and conditions see https://www.qt.io/terms-conditions. For further
 
15
** information use the contact form at https://www.qt.io/contact-us.
 
16
**
 
17
** GNU Lesser General Public License Usage
 
18
** Alternatively, this file may be used under the terms of the GNU Lesser
 
19
** General Public License version 3 as published by the Free Software
 
20
** Foundation and appearing in the file LICENSE.LGPL3 included in the
 
21
** packaging of this file. Please review the following information to
 
22
** ensure the GNU Lesser General Public License version 3 requirements
 
23
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
 
24
**
 
25
** GNU General Public License Usage
 
26
** Alternatively, this file may be used under the terms of the GNU
 
27
** General Public License version 2.0 or (at your option) the GNU General
 
28
** Public license version 3 or any later version approved by the KDE Free
 
29
** Qt Foundation. The licenses are as published by the Free Software
 
30
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
 
31
** included in the packaging of this file. Please review the following
 
32
** information to ensure the GNU General Public License requirements will
 
33
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
 
34
** https://www.gnu.org/licenses/gpl-3.0.html.
 
35
**
 
36
** $QT_END_LICENSE$
 
37
**
 
38
****************************************************************************/
 
39
 
 
40
#ifndef QGRAPHICSITEMANIMATION_H
 
41
#define QGRAPHICSITEMANIMATION_H
 
42
 
 
43
#include <QtCore/qobject.h>
 
44
 
 
45
#if !defined(QT_NO_GRAPHICSVIEW)
 
46
 
 
47
QT_BEGIN_NAMESPACE
 
48
 
 
49
 
 
50
class QGraphicsItem;
 
51
class QMatrix;
 
52
class QPointF;
 
53
class QTimeLine;
 
54
template <class T1, class T2> struct QPair;
 
55
 
 
56
class QGraphicsItemAnimationPrivate;
 
57
class Q_WIDGETS_EXPORT QGraphicsItemAnimation : public QObject
 
58
{
 
59
    Q_OBJECT
 
60
public:
 
61
    QGraphicsItemAnimation(QObject *parent = Q_NULLPTR);
 
62
    virtual ~QGraphicsItemAnimation();
 
63
 
 
64
    QGraphicsItem *item() const;
 
65
    void setItem(QGraphicsItem *item);
 
66
 
 
67
    QTimeLine *timeLine() const;
 
68
    void setTimeLine(QTimeLine *timeLine);
 
69
 
 
70
    QPointF posAt(qreal step) const;
 
71
    QList<QPair<qreal, QPointF> > posList() const;
 
72
    void setPosAt(qreal step, const QPointF &pos);
 
73
 
 
74
    QMatrix matrixAt(qreal step) const;
 
75
 
 
76
    qreal rotationAt(qreal step) const;
 
77
    QList<QPair<qreal, qreal> > rotationList() const;
 
78
    void setRotationAt(qreal step, qreal angle);
 
79
 
 
80
    qreal xTranslationAt(qreal step) const;
 
81
    qreal yTranslationAt(qreal step) const;
 
82
    QList<QPair<qreal, QPointF> > translationList() const;
 
83
    void setTranslationAt(qreal step, qreal dx, qreal dy);
 
84
 
 
85
    qreal verticalScaleAt(qreal step) const;
 
86
    qreal horizontalScaleAt(qreal step) const;
 
87
    QList<QPair<qreal, QPointF> > scaleList() const;
 
88
    void setScaleAt(qreal step, qreal sx, qreal sy);
 
89
 
 
90
    qreal verticalShearAt(qreal step) const;
 
91
    qreal horizontalShearAt(qreal step) const;
 
92
    QList<QPair<qreal, QPointF> > shearList() const;
 
93
    void setShearAt(qreal step, qreal sh, qreal sv);
 
94
 
 
95
    void clear();
 
96
 
 
97
public Q_SLOTS:
 
98
    void setStep(qreal x);
 
99
    void reset();
 
100
 
 
101
protected:
 
102
    virtual void beforeAnimationStep(qreal step);
 
103
    virtual void afterAnimationStep(qreal step);
 
104
 
 
105
private:
 
106
    Q_DISABLE_COPY(QGraphicsItemAnimation)
 
107
    QGraphicsItemAnimationPrivate *d;
 
108
};
 
109
 
 
110
QT_END_NAMESPACE
 
111
 
 
112
#endif // QT_NO_GRAPHICSVIEW
 
113
#endif