summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2012-04-15 18:21:27 +0000
committerJohan B. C. Engelen <j.b.c.engelen@alumnus.utwente.nl>2012-04-15 18:21:27 +0000
commite1b949c6039672e6bec6c28e16556c9143407b65 (patch)
tree6309406d8d28e67465b7e6820e0f7ee583866b8c /src
parenti18n. Fix for Bug #980518 (Please use c-format). (diff)
downloadinkscape-e1b949c6039672e6bec6c28e16556c9143407b65.tar.gz
inkscape-e1b949c6039672e6bec6c28e16556c9143407b65.zip
2geom update
(bzr r11252)
Diffstat (limited to 'src')
-rw-r--r--src/2geom/svg-path.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/2geom/svg-path.h b/src/2geom/svg-path.h
index 591eb3aa2..8ac7a7b6a 100644
--- a/src/2geom/svg-path.h
+++ b/src/2geom/svg-path.h
@@ -48,6 +48,10 @@ public:
virtual void quadTo(Point c, Point p) = 0;
virtual void arcTo(double rx, double ry, double angle,
bool large_arc, bool sweep, Point p) = 0;
+
+ /** Undo the last lineTo, curveTo, etc. call. */
+ virtual void backspace() = 0;
+
virtual void closePath() = 0;
virtual void finish() = 0;
virtual ~SVGPathSink() {}
@@ -120,6 +124,13 @@ public:
large_arc, sweep, p);
}
+ void backspace()
+ {
+ if (_in_path && _path.size() > 0) {
+ _path.erase_last(Path::STITCH_DISCONTINUOUS);
+ }
+ }
+
void append(Path const &other, Path::Stitching stitching = Path::NO_STITCHING)
{
if (!_in_path) {