Code

have bbox calculation code use new helper/geom.cpp function. This makes it easier...
[inkscape.git] / 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;