diff options
| author | Thomas Holder <speleo3@users.sourceforge.net> | 2008-11-29 13:04:08 +0000 |
|---|---|---|
| committer | speleo3 <speleo3@users.sourceforge.net> | 2008-11-29 13:04:08 +0000 |
| commit | df4a7e72f7bb3fa9ea8e56ab220ada98e2ced14e (patch) | |
| tree | afb7a48c362362765caa5b3011d6b964a00d712e /src | |
| parent | comment (diff) | |
| download | inkscape-df4a7e72f7bb3fa9ea8e56ab220ada98e2ced14e.tar.gz inkscape-df4a7e72f7bb3fa9ea8e56ab220ada98e2ced14e.zip | |
bug #168777 (consider root transform and viewBox)
(bzr r6920)
Diffstat (limited to 'src')
| -rw-r--r-- | src/text-context.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/text-context.cpp b/src/text-context.cpp index 1dd5e4e82..078d2bece 100644 --- a/src/text-context.cpp +++ b/src/text-context.cpp @@ -512,6 +512,17 @@ sp_text_context_setup_text(SPTextContext *tc) 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 + 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->updateRepr(); sp_document_done(sp_desktop_document(ec->desktop), SP_VERB_CONTEXT_TEXT, _("Create text")); |
