diff options
| author | Thomas Holder <speleo3@users.sourceforge.net> | 2008-12-08 21:54:37 +0000 |
|---|---|---|
| committer | speleo3 <speleo3@users.sourceforge.net> | 2008-12-08 21:54:37 +0000 |
| commit | 8e49988bb83bac954fad4e8648acf2e3d65f96ff (patch) | |
| tree | 33d0a04a1de69f23c4228fedaf0734709be8550e /src/text-context.cpp | |
| parent | "make check" now compiles and runs on Linux. (diff) | |
| download | inkscape-8e49988bb83bac954fad4e8648acf2e3d65f96ff.tar.gz inkscape-8e49988bb83bac954fad4e8648acf2e3d65f96ff.zip | |
Make all tools consider full parent transform (up to document, not just up to root)
See http://wiki.inkscape.org/wiki/index.php/ViewBoxToDo
(bzr r6974)
Diffstat (limited to 'src/text-context.cpp')
| -rw-r--r-- | src/text-context.cpp | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/text-context.cpp b/src/text-context.cpp index e87e87abe..96fa716cf 100644 --- a/src/text-context.cpp +++ b/src/text-context.cpp @@ -511,18 +511,7 @@ sp_text_context_setup_text(SPTextContext *tc) /* yes, it's immediate .. why does it matter? */ sp_desktop_selection(ec->desktop)->set(text_item); Inkscape::GC::release(rtext); - text_item->transform = SP_ITEM(ec->desktop->currentRoot())->getRelativeTransform(ec->desktop->currentLayer()); - - // bug #168777 (consider root transform and viewBox) - // TODO: more generic solution desirable - // see http://wiki.inkscape.org/wiki/index.php/ViewBoxToDo - Geom::Matrix root_transform = sp_item_i2doc_affine(SP_ITEM(ec->desktop->currentRoot())); - if (!root_transform.isIdentity()) { - text_item->transform = root_transform.inverse() * text_item->transform; - Geom::Point pdoc = tc->pdoc * root_transform; - sp_repr_set_svg_double(rtext, "x", pdoc[Geom::X]); - sp_repr_set_svg_double(rtext, "y", pdoc[Geom::Y]); - } + text_item->transform = sp_item_i2doc_affine(SP_ITEM(ec->desktop->currentLayer())).inverse(); text_item->updateRepr(); sp_document_done(sp_desktop_document(ec->desktop), SP_VERB_CONTEXT_TEXT, @@ -697,7 +686,7 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons /* Button 1, set X & Y & new item */ sp_desktop_selection(desktop)->clear(); Geom::Point dtp = desktop->w2d(Geom::Point(event->button.x, event->button.y)); - tc->pdoc = sp_desktop_dt2root_xy_point(desktop, dtp); + tc->pdoc = sp_desktop_dt2doc_xy_point(desktop, dtp); tc->show = TRUE; tc->phase = 1; |
