summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/grid.cpp
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2007-01-24 03:24:42 +0000
committermental <mental@users.sourceforge.net>2007-01-24 03:24:42 +0000
commit3b17d8b1415bac54dce1db357e95a2a2c7cbf246 (patch)
tree3a7bfffb51871d50bc64ac061580d94247422910 /src/extension/internal/grid.cpp
parentadd SVG::PathString for better path building (diff)
downloadinkscape-3b17d8b1415bac54dce1db357e95a2a2c7cbf246.tar.gz
inkscape-3b17d8b1415bac54dce1db357e95a2a2c7cbf246.zip
switch to using SVG::PathString for building paths
(bzr r2268)
Diffstat (limited to 'src/extension/internal/grid.cpp')
-rw-r--r--src/extension/internal/grid.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/extension/internal/grid.cpp b/src/extension/internal/grid.cpp
index cf5c7529d..87e0c14ac 100644
--- a/src/extension/internal/grid.cpp
+++ b/src/extension/internal/grid.cpp
@@ -20,6 +20,8 @@
#include "sp-object.h"
#include "util/glib-list-iterators.h"
+#include "svg/path-string.h"
+
#include "extension/effect.h"
#include "extension/system.h"
@@ -44,30 +46,21 @@ Grid::load (Inkscape::Extension::Extension *module)
namespace {
-Glib::ustring build_op(char op, NR::Point p) {
- gchar *floatstring;
- // FIXME: locale formatting issues?
- floatstring = g_strdup_printf("%c%f,%f ", op, p[NR::X], p[NR::Y]);
- Glib::ustring result(floatstring);
- g_free(floatstring);
- return result;
-}
-
Glib::ustring build_lines(int axis, NR::Rect bounding_area,
float offset, float spacing)
{
NR::Point point_offset(0.0, 0.0);
point_offset[axis] = offset;
- Glib::ustring path_data("");
+ SVG::PathString path_data;
for (NR::Point start_point = bounding_area.min();
start_point[axis] + offset <= (bounding_area.max())[axis];
start_point[axis] += spacing) {
NR::Point end_point = start_point;
end_point[1-axis] = (bounding_area.max())[1-axis];
- path_data += build_op('M', start_point + point_offset)
- + build_op('L', end_point + point_offset);
+ path_data.moveTo(start_point + point_offset)
+ .lineTo(end_point + point_offset);
}
return path_data;