Code

Filter effects dialog:
[inkscape.git] / src / seltrans.h
index 3ba56ffb4ce18223a5821073c7dacb71f6feab48..d3cbcbd5750861cfb3210631a3aeeaf43443cf0e 100644 (file)
@@ -18,6 +18,7 @@
 #include <libnr/nr-point.h>
 #include <libnr/nr-matrix.h>
 #include <libnr/nr-rect.h>
+#include "knot.h"
 #include "forward.h"
 #include "selcue.h"
 #include "message-context.h"
@@ -84,7 +85,10 @@ public:
     bool isGrabbed() {
         return _grabbed;    
     }
-    
+       bool centerIsVisible() {
+               return ( _chandle && SP_KNOT_IS_VISIBLE (_chandle) );
+       }
+
 private:
     void _updateHandles();
     void _updateVolatileState();
@@ -117,12 +121,20 @@ private:
     bool _empty;
     bool _changed;
 
-    NR::Rect _box;
+    SPItem::BBoxType _snap_bbox_type;
+    
+    NR::Maybe<NR::Rect> _bbox;
+    NR::Maybe<NR::Rect> _approximate_bbox;
     gdouble _strokewidth;
     NR::Matrix _current;
     NR::Point _opposite; ///< opposite point to where a scale is taking place
+    
+    NR::Point _opposite_for_specpoints;
+    NR::Point _opposite_for_bboxpoints;
+    NR::Point _origin_for_specpoints;
+    NR::Point _origin_for_bboxpoints;
 
-    NR::Point _center;
+    NR::Maybe<NR::Point> _center;
     bool _center_is_set; ///< we've already set _center, no need to reread it from items
 
     SPKnot *_shandle[8];