From: johanengelen Date: Sat, 14 Jun 2008 15:16:29 +0000 (+0000) Subject: update 2geom, fixes includes X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=f4e9c95836048f1a0c16b4b4220736a1ce7422f4;p=inkscape.git update 2geom, fixes includes --- diff --git a/src/2geom/path.cpp b/src/2geom/path.cpp index 0ff1f3b0c..8bfccf87a 100644 --- a/src/2geom/path.cpp +++ b/src/2geom/path.cpp @@ -245,22 +245,10 @@ Rect Path::boundsFast() if (empty()) return bound; bound = begin()->boundsFast(); - double top = bound.top(); - double bottom = bound.bottom(); - double left = bound.left(); - double right = bound.right(); for (iterator it = ++begin(); it != end(); ++it) { - bound = it->boundsFast(); - if ( top > bound.top() ) top = bound.top(); - if ( bottom < bound.bottom() ) bottom = bound.bottom(); - if ( left > bound.left() ) left = bound.left(); - if ( right < bound.right() ) right = bound.right(); + bound.unionWith(it->boundsFast()); } - bound[0][0] = left; - bound[0][1] = right; - bound[1][0] = top; - bound[1][1] = bottom; return bound; } @@ -270,22 +258,10 @@ Rect Path::boundsExact() if (empty()) return bound; bound = begin()->boundsExact(); - double top = bound.top(); - double bottom = bound.bottom(); - double left = bound.left(); - double right = bound.right(); for (iterator it = ++begin(); it != end(); ++it) { - bound = it->boundsExact(); - if ( top > bound.top() ) top = bound.top(); - if ( bottom < bound.bottom() ) bottom = bound.bottom(); - if ( left > bound.left() ) left = bound.left(); - if ( right < bound.right() ) right = bound.right(); + bound.unionWith(it->boundsExact()); } - bound[0][0] = left; - bound[0][1] = right; - bound[1][0] = top; - bound[1][1] = bottom; return bound; } diff --git a/src/2geom/pathvector.cpp b/src/2geom/pathvector.cpp index 9c8111767..fe2f1976c 100644 --- a/src/2geom/pathvector.cpp +++ b/src/2geom/pathvector.cpp @@ -73,22 +73,10 @@ Rect bounds_fast( PathVector const& pv ) if (pv.empty()) return bound; bound = (pv.begin())->boundsFast(); - double top = bound.top(); - double bottom = bound.bottom(); - double left = bound.left(); - double right = bound.right(); for (const_iterator it = ++(pv.begin()); it != pv.end(); ++it) { - bound = it->boundsFast(); - if ( top > bound.top() ) top = bound.top(); - if ( bottom < bound.bottom() ) bottom = bound.bottom(); - if ( left > bound.left() ) left = bound.left(); - if ( right < bound.right() ) right = bound.right(); + bound.unionWith(it->boundsFast()); } - bound[0][0] = left; - bound[0][1] = right; - bound[1][0] = top; - bound[1][1] = bottom; return bound; } @@ -100,22 +88,10 @@ Rect bounds_exact( PathVector const& pv ) if (pv.empty()) return bound; bound = (pv.begin())->boundsExact(); - double top = bound.top(); - double bottom = bound.bottom(); - double left = bound.left(); - double right = bound.right(); for (const_iterator it = ++(pv.begin()); it != pv.end(); ++it) { - bound = it->boundsExact(); - if ( top > bound.top() ) top = bound.top(); - if ( bottom < bound.bottom() ) bottom = bound.bottom(); - if ( left > bound.left() ) left = bound.left(); - if ( right < bound.right() ) right = bound.right(); + bound.unionWith(it->boundsExact()); } - bound[0][0] = left; - bound[0][1] = right; - bound[1][0] = top; - bound[1][1] = bottom; return bound; } diff --git a/src/2geom/pathvector.h b/src/2geom/pathvector.h index a9f4d88ed..6a759e406 100644 --- a/src/2geom/pathvector.h +++ b/src/2geom/pathvector.h @@ -36,6 +36,8 @@ #define SEEN_GEOM_PATHVECTOR_H #include "forward.h" +#include "path.h" +#include "rect.h" namespace Geom {