summaryrefslogtreecommitdiffstats
path: root/src/display/curve.cpp
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2007-07-25 12:12:23 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2007-07-25 12:12:23 +0000
commit2471f6815e6d8e939d0781e925a6f67ae898e1ae (patch)
tree043dee40b481fc7deb3829c25a43da493aac5725 /src/display/curve.cpp
parentSnapping the transformation origin should also work for paths, not only for s... (diff)
downloadinkscape-2471f6815e6d8e939d0781e925a6f67ae898e1ae.tar.gz
inkscape-2471f6815e6d8e939d0781e925a6f67ae898e1ae.zip
Add a method to create a rectangular curve
(bzr r3297)
Diffstat (limited to 'src/display/curve.cpp')
-rw-r--r--src/display/curve.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/display/curve.cpp b/src/display/curve.cpp
index 9e571fdd0..04af56990 100644
--- a/src/display/curve.cpp
+++ b/src/display/curve.cpp
@@ -124,6 +124,23 @@ SPCurve *sp_curve_new_from_foreign_bpath(NArtBpath const bpath[])
return curve;
}
+SPCurve *sp_curve_new_from_rect(NR::Maybe<NR::Rect> const &rect)
+{
+ g_return_val_if_fail(rect, NULL);
+
+ SPCurve *c = sp_curve_new();
+
+ NR::Point p = rect->corner(0);
+ sp_curve_moveto(c, p);
+
+ for (int i=3; i>=0; i--) {
+ sp_curve_lineto(c, rect->corner(i));
+ }
+ sp_curve_closepath_current(c);
+
+ return c;
+}
+
/**
* Increase refcount of curve.
*