diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-04-06 14:11:54 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-04-06 14:11:54 +0000 |
| commit | 95a0c8412e84f5e0cc1d9a63fce2be75f9fa517e (patch) | |
| tree | 12ea4d0d88ad2a94be630f6634aef3b88460748f /src/extension/internal/grid.cpp | |
| parent | Fixed use of dialogs in more than one window, and tile problem with selection... (diff) | |
| download | inkscape-95a0c8412e84f5e0cc1d9a63fce2be75f9fa517e.tar.gz inkscape-95a0c8412e84f5e0cc1d9a63fce2be75f9fa517e.zip | |
Revert the inverted coordinate system fix. 3D Boxes and guides
require an XML-level backwards compatibility mechanism to fix properly,
and it's too late in the 0.48 cycle to introduce it.
(bzr r9298)
Diffstat (limited to 'src/extension/internal/grid.cpp')
| -rw-r--r-- | src/extension/internal/grid.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/extension/internal/grid.cpp b/src/extension/internal/grid.cpp index deef367a4..d4b35b261 100644 --- a/src/extension/internal/grid.cpp +++ b/src/extension/internal/grid.cpp @@ -46,12 +46,13 @@ Grid::load (Inkscape::Extension::Extension */*module*/) namespace { -void build_lines(int axis, Geom::Rect bounding_area, float offset, - float spacing, SVG::PathString &path_data) +Glib::ustring build_lines(int axis, Geom::Rect bounding_area, + float offset, float spacing) { Geom::Point point_offset(0.0, 0.0); point_offset[axis] = offset; + SVG::PathString path_data; for (Geom::Point start_point = bounding_area.min(); start_point[axis] + offset <= (bounding_area.max())[axis]; start_point[axis] += spacing) { @@ -61,6 +62,8 @@ void build_lines(int axis, Geom::Rect bounding_area, float offset, path_data.moveTo(start_point + point_offset) .lineTo(end_point + point_offset); } + + return path_data; } } @@ -86,8 +89,10 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc if (bounds) { bounding_area = *bounds; } - Geom::Rect temprec = Geom::Rect(Geom::Point(bounding_area.min()[Geom::X], bounding_area.min()[Geom::Y]), - Geom::Point(bounding_area.max()[Geom::X], bounding_area.max()[Geom::Y])); + + gdouble doc_height = sp_document_height(document->doc()); + Geom::Rect temprec = Geom::Rect(Geom::Point(bounding_area.min()[Geom::X], doc_height - bounding_area.min()[Geom::Y]), + Geom::Point(bounding_area.max()[Geom::X], doc_height - bounding_area.max()[Geom::Y])); bounding_area = temprec; } @@ -98,9 +103,10 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc float offsets[2] = { module->get_param_float("xoffset"), module->get_param_float("yoffset") }; - SVG::PathString path_data; + Glib::ustring path_data(""); for ( int axis = 0 ; axis < 2 ; ++axis ) { - build_lines(axis, bounding_area, offsets[axis], spacings[axis], path_data); + path_data += build_lines(axis, bounding_area, + offsets[axis], spacings[axis]); } Inkscape::XML::Document * xml_doc = sp_document_repr_doc(document->doc()); |
