diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2012-02-15 18:55:25 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-18 18:07:23 +0100 |
commit | f63b23afdac47bbf71a7b72fdd965c55b2f60602 (patch) | |
tree | 57dc37a6a9ef7bc687099f3682d8814cd46010d9 | |
parent | 1703558330454d0a9d2e71ecd60d99bb7f2b79b7 (diff) |
QEasingCurve: return QVector for cubic spline representation
QEasingCurve internally holds the spline data in a
QVector<QPointF>. For the return from cubicBezierSpline(),
the vector is transformed into a QList<QPointF>.
This involves copying, and into an inefficient (for QPointF
payloads) container at that, so deprecate cubicBezierSpline()
in favour of a new toCubicSpline() returning the QVector
directly.
Change-Id: Ie4827fe7c6e289ad97a0b09772e47298779c76ca
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
-rw-r--r-- | src/corelib/tools/qeasingcurve.cpp | 12 | ||||
-rw-r--r-- | src/corelib/tools/qeasingcurve.h | 11 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp index 76c06cb0d5..5731faa69c 100644 --- a/src/corelib/tools/qeasingcurve.cpp +++ b/src/corelib/tools/qeasingcurve.cpp @@ -1303,14 +1303,20 @@ void QEasingCurve::addTCBSegment(const QPointF &nextPoint, qreal t, qreal c, qre } /*! + \fn QList<QPointF> QEasingCurve::cubicBezierSpline() const + \obsolete Use toCubicSpline() instead. + */ + +/*! + \since 5.0 Returns the cubicBezierSpline that defines a custom easing curve. If the easing curve does not have a custom bezier easing curve the list is empty. - */ -QList<QPointF> QEasingCurve::cubicBezierSpline() const +*/ +QVector<QPointF> QEasingCurve::toCubicSpline() const { - return d_ptr->config ? d_ptr->config->_bezierCurves.toList() : QList<QPointF>(); + return d_ptr->config ? d_ptr->config->_bezierCurves : QVector<QPointF>(); } /*! diff --git a/src/corelib/tools/qeasingcurve.h b/src/corelib/tools/qeasingcurve.h index 4d53af591b..ad2e510799 100644 --- a/src/corelib/tools/qeasingcurve.h +++ b/src/corelib/tools/qeasingcurve.h @@ -44,7 +44,11 @@ #include <QtCore/qglobal.h> #include <QtCore/qobjectdefs.h> -#include <QtCore/qlist.h> +#include <QtCore/qvector.h> +#if QT_DEPRECATED_SINCE(5, 0) +# include <QtCore/qlist.h> +# include <QtCore/qpoint.h> +#endif QT_BEGIN_HEADER @@ -94,7 +98,10 @@ public: void addCubicBezierSegment(const QPointF & c1, const QPointF & c2, const QPointF & endPoint); void addTCBSegment(const QPointF &nextPoint, qreal t, qreal c, qreal b); - QList<QPointF> cubicBezierSpline() const; + QVector<QPointF> toCubicSpline() const; +#if QT_DEPRECATED_SINCE(5, 0) + QT_DEPRECATED QList<QPointF> cubicBezierSpline() const { return toCubicSpline().toList(); } +#endif Type type() const; void setType(Type type); |