From 890556d030ed1c2877f15709807ce5e9178fe793 Mon Sep 17 00:00:00 2001 From: Maximilian Albert Date: Mon, 18 Aug 2008 00:47:13 +0000 Subject: Toggle button in geometry toolbar to set limiting bounding box for LPELineSegment (bzr r6685) --- src/live_effects/lpe-line_segment.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'src/live_effects/lpe-line_segment.cpp') diff --git a/src/live_effects/lpe-line_segment.cpp b/src/live_effects/lpe-line_segment.cpp index 7c1cb9f3e..fee3607e1 100644 --- a/src/live_effects/lpe-line_segment.cpp +++ b/src/live_effects/lpe-line_segment.cpp @@ -14,6 +14,7 @@ */ #include "live_effects/lpe-line_segment.h" +#include "lpe-tool-context.h" #include <2geom/pathvector.h> #include <2geom/geom.h> @@ -46,26 +47,19 @@ LPELineSegment::~LPELineSegment() void LPELineSegment::doBeforeEffect (SPLPEItem *lpeitem) { - SPDocument *document = SP_OBJECT_DOCUMENT(lpeitem); - w = sp_document_width(document); - h = sp_document_height(document); - + lpetool_get_limiting_bbox_corners(SP_OBJECT_DOCUMENT(lpeitem), bboxA, bboxB); } std::vector LPELineSegment::doEffect_path (std::vector const & path_in) { + using namespace Geom; std::vector output; - A = Geom::initialPoint(path_in); - B = Geom::finalPoint(path_in); + A = initialPoint(path_in); + B = finalPoint(path_in); - Geom::Point E(0,0); - Geom::Point F(0,h); - Geom::Point G(w,h); - Geom::Point H(w,0); - - std::vector intersections = Geom::rect_line_intersect(E, G, A, B); + std::vector intersections = rect_line_intersect(bboxA, bboxB, A, B); if (intersections.size() < 2) { g_print ("Possible error - no intersection with limiting bounding box.\n"); @@ -81,7 +75,7 @@ LPELineSegment::doEffect_path (std::vector const & path_in) } Geom::Path path(A); - path.appendNew(B); + path.appendNew(B); output.push_back(path); -- cgit v1.2.3