writerperfect/source/filter/OdgGenerator.cxx |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

New commits:
commit dc6953f932ffbddd5168f039e58075789b91b98b
Author: Fridrich Å trba <fridrich.st...@bluewin.ch>
Date:   Mon Jan 30 11:31:32 2012 +0100

    Initial support for quadratic beziers

diff --git a/writerperfect/source/filter/OdgGenerator.cxx 
b/writerperfect/source/filter/OdgGenerator.cxx
index 79722e8..6d58aa4 100644
--- a/writerperfect/source/filter/OdgGenerator.cxx
+++ b/writerperfect/source/filter/OdgGenerator.cxx
@@ -858,6 +858,13 @@ void OdgGeneratorPrivate::_drawPath(const 
WPXPropertyListVector &path)
             qx = (qx < path[k]["svg:x2"]->getDouble()) ? 
path[k]["svg:x2"]->getDouble() : qx;
             qy = (qy < path[k]["svg:y2"]->getDouble()) ? 
path[k]["svg:y2"]->getDouble() : qy;
         }
+        if(path[k]["libwpg:path-action"]->getStr() == "Q")
+        {
+            px = (px > path[k]["svg:x1"]->getDouble()) ? 
path[k]["svg:x1"]->getDouble() : px;
+            py = (py > path[k]["svg:y1"]->getDouble()) ? 
path[k]["svg:y1"]->getDouble() : py;
+            qx = (qx < path[k]["svg:x1"]->getDouble()) ? 
path[k]["svg:x1"]->getDouble() : qx;
+            qy = (qy < path[k]["svg:y1"]->getDouble()) ? 
path[k]["svg:y1"]->getDouble() : qy;
+        }
         if(path[k]["libwpg:path-action"]->getStr() == "A")
         {
             double xmin, xmax, ymin, ymax;
@@ -924,6 +931,13 @@ void OdgGeneratorPrivate::_drawPath(const 
WPXPropertyListVector &path)
                              
(unsigned)((path[i]["svg:y"]->getDouble()-py)*2540));
             sValue.append(sElement);
         }
+        else if (path[i]["libwpg:path-action"]->getStr() == "Q")
+        {
+            sElement.sprintf("Q%i %i %i %i", 
(unsigned)((path[i]["svg:x1"]->getDouble()-px)*2540),
+                             
(unsigned)((path[i]["svg:y1"]->getDouble()-py)*2540), 
(unsigned)((path[i]["svg:x"]->getDouble()-px)*2540),
+                             
(unsigned)((path[i]["svg:y"]->getDouble()-py)*2540));
+            sValue.append(sElement);
+        }
         else if (path[i]["libwpg:path-action"]->getStr() == "A")
         {
             sElement.sprintf("A%i %i %i %i %i %i %i", 
(unsigned)((path[i]["svg:rx"]->getDouble())*2540),
_______________________________________________
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to