Code

fix wrong transform for dot drawing with pen or pencil tool
authorJohan Engelen <goejendaagh@zonnet.nl>
Tue, 22 Jun 2010 22:23:28 +0000 (00:23 +0200)
committerJohan Engelen <goejendaagh@zonnet.nl>
Tue, 22 Jun 2010 22:23:28 +0000 (00:23 +0200)
src/draw-context.cpp

index da22c8a7a50dfcbd07d253ea1f235c93519cecc8..3049f3a6a99a1e910738b71ad8adabd29105b5c3 100644 (file)
@@ -837,7 +837,7 @@ void spdc_create_single_dot(SPEventContext *ec, Geom::Point const &pt, char cons
     Inkscape::Preferences *prefs = Inkscape::Preferences::get();
 
     Geom::Matrix const i2d (sp_item_i2d_affine (item));
-    Geom::Point pp = pt;
+    Geom::Point pp = pt * i2d.inverse();
     double rad = 0.5 * prefs->getDouble(tool_path + "/dot-size", 3.0);
     if (event_state & GDK_MOD1_MASK) {
         /* TODO: We vary the dot size between 0.5*rad and 1.5*rad, where rad is the dot size
@@ -856,7 +856,6 @@ void spdc_create_single_dot(SPEventContext *ec, Geom::Point const &pt, char cons
     sp_repr_set_svg_double (repr, "sodipodi:rx", rad * stroke_width);
     sp_repr_set_svg_double (repr, "sodipodi:ry", rad * stroke_width);
     item->updateRepr();
-    sp_item_set_item_transform(item, i2d.inverse());
 
     sp_desktop_selection(desktop)->set(item);