summaryrefslogtreecommitdiffstats
path: root/src/sp-item-transform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-item-transform.cpp')
-rw-r--r--src/sp-item-transform.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/sp-item-transform.cpp b/src/sp-item-transform.cpp
index 6a6ab4fc4..fd9e9314b 100644
--- a/src/sp-item-transform.cpp
+++ b/src/sp-item-transform.cpp
@@ -33,7 +33,7 @@ sp_item_rotate_rel(SPItem *item, NR::rotate const &rotation)
NR::Matrix affine = NR::Matrix(inverse(s)) * NR::Matrix(rotation) * NR::Matrix(s);
// Rotate item.
- sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * to_2geom(affine));
+ sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * (Geom::Matrix)affine);
// Use each item's own transform writer, consistent with sp_selection_apply_affine()
sp_item_write_transform(item, SP_OBJECT_REPR(item), item->transform);
@@ -48,8 +48,8 @@ sp_item_scale_rel (SPItem *item, NR::scale const &scale)
{
boost::optional<NR::Rect> bbox = sp_item_bbox_desktop(item);
if (bbox) {
- NR::translate const s(bbox->midpoint()); // use getCenter?
- sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * to_2geom(NR::Matrix(inverse(s)) * scale * s));
+ Geom::Translate const s(bbox->midpoint()); // use getCenter?
+ sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * s.inverse() * (Geom::Matrix)(NR::Matrix)scale * s);
sp_item_write_transform(item, SP_OBJECT_REPR(item), item->transform);
}
}
@@ -63,7 +63,7 @@ sp_item_skew_rel (SPItem *item, double skewX, double skewY)
NR::Matrix const skew(1, skewY, skewX, 1, 0, 0);
NR::Matrix affine = NR::Matrix(inverse(s)) * skew * NR::Matrix(s);
- sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * to_2geom(affine));
+ sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * (Geom::Matrix)affine);
sp_item_write_transform(item, SP_OBJECT_REPR(item), item->transform);
// Restore the center position (it's changed because the bbox center changed)
@@ -74,7 +74,7 @@ sp_item_skew_rel (SPItem *item, double skewX, double skewY)
void sp_item_move_rel(SPItem *item, NR::translate const &tr)
{
- sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * to_2geom(tr));
+ sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * tr);
sp_item_write_transform(item, SP_OBJECT_REPR(item), item->transform);
}