Code

add a method to get bbox of a clippath, fix the update-while-update warnings
authorbuliabyak <buliabyak@users.sourceforge.net>
Mon, 6 Feb 2006 19:58:47 +0000 (19:58 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Mon, 6 Feb 2006 19:58:47 +0000 (19:58 +0000)
src/sp-clippath.cpp
src/sp-clippath.h

index d8d2acc9fcf76d4ddcbbcf278a92e372c833dc89..4b9ffb76ca985489f4e93f190176c7fadbd80d40 100644 (file)
@@ -352,13 +352,23 @@ sp_clippath_set_bbox(SPClipPath *cp, unsigned int key, NRRect *bbox)
                 !NR_DF_TEST_CLOSE(v->bbox.x1, bbox->x1, NR_EPSILON) ||
                 !NR_DF_TEST_CLOSE(v->bbox.y1, bbox->y1, NR_EPSILON)) {
                 v->bbox = *bbox;
-                SP_OBJECT(cp)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
             }
             break;
         }
     }
 }
 
+void
+sp_clippath_get_bbox(SPClipPath *cp, NRRect *bbox, NR::Matrix const &transform, unsigned const flags)
+{
+       for (SPObject *o = sp_object_first_child(SP_OBJECT(cp)); o != NULL; o = SP_OBJECT_NEXT(o)) {
+               if (SP_IS_ITEM(o)) {
+                       SPItem *child = SP_ITEM(o);
+                       sp_item_invoke_bbox_full(child, bbox, transform, flags, FALSE);
+               }
+       }
+}
+
 /* ClipPath views */
 
 SPClipPathView *
index 1f5571cc17e0066b2b022bbadf4b704dcd3c58ac..0a8b92fa908820cdd315a9b13377e9acd9a4ac48 100644 (file)
@@ -57,5 +57,6 @@ NRArenaItem *sp_clippath_show(SPClipPath *cp, NRArena *arena, unsigned int key);
 void sp_clippath_hide(SPClipPath *cp, unsigned int key);
 
 void sp_clippath_set_bbox(SPClipPath *cp, unsigned int key, NRRect *bbox);
+void sp_clippath_get_bbox(SPClipPath *cp, NRRect *bbox, NR::Matrix const &transform, unsigned const flags);
 
 #endif