[Libreoffice-commits] core.git: filter/source

Chr. Rossmanith ChrRossmanith at gmx.de
Thu Feb 19 01:17:34 PST 2015


 filter/source/svg/svgwriter.cxx |   31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

New commits:
commit cacc3a0e7f7b04240daf63b45e457428388f4929
Author: Chr. Rossmanith <ChrRossmanith at gmx.de>
Date:   Tue Feb 3 22:29:31 2015 +0100

    tdf#65788: svg export - put transform attribute into text element
    
    if transform is put into an inner tspan element rotated text isn't rendered rotated
    
    Change-Id: I6fcab1db0e213c65fe8ba88a7694fd10c902bfec
    Reviewed-on: https://gerrit.libreoffice.org/14314
    Reviewed-by: Katarina Behrens <bubli at bubli.org>
    Tested-by: Katarina Behrens <bubli at bubli.org>

diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx
index d7235a9..8b47676 100644
--- a/filter/source/svg/svgwriter.cxx
+++ b/filter/source/svg/svgwriter.cxx
@@ -1157,6 +1157,22 @@ void SVGTextWriter::startTextShape()
         mbIsTextShapeStarted = true;
         maParentFont = vcl::Font();
         mrExport.AddAttribute( XML_NAMESPACE_NONE, "class", "TextShape" );
+
+        // if text is rotated, set transform matrix at text element
+        const vcl::Font& rFont = mpVDev->GetFont();
+        if( rFont.GetOrientation() )
+            {
+                Point   aRot( maTextPos );
+                OUString aTransform =
+                    "translate(" + OUString::number( aRot.X() ) +
+                    "," + OUString::number( aRot.Y() ) + ") rotate(" +
+                    OUString::number( rFont.GetOrientation() * -0.1 ) +
+                    ") translate(" + OUString::number( -aRot.X() ) +
+                    "," + OUString::number( -aRot.Y() ) + ")";
+
+                mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrTransform, aTransform );
+            }
+
         mpTextShapeElem = new SvXMLElementExport( mrExport, XML_NAMESPACE_NONE, aXMLElemText, true, mbIWS );
         startTextParagraph();
     }
@@ -1245,21 +1261,6 @@ void SVGTextWriter::startTextPosition( bool bExportX, bool bExportY )
     if( bExportY )
         mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrY, OUString::number( maTextPos.Y() ) );
 
-    // if text is rotated, set transform matrix at new tspan element
-    const vcl::Font& rFont = mpVDev->GetFont();
-    if( rFont.GetOrientation() )
-    {
-        Point   aRot( maTextPos );
-        OUString aTransform =
-                "translate(" + OUString::number( aRot.X() ) +
-                "," + OUString::number( aRot.Y() ) + ") rotate(" +
-                OUString::number( rFont.GetOrientation() * -0.1 ) +
-                ") translate(" + OUString::number( -aRot.X() ) +
-                "," + OUString::number( -aRot.Y() ) + ")";
-
-        mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrTransform, aTransform );
-    }
-
     mpTextPositionElem = new SvXMLElementExport( mrExport, XML_NAMESPACE_NONE, aXMLElemTspan, mbIWS, mbIWS );
 }
 


More information about the Libreoffice-commits mailing list