Code

add accessor for the waiting_cursor flag (sorry for the recompile)
[inkscape.git] / src / guide-snapper.cpp
index b660bab9da473b163acc99bc54a12d94b566e1a8..54a4086a447c311b738530c10c2596a8747f380e 100644 (file)
 #include "sp-namedview.h"
 #include "sp-guide.h"
 
-Inkscape::GuideSnapper::GuideSnapper(SPNamedView const *nv, NR::Coord const d) : LineSnapper(nv, d)
+Inkscape::GuideSnapper::GuideSnapper(SnapManager *sm, Geom::Coord const d) : LineSnapper(sm, d)
 {
 
 }
 
-Inkscape::GuideSnapper::LineList Inkscape::GuideSnapper::_getSnapLines(NR::Point const &/*p*/) const
+Inkscape::GuideSnapper::LineList Inkscape::GuideSnapper::_getSnapLines(Geom::Point const &/*p*/) const
 {
     LineList s;
 
-    if ( NULL == _named_view || ThisSnapperMightSnap() == false) {
+    if ( NULL == _snapmanager->getNamedView() || ThisSnapperMightSnap() == false) {
         return s;
     }
 
-    for (GSList const *l = _named_view->guides; l != NULL; l = l->next) {
+    for (GSList const *l = _snapmanager->getNamedView()->guides; l != NULL; l = l->next) {
         SPGuide const *g = SP_GUIDE(l->data);
-        NR::Point point_on_line = (g->normal == component_vectors[NR::X]) ? NR::Point(g->position, 0) : NR::Point(0, g->position);
-        s.push_back(std::make_pair(g->normal, point_on_line)); 
+        s.push_back(std::make_pair(g->normal_to_line, g->point_on_line));
     }
 
     return s;
@@ -44,12 +43,16 @@ Inkscape::GuideSnapper::LineList Inkscape::GuideSnapper::_getSnapLines(NR::Point
  */
 bool Inkscape::GuideSnapper::ThisSnapperMightSnap() const
 {
-    return _named_view == NULL ? false : (_snap_enabled && _snap_from != 0 && _named_view->showguides);
+       if (_snapmanager->getNamedView() == NULL) {
+               return false;
+       }
+
+       return (_snap_enabled && _snapmanager->snapprefs.getSnapToGuides() && _snapmanager->snapprefs.getSnapModeBBoxOrNodes() && _snapmanager->getNamedView()->showguides);
 }
 
-void Inkscape::GuideSnapper::_addSnappedLine(SnappedConstraints &sc, NR::Point const snapped_point, NR::Coord const snapped_distance, NR::Point const normal_to_line, NR::Point const point_on_line) const
+void Inkscape::GuideSnapper::_addSnappedLine(SnappedConstraints &sc, Geom::Point const snapped_point, Geom::Coord const snapped_distance, Geom::Point const normal_to_line, Geom::Point const point_on_line) const
 {
-    SnappedLine dummy = SnappedLine(snapped_point, snapped_distance, normal_to_line, point_on_line);
+    SnappedLine dummy = SnappedLine(snapped_point, snapped_distance, getSnapperTolerance(), getSnapperAlwaysSnap(), normal_to_line, point_on_line);
     sc.guide_lines.push_back(dummy);
 }