Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qeasingcurve.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QEASINGCURVE_H
5#define QEASINGCURVE_H
6
7#include <QtCore/qglobal.h>
8
9QT_REQUIRE_CONFIG(easingcurve);
10
11#include <QtCore/qcompare.h>
12#include <QtCore/qlist.h>
13#include <QtCore/qobjectdefs.h>
14
16
18class QPointF;
19class Q_CORE_EXPORT QEasingCurve
20{
22public:
23 enum Type {
25 InQuad, OutQuad, InOutQuad, OutInQuad,
26 InCubic, OutCubic, InOutCubic, OutInCubic,
27 InQuart, OutQuart, InOutQuart, OutInQuart,
28 InQuint, OutQuint, InOutQuint, OutInQuint,
29 InSine, OutSine, InOutSine, OutInSine,
30 InExpo, OutExpo, InOutExpo, OutInExpo,
31 InCirc, OutCirc, InOutCirc, OutInCirc,
32 InElastic, OutElastic, InOutElastic, OutInElastic,
33 InBack, OutBack, InOutBack, OutInBack,
34 InBounce, OutBounce, InOutBounce, OutInBounce,
35 InCurve, OutCurve, SineCurve, CosineCurve,
36 BezierSpline, TCBSpline, Custom, NCurveTypes
37 };
39
43
45 { if ( this != &other ) { QEasingCurve copy(other); swap(copy); } return *this; }
46 QEasingCurve(QEasingCurve &&other) noexcept : d_ptr(other.d_ptr) { other.d_ptr = nullptr; }
47 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QEasingCurve)
48
49 void swap(QEasingCurve &other) noexcept { qt_ptr_swap(d_ptr, other.d_ptr); }
50
51#if QT_CORE_REMOVED_SINCE(6, 8)
52 bool operator==(const QEasingCurve &other) const;
53 inline bool operator!=(const QEasingCurve &other) const
54 { return !(this->operator==(other)); }
55#endif
56
57 qreal amplitude() const;
58 void setAmplitude(qreal amplitude);
59
60 qreal period() const;
61 void setPeriod(qreal period);
62
63 qreal overshoot() const;
64 void setOvershoot(qreal overshoot);
65
66 void addCubicBezierSegment(const QPointF &c1, const QPointF &c2, const QPointF &endPoint);
67 void addTCBSegment(const QPointF &nextPoint, qreal t, qreal c, qreal b);
68 QList<QPointF> toCubicSpline() const;
69
70 Type type() const;
71 void setType(Type type);
72 typedef qreal (*EasingFunction)(qreal progress);
73 void setCustomType(EasingFunction func);
74 EasingFunction customType() const;
75
76 qreal valueForProgress(qreal progress) const;
77
78private:
80#ifndef QT_NO_DEBUG_STREAM
81 friend Q_CORE_EXPORT QDebug operator<<(QDebug debug, const QEasingCurve &item);
82#endif
83#ifndef QT_NO_DATASTREAM
84 friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QEasingCurve &);
85 friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QEasingCurve &);
86#endif
87 friend Q_CORE_EXPORT bool
88 comparesEqual(const QEasingCurve &lhs, const QEasingCurve &rhs) noexcept;
89#if !QT_CORE_REMOVED_SINCE(6, 8)
91#endif
92};
93Q_DECLARE_SHARED(QEasingCurve)
94
95#ifndef QT_NO_DEBUG_STREAM
96Q_CORE_EXPORT QDebug operator<<(QDebug debug, const QEasingCurve &item);
97#endif
98
99#ifndef QT_NO_DATASTREAM
100Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QEasingCurve &);
102#endif
103
105
106#endif
\inmodule QtCore\reentrant
Definition qdatastream.h:46
\inmodule QtCore
\inmodule QtCore
QEasingCurve(QEasingCurve &&other) noexcept
Move-constructs a QEasingCurve instance, making it point at the same object that other was pointing t...
QEasingCurve & operator=(const QEasingCurve &other)
Copy other.
\inmodule QtCore\reentrant
Definition qpoint.h:217
Combined button and popup list for selecting options.
static jboolean copy(JNIEnv *, jobject)
#define Q_DECLARE_EQUALITY_COMPARABLE(...)
constexpr bool operator!=(const timespec &t1, const timespec &t2)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
bool comparesEqual(const QDir &lhs, const QDir &rhs)
Definition qdir.cpp:1819
Q_CORE_EXPORT QDataStream & operator>>(QDataStream &, QEasingCurve &)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, const QEasingCurve &item)
GLboolean GLboolean GLboolean b
GLenum type
GLenum func
Definition qopenglext.h:663
const GLubyte * c
GLdouble GLdouble t
Definition qopenglext.h:243
bool operator==(const QRandomGenerator &rng1, const QRandomGenerator &rng2)
Definition qrandom.cpp:1220
constexpr void qt_ptr_swap(T *&lhs, T *&rhs) noexcept
Definition qswap.h:29
#define QT_REQUIRE_CONFIG(feature)
#define Q_ENUM(x)
#define Q_GADGET
double qreal
Definition qtypes.h:187
QDataStream & operator<<(QDataStream &out, const MyClass &myObj)
[4]
QDataStream & operator>>(QDataStream &in, MyClass &myObj)
MyCustomStruct c2
QSharedPointer< T > other(t)
[5]
this swap(other)
QGraphicsItem * item
proxy setType(QNetworkProxy::Socks5Proxy)
Definition moc.h:23