]> git.sesse.net Git - kdenlive/blobdiff - src/beziercurve/cubicbezierspline.cpp
Bezier Spline:
[kdenlive] / src / beziercurve / cubicbezierspline.cpp
index f188860db8098da3cfa296cb07038fcad77b5d03..881d20af7e0e6bd8f53ce45daf38a3609114ecde 100644 (file)
@@ -18,7 +18,6 @@
 
 #include "cubicbezierspline.h"
 
-#include <KDebug>
 
 /** @brief For sorting a Bezier spline. Whether a is before b. */
 static bool pointLessThan(const BPoint &a, const BPoint &b)
@@ -31,23 +30,8 @@ CubicBezierSpline::CubicBezierSpline(QObject* parent) :
         m_validSpline(false),
         m_precision(100)
 {
-    BPoint start;
-    start.p.setX(0);
-    start.p.setY(0);
-    start.h1.setX(0);
-    start.h1.setY(0);
-    start.h2.setX(0.1);
-    start.h2.setY(0.1);
-    m_points.append(start);
-
-    BPoint end;
-    end.p.setX(1);
-    end.p.setY(1);
-    end.h1.setX(0.9);
-    end.h1.setY(0.9);
-    end.h2.setX(1);
-    end.h2.setY(1);
-    m_points.append(end);
+    m_points.append(BPoint(QPointF(0, 0), QPointF(0, 0), QPointF(.1, .1)));
+    m_points.append(BPoint(QPointF(.9, .9), QPointF(1, 1), QPointF(1, 1)));
 }
 
 CubicBezierSpline::CubicBezierSpline(const CubicBezierSpline& spline, QObject* parent) :
@@ -62,6 +46,7 @@ CubicBezierSpline& CubicBezierSpline::operator=(const CubicBezierSpline& spline)
 {
     m_precision = spline.m_precision;
     m_points = spline.m_points;
+    m_validSpline = false;
     return *this;
 }
 
@@ -80,11 +65,7 @@ void CubicBezierSpline::fromString(const QString& spline)
                 values.append(QPointF(xy.at(0).toDouble(), xy.at(1).toDouble()));
         }
         if (values.count() == 3) {
-            BPoint bp;
-            bp.h1 = values.at(0);
-            bp.p  = values.at(1);
-            bp.h2 = values.at(2);
-            m_points.append(bp);
+            m_points.append(BPoint(values.at(0), values.at(1), values.at(2)));
         }
     }
 
@@ -96,9 +77,9 @@ QString CubicBezierSpline::toString() const
 {
     QStringList spline;
     foreach(const BPoint &p, m_points) {
-        spline << (QString::number(p.h1.x()) + ";" + QString::number(p.h1.y())
-                        + "#" + QString::number(p.p.x())  + ";" + QString::number(p.p.y())
-                        + "#" + QString::number(p.h2.x()) + ";" + QString::number(p.h2.y()));
+        spline << QString("%1;%2#%3;%4#%5;%6").arg(p.h1.x()).arg(p.h1.y())
+                                              .arg(p.p.x()).arg(p.p.y())
+                                              .arg(p.h2.x()).arg(p.h2.y());
     }
     return spline.join("|");
 }