summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-02-15 18:55:25 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-18 18:07:23 +0100
commitf63b23afdac47bbf71a7b72fdd965c55b2f60602 (patch)
tree57dc37a6a9ef7bc687099f3682d8814cd46010d9
parent1703558330454d0a9d2e71ecd60d99bb7f2b79b7 (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.cpp12
-rw-r--r--src/corelib/tools/qeasingcurve.h11
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);