Code

Split SPCanvasItem and SPCanvasGroup to individual .h files. Removed forward header.
[inkscape.git] / src / rubberband.cpp
index 97a260f0fc46a93a7c488c1f7b6c35b39221243c..398f01d3e38e971acf40339432b8796c9326268f 100644 (file)
@@ -1,5 +1,3 @@
-#define __RUBBERBAND_C__
-
 /**
  * \file src/rubberband.cpp
  * \brief Rubberbanding selector
 #include "desktop.h"
 #include "desktop-handles.h"
 #include "rubberband.h"
+#include "display/sp-canvas.h"
+#include "display/sp-canvas-item.h"
 #include "display/canvas-bpath.h"
 #include "display/curve.h"
-#include "libnr/nr-point.h"
 
 Inkscape::Rubberband *Inkscape::Rubberband::_instance = NULL;
 
@@ -45,7 +44,7 @@ void Inkscape::Rubberband::delete_canvas_items()
 }
 
 
-void Inkscape::Rubberband::start(SPDesktop *d, NR::Point const &p)
+void Inkscape::Rubberband::start(SPDesktop *d, Geom::Point const &p)
 {
     _points.clear();
     _touchpath_curve->reset();
@@ -73,7 +72,7 @@ void Inkscape::Rubberband::stop()
         sp_canvas_end_forced_full_redraws(_desktop->canvas);
 }
 
-void Inkscape::Rubberband::move(NR::Point const &p)
+void Inkscape::Rubberband::move(Geom::Point const &p)
 {
     if (!_started) 
         return;
@@ -82,13 +81,13 @@ void Inkscape::Rubberband::move(NR::Point const &p)
     _desktop->scroll_to_point(p);
     _touchpath_curve->lineto(p);
 
-    NR::Point next = _desktop->d2w(p);
+    Geom::Point next = _desktop->d2w(p);
     // we want the points to be at most 0.5 screen pixels apart,
     // so that we don't lose anything small;
     // if they are farther apart, we interpolate more points
-    if (_points.size() > 0 && NR::L2(next-_points.back()) > 0.5) {
-        NR::Point prev = _points.back();
-        int subdiv = 2 * (int) round(NR::L2(next-prev) + 0.5);
+    if (_points.size() > 0 && Geom::L2(next-_points.back()) > 0.5) {
+        Geom::Point prev = _points.back();
+        int subdiv = 2 * (int) round(Geom::L2(next-prev) + 0.5);
         for (int i = 1; i <= subdiv; i ++) {
             _points.push_back(prev + ((double)i/subdiv) * (next - prev));
         }
@@ -100,7 +99,7 @@ void Inkscape::Rubberband::move(NR::Point const &p)
         if (_rect == NULL) {
             _rect = static_cast<CtrlRect *>(sp_canvas_item_new(sp_desktop_controls(_desktop), SP_TYPE_CTRLRECT, NULL));
         }
-        _rect->setRectangle(NR::Rect(_start, _end));
+        _rect->setRectangle(Geom::Rect(_start, _end));
 
         sp_canvas_item_show(_rect);
         if (_touchpath)
@@ -125,13 +124,13 @@ void Inkscape::Rubberband::setMode(int mode)
     _mode = mode;
 }
 
-boost::optional<NR::Rect> Inkscape::Rubberband::getRectangle() const
+Geom::OptRect Inkscape::Rubberband::getRectangle() const
 {
     if (!_started) {
-        return boost::optional<NR::Rect>();
+        return Geom::OptRect();
     }
 
-    return NR::Rect(_start, _end);
+    return Geom::Rect(_start, _end);
 }
 
 Inkscape::Rubberband *Inkscape::Rubberband::get(SPDesktop *desktop)
@@ -157,4 +156,4 @@ bool Inkscape::Rubberband::is_started()
   fill-column:99
   End:
 */
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :