summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gradient-drag.cpp15
-rw-r--r--src/gradient-drag.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp
index 9244b8fd2..2e1a8db83 100644
--- a/src/gradient-drag.cpp
+++ b/src/gradient-drag.cpp
@@ -1293,6 +1293,21 @@ GrDrag::selectByCoords(std::vector<NR::Point> coords)
}
}
+
+/**
+\brief Select all stops/draggers that fall within the rect
+*/
+void
+GrDrag::selectRect(NR::Rect const &r)
+{
+ for (GList *l = this->draggers; l != NULL; l = l->next) {
+ GrDragger *d = ((GrDragger *) l->data);
+ if (r.contains(d->point)) {
+ setSelected (d, true, true);
+ }
+ }
+}
+
/**
\brief Select a dragger
\param dragger The dragger to select
diff --git a/src/gradient-drag.h b/src/gradient-drag.h
index b9a2fdcc2..a4cd481a3 100644
--- a/src/gradient-drag.h
+++ b/src/gradient-drag.h
@@ -122,6 +122,7 @@ public: // FIXME: make more of this private!
void deselectAll();
void selectAll();
void selectByCoords(std::vector<NR::Point> coords);
+ void selectRect(NR::Rect const &r);
void deleteSelected (bool just_one = false);