Code

Sketch out new bbox API
authormental <mental@users.sourceforge.net>
Sun, 4 Mar 2007 19:05:45 +0000 (19:05 +0000)
committermental <mental@users.sourceforge.net>
Sun, 4 Mar 2007 19:05:45 +0000 (19:05 +0000)
src/sp-item.h

index fc368d5b9223ffad5c13b0bf215dc6703b0ea82d..41100060edacf876a0de9d6f714f147da76e955b 100644 (file)
@@ -90,6 +90,12 @@ struct SPItemCtx {
 
 /** Abstract base class for all visible shapes. */
 struct SPItem : public SPObject {
+    enum BBoxType {
+        APPROXIMATE_BBOX,
+        GEOMETRIC_BBOX,
+        RENDERING_BBOX
+    };
+
     unsigned int sensitive : 1;
     unsigned int stop_paint: 1;
     double transform_center_x;
@@ -143,6 +149,7 @@ struct SPItem : public SPObject {
     void lowerToBottom();
 
     NR::Rect invokeBbox(NR::Matrix const &transform) const;
+    NR::Maybe<NR::Rect> getBBox(BBoxType type, NR::Matrix const &transform, unsigned int dkey=0) const;
 
     sigc::connection _clip_ref_connection;
     sigc::connection _mask_ref_connection;