summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 42b88bb)
raw | patch | inline | side by side (parent: 42b88bb)
author | buliabyak <buliabyak@users.sourceforge.net> | |
Tue, 6 May 2008 05:55:41 +0000 (05:55 +0000) | ||
committer | buliabyak <buliabyak@users.sourceforge.net> | |
Tue, 6 May 2008 05:55:41 +0000 (05:55 +0000) |
src/ui/dialog/transformation.cpp | patch | blob | history |
index 5a7117db208eb08b4388964799deff8701ee250d..8dcda8dfb5885b43ed6def500b997c94e97452c9 100644 (file)
if (prefs_get_int_attribute_limited ("dialogs.transformation", "applyseparately", 0, 0, 1) == 0) {
// move selection as a whole
- if (_check_move_relative.get_active()) {
- sp_selection_move_relative(selection, x, y);
- } else {
- NR::Maybe<NR::Rect> bbox = selection->bounds();
- if (bbox) {
- sp_selection_move_relative(selection,
- x - bbox->min()[NR::X], y - bbox->min()[NR::Y]);
+ if (_check_move_relative.get_active()) {
+ sp_selection_move_relative(selection, x, y);
+ } else {
+ NR::Maybe<NR::Rect> bbox = selection->bounds();
+ if (bbox) {
+ sp_selection_move_relative(selection,
+ x - bbox->min()[NR::X], y - bbox->min()[NR::Y]);
+ }
}
- }
} else {
- // shift each object relatively to the previous one
-
- using Inkscape::Util::GSListConstIterator;
- std::list<SPItem *> selected;
- selected.insert<GSListConstIterator<SPItem *> >(selected.end(), selection->itemList(), NULL);
- if (selected.empty()) return;
-
- if (fabs(x) > 1e-6) {
- std::vector< BBoxSort > sorted;
- for (std::list<SPItem *>::iterator it(selected.begin());
- it != selected.end();
- ++it)
- {
- NR::Maybe<NR::Rect> bbox = sp_item_bbox_desktop(*it);
- if (bbox) {
- sorted.push_back(BBoxSort(*it, *bbox, NR::X, x > 0? 1. : 0., x > 0? 0. : 1.));
+
+ if (_check_move_relative.get_active()) {
+ // shift each object relatively to the previous one
+ using Inkscape::Util::GSListConstIterator;
+ std::list<SPItem *> selected;
+ selected.insert<GSListConstIterator<SPItem *> >(selected.end(), selection->itemList(), NULL);
+ if (selected.empty()) return;
+
+ if (fabs(x) > 1e-6) {
+ std::vector< BBoxSort > sorted;
+ for (std::list<SPItem *>::iterator it(selected.begin());
+ it != selected.end();
+ ++it)
+ {
+ NR::Maybe<NR::Rect> bbox = sp_item_bbox_desktop(*it);
+ if (bbox) {
+ sorted.push_back(BBoxSort(*it, *bbox, NR::X, x > 0? 1. : 0., x > 0? 0. : 1.));
+ }
+ }
+ //sort bbox by anchors
+ std::sort(sorted.begin(), sorted.end());
+
+ double move = x;
+ for ( std::vector<BBoxSort> ::iterator it (sorted.begin());
+ it < sorted.end();
+ it ++ )
+ {
+ sp_item_move_rel(it->item, NR::translate(move, 0));
+ // move each next object by x relative to previous
+ move += x;
}
}
- //sort bbox by anchors
- std::sort(sorted.begin(), sorted.end());
-
- double move = x;
- for ( std::vector<BBoxSort> ::iterator it (sorted.begin());
- it < sorted.end();
- it ++ )
- {
- sp_item_move_rel(it->item, NR::translate(move, 0));
- // move each next object by x relative to previous
- move += x;
- }
- }
- if (fabs(y) > 1e-6) {
- std::vector< BBoxSort > sorted;
- for (std::list<SPItem *>::iterator it(selected.begin());
- it != selected.end();
- ++it)
- {
- NR::Maybe<NR::Rect> bbox = sp_item_bbox_desktop(*it);
- if (bbox) {
- sorted.push_back(BBoxSort(*it, *bbox, NR::Y, y > 0? 1. : 0., y > 0? 0. : 1.));
+ if (fabs(y) > 1e-6) {
+ std::vector< BBoxSort > sorted;
+ for (std::list<SPItem *>::iterator it(selected.begin());
+ it != selected.end();
+ ++it)
+ {
+ NR::Maybe<NR::Rect> bbox = sp_item_bbox_desktop(*it);
+ if (bbox) {
+ sorted.push_back(BBoxSort(*it, *bbox, NR::Y, y > 0? 1. : 0., y > 0? 0. : 1.));
+ }
+ }
+ //sort bbox by anchors
+ std::sort(sorted.begin(), sorted.end());
+
+ double move = y;
+ for ( std::vector<BBoxSort> ::iterator it (sorted.begin());
+ it < sorted.end();
+ it ++ )
+ {
+ sp_item_move_rel(it->item, NR::translate(0, move));
+ // move each next object by x relative to previous
+ move += y;
}
}
- //sort bbox by anchors
- std::sort(sorted.begin(), sorted.end());
-
- double move = y;
- for ( std::vector<BBoxSort> ::iterator it (sorted.begin());
- it < sorted.end();
- it ++ )
- {
- sp_item_move_rel(it->item, NR::translate(0, move));
- // move each next object by x relative to previous
- move += y;
+ } else {
+ NR::Maybe<NR::Rect> bbox = selection->bounds();
+ if (bbox) {
+ sp_selection_move_relative(selection,
+ x - bbox->min()[NR::X], y - bbox->min()[NR::Y]);
}
}
-
}
sp_document_done ( sp_desktop_document (selection->desktop()) , SP_VERB_DIALOG_TRANSFORM,