summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThomas Holder <thomas@thomas-holder.de>2019-04-17 21:15:49 +0000
committerThomas Holder <thomas@thomas-holder.de>2019-04-17 21:15:49 +0000
commit646ed5b47b0fee962cbdc14fa23a1f4d5566d724 (patch)
tree838d89705a1feb7e5ecd93b3d2dcbff25117c6c1 /src
parentRegression fix (update paths when dragging nodes) (diff)
downloadinkscape-646ed5b47b0fee962cbdc14fa23a1f4d5566d724.tar.gz
inkscape-646ed5b47b0fee962cbdc14fa23a1f4d5566d724.zip
fix inbox#380 Rotation center flipped with y-axis
Diffstat (limited to 'src')
-rw-r--r--src/object/sp-item.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/object/sp-item.cpp b/src/object/sp-item.cpp
index cba70f126..5adecf358 100644
--- a/src/object/sp-item.cpp
+++ b/src/object/sp-item.cpp
@@ -502,6 +502,9 @@ void SPItem::set(SPAttributeEnum key, gchar const* value) {
case SP_ATTR_TRANSFORM_CENTER_Y:
if (value) {
item->transform_center_y = g_strtod(value, nullptr);
+ if (SP_ACTIVE_DESKTOP) {
+ item->transform_center_y *= -SP_ACTIVE_DESKTOP->yaxisdir();
+ }
} else {
item->transform_center_y = 0;
}
@@ -740,9 +743,13 @@ Inkscape::XML::Node* SPItem::write(Inkscape::XML::Document *xml_doc, Inkscape::X
sp_repr_set_svg_double (repr, "inkscape:transform-center-x", item->transform_center_x);
else
repr->setAttribute ("inkscape:transform-center-x", nullptr);
- if (item->transform_center_y != 0)
- sp_repr_set_svg_double (repr, "inkscape:transform-center-y", item->transform_center_y);
- else
+ if (item->transform_center_y != 0) {
+ auto y = item->transform_center_y;
+ if (SP_ACTIVE_DESKTOP) {
+ y *= -SP_ACTIVE_DESKTOP->yaxisdir();
+ }
+ sp_repr_set_svg_double (repr, "inkscape:transform-center-y", y);
+ } else
repr->setAttribute ("inkscape:transform-center-y", nullptr);
}