summaryrefslogtreecommitdiffstats
path: root/src/removeoverlap.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <mc@localhost.localdomain>2015-02-17 02:00:37 +0000
committerMarc Jeanmougin <mc@localhost.localdomain>2015-02-17 02:00:37 +0000
commita7f2b2ba3f13ceb60376802f4a31e104153839e8 (patch)
tree6db393e9e5a0a9ab7916a0e7ed29d875efa39ea1 /src/removeoverlap.cpp
parentdevice-manager: Get rid of GLists (diff)
downloadinkscape-a7f2b2ba3f13ceb60376802f4a31e104153839e8.tar.gz
inkscape-a7f2b2ba3f13ceb60376802f4a31e104153839e8.zip
At first, I was thinking "I just have to go to the selection file, and change that GSList* with a std::list, then resolve the few problems"
So, i tried that. And I will continue tomorrow, and the days after, on and on. (bzr r13922.1.1)
Diffstat (limited to 'src/removeoverlap.cpp')
-rw-r--r--src/removeoverlap.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/removeoverlap.cpp b/src/removeoverlap.cpp
index ba5740e55..9009de5e9 100644
--- a/src/removeoverlap.cpp
+++ b/src/removeoverlap.cpp
@@ -38,20 +38,20 @@ namespace {
* such that rectangular bounding boxes are separated by at least xGap
* horizontally and yGap vertically
*/
-void removeoverlap(GSList const *const items, double const xGap, double const yGap) {
+void removeoverlap(SelContainer const &items, double const xGap, double const yGap) {
using Inkscape::Util::GSListConstIterator;
- std::list<SPItem *> selected;
- selected.insert<GSListConstIterator<SPItem *> >(selected.end(), items, NULL);
+ SelContainer selected(items);
std::vector<Record> records;
std::vector<Rectangle *> rs;
Geom::Point const gap(xGap, yGap);
- for (std::list<SPItem *>::iterator it(selected.begin());
+ for (SelContainer::iterator it(selected.begin());
it != selected.end();
++it)
{
+ SPItem* item=static_cast<SPItem*>(*it);
using Geom::X; using Geom::Y;
- Geom::OptRect item_box((*it)->desktopVisualBounds());
+ Geom::OptRect item_box((item)->desktopVisualBounds());
if (item_box) {
Geom::Point min(item_box->min() - .5*gap);
Geom::Point max(item_box->max() + .5*gap);
@@ -67,7 +67,7 @@ void removeoverlap(GSList const *const items, double const xGap, double const yG
min[Y] = max[Y] = (min[Y] + max[Y])/2;
}
Rectangle *vspc_rect = new Rectangle(min[X], max[X], min[Y], max[Y]);
- records.push_back(Record(*it, item_box->midpoint(), vspc_rect));
+ records.push_back(Record(item, item_box->midpoint(), vspc_rect));
rs.push_back(vspc_rect);
}
}