diff options
| author | Marc Jeanmougin <marc@jeanmougin.fr> | 2018-09-12 16:02:57 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marc@jeanmougin.fr> | 2018-09-12 16:02:57 +0000 |
| commit | 197d4156fb11ec3e608d04e656a7b9e841c341d8 (patch) | |
| tree | 148f0e5a97cac35451983625eb028f94fc4556d0 /src/object/box3d.cpp | |
| parent | More caching in prefs (diff) | |
| parent | Allow adding new properties (diff) | |
| download | inkscape-197d4156fb11ec3e608d04e656a7b9e841c341d8.tar.gz inkscape-197d4156fb11ec3e608d04e656a7b9e841c341d8.zip | |
Merge branch 'master' of gitlab.com:inkscape/inkscape
Diffstat (limited to 'src/object/box3d.cpp')
| -rw-r--r-- | src/object/box3d.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/object/box3d.cpp b/src/object/box3d.cpp index df95f4f84..7be7c10f7 100644 --- a/src/object/box3d.cpp +++ b/src/object/box3d.cpp @@ -149,6 +149,9 @@ void SPBox3D::set(unsigned int key, const gchar* value) { case SP_ATTR_INKSCAPE_BOX3D_CORNER0: if (value && strcmp(value, "0 : 0 : 0 : 0")) { box->orig_corner0 = Proj::Pt3(value); + if (SP_ACTIVE_DESKTOP && SP_ACTIVE_DESKTOP->is_yaxisdown()) { + box->orig_corner0[Proj::Y] *= -1; + } box->save_corner0 = box->orig_corner0; box3d_position_set(box); } @@ -156,6 +159,9 @@ void SPBox3D::set(unsigned int key, const gchar* value) { case SP_ATTR_INKSCAPE_BOX3D_CORNER7: if (value && strcmp(value, "0 : 0 : 0 : 0")) { box->orig_corner7 = Proj::Pt3(value); + if (SP_ACTIVE_DESKTOP && SP_ACTIVE_DESKTOP->is_yaxisdown()) { + box->orig_corner7[Proj::Y] *= -1; + } box->save_corner7 = box->orig_corner7; box3d_position_set(box); } @@ -227,8 +233,15 @@ Inkscape::XML::Node* SPBox3D::write(Inkscape::XML::Document *xml_doc, Inkscape:: } } - gchar *coordstr0 = box->orig_corner0.coord_string(); - gchar *coordstr7 = box->orig_corner7.coord_string(); + auto corner0 = box->orig_corner0; + auto corner7 = box->orig_corner7; + if (SP_ACTIVE_DESKTOP && SP_ACTIVE_DESKTOP->is_yaxisdown()) { + corner0[Proj::Y] *= -1; + corner7[Proj::Y] *= -1; + } + + gchar *coordstr0 = corner0.coord_string(); + gchar *coordstr7 = corner7.coord_string(); repr->setAttribute("inkscape:corner0", coordstr0); repr->setAttribute("inkscape:corner7", coordstr7); g_free(coordstr0); |
