summaryrefslogtreecommitdiffstats
path: root/src/seltrans.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2018-09-12 16:02:57 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2018-09-12 16:02:57 +0000
commit197d4156fb11ec3e608d04e656a7b9e841c341d8 (patch)
tree148f0e5a97cac35451983625eb028f94fc4556d0 /src/seltrans.cpp
parentMore caching in prefs (diff)
parentAllow adding new properties (diff)
downloadinkscape-197d4156fb11ec3e608d04e656a7b9e841c341d8.tar.gz
inkscape-197d4156fb11ec3e608d04e656a7b9e841c341d8.zip
Merge branch 'master' of gitlab.com:inkscape/inkscape
Diffstat (limited to 'src/seltrans.cpp')
-rw-r--r--src/seltrans.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/seltrans.cpp b/src/seltrans.cpp
index 837f0da0e..ce7c63b04 100644
--- a/src/seltrans.cpp
+++ b/src/seltrans.cpp
@@ -278,6 +278,10 @@ void Inkscape::SelTrans::grab(Geom::Point const &p, gdouble x, gdouble y, bool s
_items_centers.push_back(it->getCenter()); // for content-dragging, we need to remember original centers
}
+ if (y != -1 && _desktop->is_yaxisdown()) {
+ y = 1 - y;
+ }
+
_handle_x = x;
_handle_y = y;
@@ -631,12 +635,14 @@ void Inkscape::SelTrans::_showHandles(SPSelTransType type)
// shouldn't have nullary bbox, but knots
g_assert(_bbox);
+ auto const y_dir = _desktop->yaxisdir();
+
for (int i = 0; i < NUMHANDS; i++) {
if (hands[i].type != type)
continue;
// Position knots to scale the selection bbox
- Geom::Point const bpos(hands[i].x, hands[i].y);
+ Geom::Point const bpos(hands[i].x, (hands[i].y - 0.5) * (-y_dir) + 0.5);
Geom::Point p(_bbox->min() + (_bbox->dimensions() * Geom::Scale(bpos)));
knots[i]->moveto(p);
knots[i]->show();