Code

have bbox calculation code use new helper/geom.cpp function. This makes it easier...
authorjohanengelen <johanengelen@users.sourceforge.net>
Mon, 16 Jun 2008 20:58:41 +0000 (20:58 +0000)
committerjohanengelen <johanengelen@users.sourceforge.net>
Mon, 16 Jun 2008 20:58:41 +0000 (20:58 +0000)
src/display/nr-arena-shape.cpp

index de5b9c770033d991c49d9298294520978006f631..146d1a5ca87f3072959234c75f78f7e69fc56123 100644 (file)
@@ -32,7 +32,7 @@
 #include <style.h>
 #include "prefs-utils.h"
 #include "inkscape-cairo.h"
-
+#include "helper/geom.h"
 #include "sp-filter.h"
 #include "sp-filter-reference.h"
 #include "display/nr-filter.h"
@@ -251,8 +251,7 @@ nr_arena_shape_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, g
         shape->ctm = gc->transform;
         if (state & NR_ARENA_ITEM_STATE_BBOX) {
             if (shape->curve) {
-                Geom::PathVector pv = shape->curve->get_pathvector() * to_2geom(gc->transform);
-                boundingbox = Geom::bounds_fast(pv);
+                boundingbox = bounds_fast_transformed(shape->curve->get_pathvector(), to_2geom(gc->transform));
                 item->bbox.x0 = (gint32)(boundingbox[0][0] - 1.0F);
                 item->bbox.y0 = (gint32)(boundingbox[1][0] - 1.0F);
                 item->bbox.x1 = (gint32)(boundingbox[0][1] + 1.9999F);
@@ -275,8 +274,7 @@ nr_arena_shape_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, g
     bool outline = (NR_ARENA_ITEM(shape)->arena->rendermode == Inkscape::RENDERMODE_OUTLINE);
 
     if (shape->curve) {
-        Geom::PathVector pv = shape->curve->get_pathvector() * to_2geom(gc->transform);
-        boundingbox = Geom::bounds_fast(pv);
+        boundingbox = bounds_fast_transformed(shape->curve->get_pathvector(), to_2geom(gc->transform));
 
         if (shape->_stroke.paint.type() != NRArenaShape::Paint::NONE || outline) {
             float width, scale;