diff src/shape_path.c @ 34:07c523c799f4

Fix bug of relative path command
author Thinker K.F. Li <thinker@branda.to>
date Wed, 06 Aug 2008 01:10:32 +0800
parents d82749f77108
children 1ca417f741f1
line wrap: on
line diff
--- a/src/shape_path.c	Wed Aug 06 00:40:04 2008 +0800
+++ b/src/shape_path.c	Wed Aug 06 01:10:32 2008 +0800
@@ -464,10 +464,10 @@
 	case 'c':
 	    x1 = x + *args++;
 	    y1 = y + *args++;
-	    x2 = x1 + *args++;
-	    y2 = y1 + *args++;
-	    x = x2 + *args++;
-	    y = y2 + *args++;
+	    x2 = x + *args++;
+	    y2 = y + *args++;
+	    x = x + *args++;
+	    y = y + *args++;
 	    cairo_curve_to(cr, x1, y1, x2, y2, x, y);
 	    break;
 	case 'C':
@@ -482,10 +482,10 @@
 	case 's':
 	    x1 = x + x - x2;
 	    y1 = y + y - y2;
-	    x2 = x1 + *args++;
-	    y2 = y1 + *args++;
-	    x = x2 + *args++;
-	    y = y2 + *args++;
+	    x2 = x + *args++;
+	    y2 = y + *args++;
+	    x = x + *args++;
+	    y = y + *args++;
 	    cairo_curve_to(cr, x1, y1, x2, y2, x, y);
 	    break;
 	case 'S':
@@ -502,8 +502,8 @@
 	    y1 = y + *args++;
 	    x2 = x1;
 	    y2 = y1;
-	    x = x2 + *args++;
-	    y = y2 + *args++;
+	    x = x + *args++;
+	    y = y + *args++;
 	    cairo_curve_to(cr, x1, y1, x2, y2, x, y);
 	    break;
 	case 'Q':
@@ -520,8 +520,8 @@
 	    y1 = y + y - y2;
 	    x2 = x1;
 	    y2 = y1;
-	    x = x2 + *args++;
-	    y = y2 + *args++;
+	    x = x + *args++;
+	    y = y + *args++;
 	    cairo_curve_to(cr, x1, y1, x2, y2, x, y);
 	    break;
 	case 'T':