summaryrefslogtreecommitdiffstats
path: root/src/2geom/svg-path-parser.cpp
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2008-11-21 05:24:08 +0000
committerTed Gould <ted@canonical.com>2008-11-21 05:24:08 +0000
commit44a3a78fb6a3863c0c7f3c1193837337e68a67e4 (patch)
tree1722ee5ec6f88c881cd4124923354b3c1311501b /src/2geom/svg-path-parser.cpp
parentMerge from trunk (diff)
downloadinkscape-44a3a78fb6a3863c0c7f3c1193837337e68a67e4.tar.gz
inkscape-44a3a78fb6a3863c0c7f3c1193837337e68a67e4.zip
Merge from fe-moved
(bzr r6891)
Diffstat (limited to 'src/2geom/svg-path-parser.cpp')
-rw-r--r--src/2geom/svg-path-parser.cpp47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/2geom/svg-path-parser.cpp b/src/2geom/svg-path-parser.cpp
index 2f26870a5..071b171b3 100644
--- a/src/2geom/svg-path-parser.cpp
+++ b/src/2geom/svg-path-parser.cpp
@@ -38,6 +38,7 @@
#include <2geom/point.h>
#include <2geom/svg-path-parser.h>
+#include <2geom/angle.h>
namespace Geom {
@@ -139,7 +140,7 @@ private:
};
-#line 143 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
+#line 144 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
static const char _svg_path_actions[] = {
0, 1, 0, 1, 1, 1, 2, 1,
3, 1, 4, 1, 5, 1, 15, 1,
@@ -1144,7 +1145,7 @@ static const int svg_path_first_final = 270;
static const int svg_path_en_main = 1;
-#line 143 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 144 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
void Parser::parse(char const *str)
@@ -1157,12 +1158,12 @@ throw(SVGPathParseError)
_reset();
-#line 1161 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
+#line 1162 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
{
cs = svg_path_start;
}
-#line 1166 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
+#line 1167 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
{
int _klen;
unsigned int _trans;
@@ -1235,13 +1236,13 @@ _match:
switch ( *_acts++ )
{
case 0:
-#line 155 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 156 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
start = p;
}
break;
case 1:
-#line 159 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 160 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
char const *end=p;
std::string buf(start, end);
@@ -1250,55 +1251,55 @@ _match:
}
break;
case 2:
-#line 166 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 167 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_push(1.0);
}
break;
case 3:
-#line 170 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 171 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_push(0.0);
}
break;
case 4:
-#line 174 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 175 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_absolute = true;
}
break;
case 5:
-#line 178 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 179 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_absolute = false;
}
break;
case 6:
-#line 182 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 183 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_moveTo(_pop_point());
}
break;
case 7:
-#line 186 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 187 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_lineTo(_pop_point());
}
break;
case 8:
-#line 190 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 191 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_hlineTo(Point(_pop_coord(X), _current[Y]));
}
break;
case 9:
-#line 194 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 195 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_vlineTo(Point(_current[X], _pop_coord(Y)));
}
break;
case 10:
-#line 198 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 199 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
Point p = _pop_point();
Point c1 = _pop_point();
@@ -1307,7 +1308,7 @@ _match:
}
break;
case 11:
-#line 205 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 206 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
Point p = _pop_point();
Point c1 = _pop_point();
@@ -1315,7 +1316,7 @@ _match:
}
break;
case 12:
-#line 211 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 212 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
Point p = _pop_point();
Point c = _pop_point();
@@ -1323,14 +1324,14 @@ _match:
}
break;
case 13:
-#line 217 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 218 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
Point p = _pop_point();
_quadTo(_quad_tangent, p);
}
break;
case 14:
-#line 222 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 223 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
Point point = _pop_point();
bool sweep = _pop_flag();
@@ -1343,16 +1344,16 @@ _match:
}
break;
case 15:
-#line 233 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 234 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{
_closePath();
}
break;
case 16:
-#line 369 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 370 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
{goto _out;}
break;
-#line 1356 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
+#line 1357 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.cpp"
}
}
@@ -1363,7 +1364,7 @@ _again:
goto _resume;
_out: {}
}
-#line 379 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
+#line 380 "/home/njh/svn/lib2geom/src/2geom/svg-path-parser.rl"
if ( cs < svg_path_first_final ) {