[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgwriter.cxx | 22 -- 1 file changed, 8 insertions(+), 14 deletions(-) New commits: commit c4c4c7e37462eddb3da0b9150a7edfdccfb0aa55 Author: Chr. Rossmanith Date: Wed Nov 22 22:30:00 2017 +0100 svg export: more compact format for rotate() translate(, ) rotate() translate(-, -) can be expressed more compact as rotate( ) Change-Id: I156cc8b43eea8c97167c8ae38b367d1bcbb203bd Reviewed-on: https://gerrit.libreoffice.org/45146 Tested-by: Jenkins Reviewed-by: Christina RoÃmanith diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 824f21be6ccd..83f4e8ec2580 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -1228,13 +1228,10 @@ void SVGTextWriter::startTextShape() 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() ) + ")"; - +OUString aTransform = "rotate(" + +OUString::number( rFont.GetOrientation() * -0.1 ) + " " + +OUString::number( aRot.X() ) + " " + +OUString::number( aRot.Y() ) + ")"; mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrTransform, aTransform ); } @@ -2568,13 +2565,10 @@ void SVGActionWriter::ImplWriteText( const Point& rPos, const OUString& rText, if( rFont.GetOrientation() ) { Point aRot( aPos ); -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() ) + ")"; - +OUString aTransform = "rotate(" + +OUString::number( rFont.GetOrientation() * -0.1 ) + " " + +OUString::number( aRot.X() ) + " " + +OUString::number( aRot.Y() ) + ")"; mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrTransform, aTransform ); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgexport.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit f900888ba51803d924bb5129978aa891879ecc59 Author: Chr. Rossmanith Date: Sun Feb 19 21:00:41 2017 +0100 tdf#105641: no javascript in svg export for selection of objects Change-Id: I9150449770b7cef0c424277f87a21e00e123b9ea Reviewed-on: https://gerrit.libreoffice.org/34432 Tested-by: Jenkins Reviewed-by: Michael Stahl diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index 21e4da0fcff6..31c21943d974 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -847,7 +847,7 @@ bool SVGFilter::implExportDocument() implExportMasterPages( mMasterPageTargets, 0, mMasterPageTargets.size() - 1 ); implExportDrawPages( mSelectedPages, 0, nLastPage ); -if( mbPresentation ) +if( mbPresentation && !mbExportShapeSelection ) { implGenerateScript(); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgexport.cxx |2 +- filter/source/svg/svgwriter.cxx | 11 +-- 2 files changed, 6 insertions(+), 7 deletions(-) New commits: commit 1ce132b5b41e218520cc51506665ee0bc625b24b Author: Chr. Rossmanith Date: Tue Feb 14 23:16:30 2017 +0100 tdf#105639: create valid id values in svg export Change-Id: I01a011501af317d7a9e90d7c70d50ef84c74b24e Reviewed-on: https://gerrit.libreoffice.org/34347 Tested-by: Jenkins Reviewed-by: Michael Stahl diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index 50cc5f7..3bf9c6c 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -1227,7 +1227,7 @@ void SVGFilter::implEmbedBulletGlyphs() void SVGFilter::implEmbedBulletGlyph( sal_Unicode cBullet, const OUString & sPathData ) { -OUString sId = "bullet-char-template(" + OUString::number( (sal_Int32)cBullet ) + ")"; +OUString sId = "bullet-char-template-" + OUString::number( (sal_Int32)cBullet ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", sId ); double fFactor = 1.0 / 2048; diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 82d5424..22b3f1f 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -1372,9 +1372,9 @@ void SVGTextWriter::implWriteBulletChars() { // (used by animations) { -// As id we use the id of the text portion placeholder wrapped -// by bullet-char(*) -sId = "bullet-char(" + it->first+ ")"; +// As id we use the id of the text portion placeholder with prefix +// bullet-char-* +sId = "bullet-char-" + it->first; mrExport.AddAttribute( XML_NAMESPACE_NONE, "id", sId ); mrExport.AddAttribute( XML_NAMESPACE_NONE, "class", "BulletChar" ); SvXMLElementExport aBulletCharElem( mrExport, XML_NAMESPACE_NONE, aXMLElemG, true, true ); @@ -1401,9 +1401,8 @@ void SVGTextWriter::implWriteBulletChars() mrExport.AddAttribute( XML_NAMESPACE_NONE, "transform", sScaling ); // Add ref attribute -sRefId = "#bullet-char-template(" + - OUString::number( ( rInfo.cBulletChar ) ) + - ")"; +sRefId = "#bullet-char-template-" + + OUString::number( ( rInfo.cBulletChar ) ); mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrXLinkHRef, sRefId ); SvXMLElementExport aRefElem( mrExport, XML_NAMESPACE_NONE, "use", true, true ); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgreader.cxx | 54 1 file changed, 49 insertions(+), 5 deletions(-) New commits: commit 591903a1b1b64e68322f7454d3e61b2503028b9a Author: Chr. Rossmanith Date: Tue Nov 10 21:17:54 2015 +0100 tdf#51165: handle mixture of open and closed polygons in a path Change-Id: I66c7fb2b627d3380c09b6e5e495905bed67c2824 Reviewed-on: https://gerrit.libreoffice.org/19860 Tested-by: Jenkins Reviewed-by: Thorsten Behrens diff --git a/filter/source/svg/svgreader.cxx b/filter/source/svg/svgreader.cxx index e30acf3..04d8e01 100644 --- a/filter/source/svg/svgreader.cxx +++ b/filter/source/svg/svgreader.cxx @@ -128,6 +128,35 @@ double colorDiffSquared(const ARGBColor& rCol1, const ARGBColor& rCol2) + square(rCol1.b-rCol2.b); } +/** +check whether a polypolygon contains both open and closed +polygons +**/ +bool PolyPolygonIsMixedOpenAndClosed( const basegfx::B2DPolyPolygon& rPoly ) +{ +bool bRetval(false); +bool bOpen(false); +bool bClosed(false); + +// PolyPolygon is mixed open and closed if there is more than one +// polygon and there are both closed and open polygons. +for( sal_uInt32 a(0L); !bRetval && a < rPoly.count(); a++ ) +{ +if ( (rPoly.getB2DPolygon(a)).isClosed() ) +{ +bClosed = true; +} +else +{ +bOpen = true; +} + +bRetval = (bClosed && bOpen); +} + +return bRetval; +} + typedef std::map ElementRefMapType; struct AnnotatingVisitor @@ -1366,11 +1395,26 @@ struct ShapeWritingVisitor aPoly.setClosed(true); } -writePathShape(xAttrs, - xUnoAttrs, - xElem, - sStyleId, - aPoly); +// tdf#51165: rendering of paths with open and closed polygons is not implemented +// split mixed polypolygons into single polygons and add them one by one +if( PolyPolygonIsMixedOpenAndClosed(aPoly) ) +{ +for( sal_uInt32 i(0L); ihttp://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgreader.cxx | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) New commits: commit 49ee56064b436caea85496fbdba8ae8e654d53fe Author: Chr. Rossmanith Date: Mon Nov 2 09:39:57 2015 +0100 SVG: don't use dashes if parsing stroke-dasharray fails Change-Id: Ib256e4a4921e11defe7018f82273739c9ecc3105 Reviewed-on: https://gerrit.libreoffice.org/19735 Tested-by: Jenkins Reviewed-by: Norbert Thiebaud diff --git a/filter/source/svg/svgreader.cxx b/filter/source/svg/svgreader.cxx index 23e98b8..b4d84e6 100644 --- a/filter/source/svg/svgreader.cxx +++ b/filter/source/svg/svgreader.cxx @@ -945,9 +945,15 @@ struct AnnotatingVisitor maCurrState.maDashArray = maParentStates.back().maDashArray; else { -parseDashArray(aValueUtf8.getStr(), - maCurrState.maDashArray); -maCurrState.meStrokeType = DASH; +if( parseDashArray(aValueUtf8.getStr(), + maCurrState.maDashArray) ) +{ +maCurrState.meStrokeType = DASH; +} +else +{ +maCurrState.meStrokeType = SOLID; +} } break; } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - filter/source
filter/source/svg/svgwriter.cxx | 31 --- 1 file changed, 16 insertions(+), 15 deletions(-) New commits: commit cefea9d05085bfc0e485fae5d927544a9e07739c Author: Chr. Rossmanith 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 Reviewed-on: https://gerrit.libreoffice.org/14314 Reviewed-by: Katarina Behrens Tested-by: Katarina Behrens (cherry picked from commit cacc3a0e7f7b04240daf63b45e457428388f4929) Change-Id: I6fcab1db0e213c65fe8ba88a7694fd10c902bfec Reviewed-on: https://gerrit.libreoffice.org/15994 Tested-by: David Tardon Reviewed-by: David Tardon diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 89ae3e3..a63210d 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 = -OUString("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 ); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - filter/source
filter/source/svg/svgexport.cxx |5 + 1 file changed, 1 insertion(+), 4 deletions(-) New commits: commit 4542e5bd0a9b3838794c72becd1f7caa41846c07 Author: Chr. Rossmanith Date: Sat Apr 4 20:55:29 2015 +0200 tdf#56467 / tdf#88117: SVG export further improved omitting the clip-path from the element and keeping it only in the slides enables rendering of exported selection in viewers like firefox and inkscape Change-Id: If296a78a3f948728e8b2ec257849be129bec5d92 Reviewed-on: https://gerrit.libreoffice.org/15155 Tested-by: Jenkins Reviewed-by: Thorsten Behrens Reviewed-on: https://gerrit.libreoffice.org/15312 Tested-by: Norbert Thiebaud Reviewed-by: Norbert Thiebaud diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index 7d0914a..a73ce92 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -799,13 +799,9 @@ bool SVGFilter::implExportDocument() aAttr += OUString::number(nDocWidth) + " " + OUString::number(nDocHeight); -msClipPathId = "presentation_clip_path"; -OUString sClipPathAttrValue = "url(#" + msClipPathId + ")"; - mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "viewBox", aAttr ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "preserveAspectRatio", "xMidYMid" ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "fill-rule", "evenodd" ); -mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "clip-path", sClipPathAttrValue ); // standard line width is based on 1 pixel on a 90 DPI device (0.28222mmm) mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "stroke-width", OUString::number( 28.222 ) ); @@ -822,6 +818,7 @@ bool SVGFilter::implExportDocument() mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "class", "ClipPathGroup" ); SvXMLElementExport aDefsElem( *mpSVGExport, XML_NAMESPACE_NONE, "defs", true, true ); { +msClipPathId = "presentation_clip_path"; mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", msClipPathId ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "clipPathUnits", "userSpaceOnUse" ); SvXMLElementExport aClipPathElem( *mpSVGExport, XML_NAMESPACE_NONE, "clipPath", true, true ); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgwriter.cxx | 68 +--- 1 file changed, 64 insertions(+), 4 deletions(-) New commits: commit f8976c41dc847cc47abf127bed4e0dc58aa7f1b5 Author: Chr. Rossmanith Date: Fri Apr 10 21:58:43 2015 +0200 tdf#37650: further improvement of svg export continues work of 0a4e9138281bd0a4be59031357c1bf52134d007a when opening a element check if element has been opened already; if not open element and close it immediately after writing the text Change-Id: I6e4cfdf9ba107ec9e65a99e7866f4a1075737d82 diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 01d218b..5774dfd 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -3435,14 +3435,29 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, if( mrExport.IsUsePositionedCharacters() ) { vcl::Font aFont = ImplSetCorrectFontHeight(); +bool bTextShapeStarted=false; +if( !maTextWriter.isTextShapeStarted() ) +{ +bTextShapeStarted=true; +maTextWriter.startTextShape(); +} mpContext->SetFontAttr( aFont ); ImplWriteText( pA->GetPoint(), aText, NULL, 0 ); +if( bTextShapeStarted ) +maTextWriter.endTextShape(); } else { +bool bTextShapeStarted=false; +if( !maTextWriter.isTextShapeStarted() ) +{ +bTextShapeStarted=true; +maTextWriter.startTextShape(); +} maTextWriter.writeTextPortion( pA->GetPoint(), aText ); +if( bTextShapeStarted ) +maTextWriter.endTextShape(); } - } } } @@ -3459,12 +3474,27 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, if( mrExport.IsUsePositionedCharacters() ) { vcl::Font aFont = ImplSetCorrectFontHeight(); +bool bTextShapeStarted=false; +if( !maTextWriter.isTextShapeStarted() ) +{ +bTextShapeStarted=true; +maTextWriter.startTextShape(); +} mpContext->SetFontAttr( aFont ); ImplWriteText( pA->GetRect().TopLeft(), pA->GetText(), NULL, 0 ); +if( bTextShapeStarted ) +maTextWriter.endTextShape(); } + +bool bTextShapeStarted=false; +if( !maTextWriter.isTextShapeStarted() ) { -maTextWriter.writeTextPortion( pA->GetRect().TopLeft(), pA->GetText() ); +bTextShapeStarted=true; +maTextWriter.startTextShape(); } +maTextWriter.writeTextPortion( pA->GetRect().TopLeft(), pA->GetText() ); +if( bTextShapeStarted ) +maTextWriter.endTextShape(); } } } @@ -3483,12 +3513,28 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, if( mrExport.IsUsePositionedCharacters() ) { vcl::Font aFont = ImplSetCorrectFontHeight(); +bool bTextShapeStarted=false; +if( !maTextWriter.isTextShapeStarted() ) +{ +bTextShapeStarted=true; +maTextWriter.startTextShape(); +} mpContext->SetFontAttr( aFont ); ImplWriteText( pA->GetPoint(), aText, pA->GetDXArray(), 0 ); +if( bTextShapeStarted ) +maTextWriter.endTextShape(); } else { +bool bTextShapeStarted=false; +if( !maTextWriter.isTextShapeStarted() ) +{ +
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgexport.cxx |5 + 1 file changed, 1 insertion(+), 4 deletions(-) New commits: commit 1e9bbd1bf0eda05c8474c49581fdaeace6689ae1 Author: Chr. Rossmanith Date: Sat Apr 4 20:55:29 2015 +0200 tdf#56467 / tdf#88117: SVG export further improved omitting the clip-path from the element and keeping it only in the slides enables rendering of exported selection in viewers like firefox and inkscape Change-Id: If296a78a3f948728e8b2ec257849be129bec5d92 Reviewed-on: https://gerrit.libreoffice.org/15155 Tested-by: Jenkins Reviewed-by: Thorsten Behrens diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index ada437d..84572d0b 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -796,13 +796,9 @@ bool SVGFilter::implExportDocument() aAttr += OUString::number(nDocWidth) + " " + OUString::number(nDocHeight); -msClipPathId = "presentation_clip_path"; -OUString sClipPathAttrValue = "url(#" + msClipPathId + ")"; - mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "viewBox", aAttr ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "preserveAspectRatio", "xMidYMid" ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "fill-rule", "evenodd" ); -mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "clip-path", sClipPathAttrValue ); // standard line width is based on 1 pixel on a 90 DPI device (0.28222mmm) mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "stroke-width", OUString::number( 28.222 ) ); @@ -819,6 +815,7 @@ bool SVGFilter::implExportDocument() mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "class", "ClipPathGroup" ); SvXMLElementExport aDefsElem( *mpSVGExport, XML_NAMESPACE_NONE, "defs", true, true ); { +msClipPathId = "presentation_clip_path"; mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", msClipPathId ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "clipPathUnits", "userSpaceOnUse" ); SvXMLElementExport aClipPathElem( *mpSVGExport, XML_NAMESPACE_NONE, "clipPath", true, true ); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgfontexport.cxx |9 ++--- filter/source/svg/svgwriter.cxx |9 ++--- 2 files changed, 12 insertions(+), 6 deletions(-) New commits: commit 9c3d44197613f1570026c0f351268bda293c08ea Author: Chr. Rossmanith Date: Fri Apr 10 21:39:06 2015 +0200 tdf#56467: copy text of meta actions with valid text length avoids !!br0ken!! in svg output Change-Id: I7f99a26f3a995cbaeb1e520a411a8e1c31a8a61f Reviewed-on: https://gerrit.libreoffice.org/15144 Tested-by: Jenkins Reviewed-by: Thorsten Behrens diff --git a/filter/source/svg/svgfontexport.cxx b/filter/source/svg/svgfontexport.cxx index 2de4b73..b65370a 100644 --- a/filter/source/svg/svgfontexport.cxx +++ b/filter/source/svg/svgfontexport.cxx @@ -102,7 +102,8 @@ void SVGFontExport::implCollectGlyphs() case( META_TEXT_ACTION ): { const MetaTextAction* pA = static_cast(pAction); -aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() ); +sal_Int32 aLength=std::min( pA->GetText().getLength(), pA->GetLen() ); +aText = pA->GetText().copy( pA->GetIndex(), aLength ); } break; @@ -116,14 +117,16 @@ void SVGFontExport::implCollectGlyphs() case( META_TEXTARRAY_ACTION ): { const MetaTextArrayAction* pA = static_cast(pAction); -aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() ); +sal_Int32 aLength=std::min( pA->GetText().getLength(), pA->GetLen() ); +aText = pA->GetText().copy( pA->GetIndex(), aLength ); } break; case( META_STRETCHTEXT_ACTION ): { const MetaStretchTextAction* pA = static_cast(pAction); -aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() ); +sal_Int32aLength=std::min( pA->GetText().getLength(), pA->GetLen() ); +aText = pA->GetText().copy( pA->GetIndex(), aLength ); } break; diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 44fe125..01d218b 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -3427,7 +3427,8 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, if( nWriteFlags & SVGWRITER_WRITE_TEXT ) { const MetaTextAction* pA = static_cast(pAction); -const OUString aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() ); +sal_Int32 aLength = std::min( pA->GetText().getLength(), pA->GetLen() ); +const OUString aText = pA->GetText().copy( pA->GetIndex(), aLength ); if( !aText.isEmpty() ) { @@ -3474,7 +3475,8 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, if( nWriteFlags & SVGWRITER_WRITE_TEXT ) { const MetaTextArrayAction* pA = static_cast(pAction); -const OUString aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() ); +sal_Int32 aLength = std::min( pA->GetText().getLength(), pA->GetLen() ); +const OUString aText = pA->GetText().copy( pA->GetIndex(), aLength ); if( !aText.isEmpty() ) { @@ -3498,7 +3500,8 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, if( nWriteFlags & SVGWRITER_WRITE_TEXT ) { const MetaStretchTextAction*pA = static_cast(pAction); -const OUString aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() ); +sal_Int32 aLength = std::min( pA->GetText().getLength(), pA->GetLen() ); +const OUString aText = pA->GetText().copy( pA->GetIndex(), aLength ); if( !aText.isEmpty() ) { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - filter/source
filter/source/svg/svgexport.cxx |4 ++-- filter/source/svg/svgwriter.cxx |4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) New commits: commit f6a67357ab8f827ba934eb40f79fcc58391f909a Author: Chr. Rossmanith Date: Wed Mar 25 22:49:13 2015 +0100 tdf#56467: improve export of formulas to SVG tspan element only valid as child of text element if exporting a selection use top left corner of bounding rect as top left corner of viewbox export x coordinate of text position for text portions Change-Id: I8b739085473aa4a48ff3e8c413c3cddbaebd Reviewed-on: https://gerrit.libreoffice.org/14992 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens Reviewed-on: https://gerrit.libreoffice.org/15087 Reviewed-by: Adolfo Jayme Barrientos Tested-by: Adolfo Jayme Barrientos diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index ca9d495..7d0914a 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -826,8 +826,8 @@ bool SVGFilter::implExportDocument() mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "clipPathUnits", "userSpaceOnUse" ); SvXMLElementExport aClipPathElem( *mpSVGExport, XML_NAMESPACE_NONE, "clipPath", true, true ); { -mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "x", OUString::number( 0 ) ); -mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "y", OUString::number( 0 ) ); +mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "x", OUString::number( nDocX ) ); +mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "y", OUString::number( nDocY ) ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "width", OUString::number( nDocWidth ) ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "height", OUString::number( nDocHeight ) ); SvXMLElementExport aRectElem( *mpSVGExport, XML_NAMESPACE_NONE, "rect", true, true ); diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 6d2efba..89ae3e3 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -1540,7 +1540,7 @@ void SVGTextWriter::implWriteTextPortion( const Point& rPos, else aPos = rPos; -if( mbPositioningNeeded ) +if( mbPositioningNeeded || bApplyMapping ) { mbPositioningNeeded = false; maTextPos.setX( aPos.X() ); @@ -3509,7 +3509,9 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, } else { +maTextWriter.startTextShape(); maTextWriter.writeTextPortion( pA->GetPoint(), aText ); +maTextWriter.endTextShape(); } } } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source svgio/inc
filter/source/svg/svgwriter.cxx |2 +- svgio/inc/svgio/svgreader/svgdocument.hxx |6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) New commits: commit f1a1327435a3e146b2f0d67fbc14dd041231e503 Author: Chr. Rossmanith Date: Tue Mar 24 22:21:26 2015 +0100 fixed typos in comments Change-Id: I6f0b90f7a76ddc69e158502af760466ab7ce2f91 diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index c3b544f..0ebab07 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -2641,7 +2641,7 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, const Reference< XShape >* pxShape, const GDIMetaFile* pTextEmbeddedBitmapMtf ) { -// need a counter fo rthe actions written per shape to avoid double ID +// need a counter for the actions written per shape to avoid double ID // generation sal_Int32 nEntryCount(0); diff --git a/svgio/inc/svgio/svgreader/svgdocument.hxx b/svgio/inc/svgio/svgreader/svgdocument.hxx index 0c3a9df..7be38a6 100644 --- a/svgio/inc/svgio/svgreader/svgdocument.hxx +++ b/svgio/inc/svgio/svgreader/svgdocument.hxx @@ -53,21 +53,21 @@ namespace svgio SvgDocument(const OUString& rAbsolutePath); ~SvgDocument(); -/// append anopther root node, ownership changes +/// append another root node, ownership changes void appendNode(SvgNode* pNode); /// add/remove nodes with Id to mapper void addSvgNodeToMapper(const OUString& rStr, const SvgNode& rNode); void removeSvgNodeFromMapper(const OUString& rStr); -/// find a node by it's Id +/// find a node by its Id bool hasSvgNodesById() const { return !maIdTokenMapperList.empty(); } const SvgNode* findSvgNodeById(const OUString& rStr) const; /// add/remove styles to mapper void addSvgStyleAttributesToMapper(const OUString& rStr, const SvgStyleAttributes& rSvgStyleAttributes); -/// find a style by it's Id +/// find a style by its Id bool hasGlobalCssStyleAttributes() const { return !maIdStyleTokenMapperList.empty(); } const SvgStyleAttributes* findGlobalCssStyleAttributes(const OUString& rStr) const; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgexport.cxx |4 ++-- filter/source/svg/svgwriter.cxx |4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) New commits: commit 0a4e9138281bd0a4be59031357c1bf52134d007a Author: Chr. Rossmanith Date: Wed Mar 25 22:49:13 2015 +0100 tdf#56467: improve export of formulas to SVG tspan element only valid as child of text element if exporting a selection use top left corner of bounding rect as top left corner of viewbox export x coordinate of text position for text portions Change-Id: I8b739085473aa4a48ff3e8c413c3cddbaebd Reviewed-on: https://gerrit.libreoffice.org/14992 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index d21260b..ada437d 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -823,8 +823,8 @@ bool SVGFilter::implExportDocument() mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "clipPathUnits", "userSpaceOnUse" ); SvXMLElementExport aClipPathElem( *mpSVGExport, XML_NAMESPACE_NONE, "clipPath", true, true ); { -mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "x", OUString::number( 0 ) ); -mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "y", OUString::number( 0 ) ); +mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "x", OUString::number( nDocX ) ); +mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "y", OUString::number( nDocY ) ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "width", OUString::number( nDocWidth ) ); mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "height", OUString::number( nDocHeight ) ); SvXMLElementExport aRectElem( *mpSVGExport, XML_NAMESPACE_NONE, "rect", true, true ); diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index f489905..c3b544f 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -1541,7 +1541,7 @@ void SVGTextWriter::implWriteTextPortion( const Point& rPos, else aPos = rPos; -if( mbPositioningNeeded ) +if( mbPositioningNeeded || bApplyMapping ) { mbPositioningNeeded = false; maTextPos.setX( aPos.X() ); @@ -3510,7 +3510,9 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, } else { +maTextWriter.startTextShape(); maTextWriter.writeTextPortion( pA->GetPoint(), aText ); +maTextWriter.endTextShape(); } } } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgwriter.cxx | 20 ++-- filter/source/svg/svgwriter.hxx |6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) New commits: commit 5a5c9d0fa42201d0fbec2670f097f00a8ff91d2c Author: Chr. Rossmanith Date: Tue Mar 24 22:19:46 2015 +0100 fix typo in variable name mbIsPlacehlolderShape -> mbIsPlaceholderShape Change-Id: Ie01335293a3acd6da628e7ea123e10f77c1513da Reviewed-on: https://gerrit.libreoffice.org/14991 Reviewed-by: Katarina Behrens Tested-by: Katarina Behrens diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index a9c0dc4..4a394266 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -434,7 +434,7 @@ SVGTextWriter::SVGTextWriter( SVGExport& rExport ) mbLineBreak( false ), mbIsURLField( false ), msUrl(), -mbIsPlacehlolderShape( false ), +mbIsPlaceholderShape( false ), mbIWS( false ), maCurrentFont(), maParentFont() @@ -1029,7 +1029,7 @@ bool SVGTextWriter::nextTextPortion() { mrCurrentTextPortion.clear(); mbIsURLField = false; -mbIsPlacehlolderShape = false; +mbIsPlaceholderShape = false; if( mrTextPortionEnumeration.is() && mrTextPortionEnumeration->hasMoreElements() ) { #if OSL_DEBUG_LEVEL > 0 @@ -1097,7 +1097,7 @@ bool SVGTextWriter::nextTextPortion() if( sFieldName == "DateTime" || sFieldName == "Header" || sFieldName == "Footer" || sFieldName == "PageNumber" ) { -mbIsPlacehlolderShape = true; +mbIsPlaceholderShape = true; } else { @@ -1602,10 +1602,10 @@ void SVGTextWriter::implWriteTextPortion( const Point& rPos, mrExport.AddAttribute( XML_NAMESPACE_NONE, "id", rTextPortionId ); } -if( mbIsPlacehlolderShape ) +if( mbIsPlaceholderShape ) { mrExport.AddAttribute( XML_NAMESPACE_NONE, "class", "PlaceholderText" ); -mbIsPlacehlolderShape = false; +mbIsPlaceholderShape = false; } addFontAttributes( /* isTexTContainer: */ false ); @@ -1616,7 +1616,7 @@ void SVGTextWriter::implWriteTextPortion( const Point& rPos, OUString sTextContent = rText; // tag for link should be the innermost tag, inside -if( !mbIsPlacehlolderShape && mbIsURLField && !msUrl.isEmpty() ) +if( !mbIsPlaceholderShape && mbIsURLField && !msUrl.isEmpty() ) { mrExport.AddAttribute( XML_NAMESPACE_NONE, "class", "UrlField" ); mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrXLinkHRef, msUrl ); @@ -1647,7 +1647,7 @@ SVGActionWriter::SVGActionWriter( SVGExport& rExport, SVGFontExport& rFontExport maTextWriter( rExport ), mnInnerMtfCount( 0 ), mbClipAttrChanged( false ), -mbIsPlacehlolderShape( false ) +mbIsPlaceholderShape( false ) { mpVDev = new VirtualDevice; mpVDev->EnableOutput( false ); @@ -2456,7 +2456,7 @@ void SVGActionWriter::ImplWriteText( const Point& rPos, const OUString& rText, bool bIsPlaceholderField = false; -if( mbIsPlacehlolderShape ) +if( mbIsPlaceholderShape ) { OUString sTextContent = rText; bIsPlaceholderField = sTextContent.match( sPlaceholderTag ); @@ -2657,10 +2657,10 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, bIsTextShape = true; } #endif -mbIsPlacehlolderShape = false; +mbIsPlaceholderShape = false; if( ( pElementId != NULL ) && ( *pElementId == sPlaceholderTag ) ) { -mbIsPlacehlolderShape = true; +mbIsPlaceholderShape = true; // since we utilize pElementId in an improper way we reset it to NULL before to go on pElementId = NULL; } diff --git a/filter/source/svg/svgwriter.hxx b/filter/source/svg/svgwriter.hxx index 8d296a2..a74ca30 100644 --- a/filter/source/svg/svgwriter.hxx +++ b/filter/source/svg/svgwriter.hxx @@ -204,7 +204,7 @@ class SVGTextWriter boolmbIsURLField; OUStringmsUrl; OUStringmsHyperlinkIdList; -boolmbIsPlacehlolderShape; +boolmbIsPlaceholderShape; boolmbIWS; vcl::Font maCurrentFont; vcl::Font maParentFont; @@ -266,7 +266,7 @@ class SVGTextWriter void setPlaceholderShapeFlag( bool bState ) { -mbIsPlacehlolderShape
[Libreoffice-commits] core.git: svgio/source
svgio/source/svgreader/svgstyleattributes.cxx |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) New commits: commit 48916c9b8c1363a37bf511626326ee6dc150975c Author: Chr. Rossmanith Date: Mon Mar 16 14:33:54 2015 +0100 tdf#89119: SVG - accelerated import of huge paths without fill the sample attached to the bug can be rendered within seconds instead of minutes Change-Id: I64671e9619f78931da2c11461a6884f2a1c8d66f Reviewed-on: https://gerrit.libreoffice.org/14883 Tested-by: Jenkins Reviewed-by: Christina RoÃmanith diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index 888c8d9..4735887 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -1088,8 +1088,12 @@ namespace svgio if(bClipPathIsNonzero || bFillRuleIsNonzero) { -// nonzero is wanted, solve geometrically (see description on basegfx) -aPath = basegfx::tools::createNonzeroConform(aPath); +if(getFill() || getSvgGradientNodeFill() || getSvgPatternNodeFill()) { +// nonzero is wanted, solve geometrically (see description on basegfx) +// basegfx::tools::createNonzeroConform() is expensive for huge paths +// and is only needed if path will be filled later on +aPath = basegfx::tools::createNonzeroConform(aPath); +} } add_fill(aPath, rTarget, aGeoRange); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgwriter.cxx | 31 --- 1 file changed, 16 insertions(+), 15 deletions(-) New commits: commit cacc3a0e7f7b04240daf63b45e457428388f4929 Author: Chr. Rossmanith 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 Tested-by: Katarina Behrens 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 ); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: svgio/inc svgio/source
svgio/inc/svgio/svgreader/svgstyleattributes.hxx |3 +++ svgio/source/svgreader/svgstyleattributes.cxx| 17 + 2 files changed, 16 insertions(+), 4 deletions(-) New commits: commit d0cfd49dc530574cbbc0a95c173de8936bc9c8ca Author: Chr. Rossmanith Date: Tue Feb 3 21:20:20 2015 +0100 tdf#87309: SVG - use black as default currentColor if no color was specified improves import of attachment https://bugs.documentfoundation.org/attachment.cgi?id=110836 from issue 62284 Change-Id: Icb056774746ce270138a54e9dfe9ca6987a64769 Reviewed-on: https://gerrit.libreoffice.org/14242 Reviewed-by: Katarina Behrens Tested-by: Katarina Behrens diff --git a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx index 693772b..ac3fbf8 100644 --- a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx +++ b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx @@ -406,6 +406,9 @@ namespace svgio const basegfx::BColor* getColor() const; void setColor(const SvgPaint& rColor) { maColor = rColor; } +/// Resolve current color (defaults to black if no color is specified) +const basegfx::BColor* getCurrentColor() const; + /// Opacity content SvgNumber getOpacity() const { return maOpacity; } void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; } diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index 182448f..fa71c63 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -1888,19 +1888,28 @@ namespace svgio return false; } +const basegfx::BColor* SvgStyleAttributes::getCurrentColor() const +{ +static basegfx::BColor aBlack(0.0, 0.0, 0.0); +const basegfx::BColor *aColor = getColor(); +if( aColor ) +return aColor; +else +return &aBlack; +} + const basegfx::BColor* SvgStyleAttributes::getFill() const { if(mbIsClipPathContent) { static basegfx::BColor aBlack(0.0, 0.0, 0.0); - return &aBlack; } else if(maFill.isSet()) { if(maFill.isCurrent()) { -return getColor(); +return getCurrentColor(); } else if(maFill.isOn()) { @@ -1930,7 +1939,7 @@ namespace svgio { if(maStroke.isCurrent()) { -return getColor(); +return getCurrentColor(); } else if(maStroke.isOn()) { @@ -1954,7 +1963,7 @@ namespace svgio { if(maStopColor.isCurrent()) { -return *getColor(); +return *getCurrentColor(); } else { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: svgio/source
svgio/source/svgreader/svgnode.cxx| 22 ++ svgio/source/svgreader/svgstyleattributes.cxx |7 +-- 2 files changed, 15 insertions(+), 14 deletions(-) New commits: commit 5f98e35f81c887ff55edbdbe0d264215d9faa562 Author: Chr. Rossmanith Date: Sun Nov 16 21:43:13 2014 +0100 SVG: improve handling of visibility property visible children of an invisible parent are now visible Change-Id: I2eafbd15d22f54ec39f12bfd32175925ab8a6184 Reviewed-on: https://gerrit.libreoffice.org/12504 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara diff --git a/svgio/source/svgreader/svgnode.cxx b/svgio/source/svgreader/svgnode.cxx index d084868..e4038e0 100644 --- a/svgio/source/svgreader/svgnode.cxx +++ b/svgio/source/svgreader/svgnode.cxx @@ -496,12 +496,6 @@ namespace svgio return; } -const SvgStyleAttributes* pStyles = getSvgStyleAttributes(); -if(pStyles && (Visibility_hidden == pStyles->getVisibility() || Visibility_collapse == pStyles->getVisibility())) -{ -return; -} - if(!bReferenced) { if(SVGTokenDefs == getType() || @@ -540,11 +534,14 @@ namespace svgio if(pCandidate && Display_none != pCandidate->getDisplay()) { +const SvgNodeVector& rGrandChildren = pCandidate->getChildren(); const SvgStyleAttributes* pChildStyles = pCandidate->getSvgStyleAttributes(); -if(pChildStyles && Visibility_hidden != pChildStyles->getVisibility()) +// decompose: +// - visible terminal nodes +// - all non-terminal nodes (might contain visible nodes down the hierarchy) +if( !rGrandChildren.empty() || ( pChildStyles && (Visibility_visible == pChildStyles->getVisibility())) ) { drawinglayer::primitive2d::Primitive2DSequence aNewTarget; - pCandidate->decomposeSvgNode(aNewTarget, bReferenced); if(aNewTarget.hasElements()) @@ -552,15 +549,16 @@ namespace svgio drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(rTarget, aNewTarget); } } -} -else if(!pCandidate) -{ + } + else if(!pCandidate) + { OSL_ENSURE(false, "Null-Pointer in child node list (!)"); -} + } } if(rTarget.hasElements()) { +const SvgStyleAttributes* pStyles = getSvgStyleAttributes(); if(pStyles) { // check if we have Title or Desc diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index 73fe7f8..182448f 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -1230,15 +1230,18 @@ namespace svgio mbIsClipPathContent(SVGTokenClipPathNode == mrOwner.getType()), mbStrokeDasharraySet(false) { +const SvgStyleAttributes* pParentStyle = getParentStyle(); if(!mbIsClipPathContent) { -const SvgStyleAttributes* pParentStyle = getParentStyle(); - if(pParentStyle) { mbIsClipPathContent = pParentStyle->mbIsClipPathContent; } } +if(pParentStyle) +{ +maVisibility = pParentStyle->maVisibility; +} } SvgStyleAttributes::~SvgStyleAttributes() ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: svgio/inc svgio/source
svgio/inc/svgio/svgreader/svgstyleattributes.hxx | 13 svgio/inc/svgio/svgreader/svgtoken.hxx |1 svgio/source/svgreader/svgnode.cxx | 24 +++ svgio/source/svgreader/svgstyleattributes.cxx| 24 +++ svgio/source/svgreader/svgtoken.cxx |2 + 5 files changed, 56 insertions(+), 8 deletions(-) New commits: commit 501f25e3291dd0ab38e3612de2fc160d953c1846 Author: Chr. Rossmanith Date: Sat Nov 1 22:22:38 2014 +0100 SVG: handle visibility property improve import of masking-path-08-b.svg of the W3C svg test suite when using insert->media->image Change-Id: Ib4d48165f982e394e2171ac82e6cc06911553904 Reviewed-on: https://gerrit.libreoffice.org/12168 Reviewed-by: Christina RoÃmanith Tested-by: Christina RoÃmanith diff --git a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx index ab40e9d..693772b 100644 --- a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx +++ b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx @@ -153,6 +153,14 @@ namespace svgio BaselineShift_Length }; +enum Visibility +{ +Visibility_visible, +Visibility_hidden, +Visibility_collapse, +Visibility_inherit +}; + class SvgStyleAttributes { private: @@ -185,6 +193,7 @@ namespace svgio TextAnchor maTextAnchor; SvgPaintmaColor; SvgNumber maOpacity; +Visibility maVisibility; OUString maTitle; OUString maDesc; @@ -401,6 +410,10 @@ namespace svgio SvgNumber getOpacity() const { return maOpacity; } void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; } +/// Visibility +Visibility getVisibility() const { return maVisibility; } +void setVisibility(Visibility eVisibility) { maVisibility = eVisibility; } + // Title content const OUString& getTitle() const { return maTitle; } void setTitle(const OUString& rNew) { maTitle = rNew; } diff --git a/svgio/inc/svgio/svgreader/svgtoken.hxx b/svgio/inc/svgio/svgreader/svgtoken.hxx index 87d23b6..8d60847 100644 --- a/svgio/inc/svgio/svgreader/svgtoken.hxx +++ b/svgio/inc/svgio/svgreader/svgtoken.hxx @@ -102,6 +102,7 @@ namespace svgio SVGTokenPatternContentUnits, SVGTokenPatternTransform, SVGTokenOpacity, +SVGTokenVisibility, SVGTokenTitle, SVGTokenDesc, diff --git a/svgio/source/svgreader/svgnode.cxx b/svgio/source/svgreader/svgnode.cxx index 723ddbf..d084868 100644 --- a/svgio/source/svgreader/svgnode.cxx +++ b/svgio/source/svgreader/svgnode.cxx @@ -496,6 +496,12 @@ namespace svgio return; } +const SvgStyleAttributes* pStyles = getSvgStyleAttributes(); +if(pStyles && (Visibility_hidden == pStyles->getVisibility() || Visibility_collapse == pStyles->getVisibility())) +{ +return; +} + if(!bReferenced) { if(SVGTokenDefs == getType() || @@ -534,16 +540,20 @@ namespace svgio if(pCandidate && Display_none != pCandidate->getDisplay()) { -drawinglayer::primitive2d::Primitive2DSequence aNewTarget; +const SvgStyleAttributes* pChildStyles = pCandidate->getSvgStyleAttributes(); +if(pChildStyles && Visibility_hidden != pChildStyles->getVisibility()) +{ +drawinglayer::primitive2d::Primitive2DSequence aNewTarget; -pCandidate->decomposeSvgNode(aNewTarget, bReferenced); +pCandidate->decomposeSvgNode(aNewTarget, bReferenced); -if(aNewTarget.hasElements()) -{ - drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(rTarget, aNewTarget); +if(aNewTarget.hasElements()) +{ + drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(rTarget, aNewTarget); +} } } -else +else if(!pCandidate) { OSL_ENSURE(false, "Null-Pointer in child node list (!)"); } @@ -551,8 +561,6 @@ namespace svgio if(rTarget.hasElements())
[Libreoffice-commits] core.git: 2 commits - svgio/source
svgio/source/svgreader/svgclippathnode.cxx |2 +- svgio/source/svgreader/svgnode.cxx |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) New commits: commit 82dd3e5d53a7521a1190a4068391e7e3eb1e9a79 Author: Chr. Rossmanith Date: Tue Oct 28 22:03:03 2014 +0100 fixed typo Change-Id: I2be2caae32a4b33facbf9e933f4537e12e576023 diff --git a/svgio/source/svgreader/svgclippathnode.cxx b/svgio/source/svgreader/svgclippathnode.cxx index 5e3bab1..7d4ac89 100644 --- a/svgio/source/svgreader/svgclippathnode.cxx +++ b/svgio/source/svgreader/svgclippathnode.cxx @@ -140,7 +140,7 @@ namespace svgio if(aClipTarget.hasElements()) { -// extract filled plygons as base for a mask PolyPolygon +// extract filled polygons as base for a mask PolyPolygon drawinglayer::processor2d::ContourExtractor2D aExtractor(aViewInformation2D, true); aExtractor.process(aClipTarget); commit 78a6fc8eda40c08eb3856c815fc402fa5ebbd995 Author: Chr. Rossmanith Date: Tue Oct 28 22:01:19 2014 +0100 use isEmpty() instead of getLength() where appropriate Change-Id: I2ac660a6035791e68af9bde9470bbf8c1d008dee diff --git a/svgio/source/svgreader/svgnode.cxx b/svgio/source/svgreader/svgnode.cxx index edd287b..723ddbf 100644 --- a/svgio/source/svgreader/svgnode.cxx +++ b/svgio/source/svgreader/svgnode.cxx @@ -359,7 +359,7 @@ namespace svgio Display getDisplayFromContent(const OUString& aContent) { -if(aContent.getLength()) +if(!aContent.isEmpty()) { if(aContent.startsWith("inline")) { @@ -476,7 +476,7 @@ namespace svgio } case SVGTokenDisplay: { -if(aContent.getLength()) +if(!aContent.isEmpty()) { setDisplay(getDisplayFromContent(aContent)); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: filter/source
filter/source/svg/svgreader.cxx | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) New commits: commit 5e27d23d7e665cc0aeac8fc9ea2236bf8bc088ff Author: Chr. Rossmanith Date: Fri Oct 3 13:51:00 2014 +0200 fdo#65864: dont't traverse defs-nodes when in shape writing mode Relevant for opening svg images via File->Open: Children of the element should be interpreted only during the style collecting step. Collecting elements from clip paths during the shape writing step leads to unwanted black polygons. Change-Id: I73598134c9be2877e975a7e756541ec3026fe768 Reviewed-on: https://gerrit.libreoffice.org/11793 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens diff --git a/filter/source/svg/svgreader.cxx b/filter/source/svg/svgreader.cxx index da2ae3d..44df957 100644 --- a/filter/source/svg/svgreader.cxx +++ b/filter/source/svg/svgreader.cxx @@ -53,6 +53,7 @@ using namespace ::com::sun::star; namespace svgi { +enum SvgiVisitorCaller {STYLE_ANNOTATOR, SHAPE_WRITER, STYLE_WRITER}; namespace { @@ -78,7 +79,8 @@ template void visitChildren(const Func& rFunc, element's attributes, if any */ template void visitElements(Func& rFunc, - const uno::Reference xElem) + const uno::Reference xElem, + SvgiVisitorCaller eCaller) { if( xElem->hasAttributes() ) rFunc(xElem,xElem->getAttributes()); @@ -89,6 +91,9 @@ template void visitElements(Func& rFunc, rFunc.push(); // recurse over children +if (eCaller == SHAPE_WRITER && xElem->getTagName() == "defs") { +return; +} uno::Reference xChildren( xElem->getChildNodes() ); const sal_Int32 nNumNodes( xChildren->getLength() ); for( sal_Int32 i=0; i void visitElements(Func& rFunc, visitElements( rFunc, uno::Reference( xChildren->item(i), - uno::UNO_QUERY_THROW) ); + uno::UNO_QUERY_THROW), + eCaller ); } // children processing done @@ -1170,7 +1176,7 @@ static void annotateStyles( StatePool& rS const uno::Reference& xDocHdl ) { AnnotatingVisitor aVisitor(rStatePool,rStateMap,rInitialState,xDocHdl); -visitElements(aVisitor, xElem); +visitElements(aVisitor, xElem, STYLE_ANNOTATOR); } struct ShapeWritingVisitor @@ -1706,7 +1712,7 @@ static void writeShapes( StatePool& rStat const uno::Reference& xDocHdl ) { ShapeWritingVisitor aVisitor(rStatePool,rStateMap,xDocHdl); -visitElements(aVisitor, xElem); +visitElements(aVisitor, xElem, SHAPE_WRITER); } } // namespace @@ -1822,7 +1828,7 @@ static void writeOfficeStyles( StateMap& const uno::Reference& xDocHdl ) { OfficeStylesWritingVisitor aVisitor( rStateMap, xDocHdl ); -visitElements( aVisitor, xElem ); +visitElements( aVisitor, xElem, STYLE_WRITER ); } #if OSL_DEBUG_LEVEL > 2 ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: svgio/source
svgio/source/svgreader/svgnode.cxx |4 ++-- svgio/source/svgreader/svgstylenode.cxx | 10 +- 2 files changed, 7 insertions(+), 7 deletions(-) New commits: commit 48381e5c2e0a6dc0ad7c3827d988e1010e3f301a Author: Chr. Rossmanith Date: Fri Oct 3 21:47:56 2014 +0200 use isEmpty() instead of getLength() where appropriate Change-Id: I87bb3473af631dc321c5a8c2b06b0b5ccdf8e73b Reviewed-on: https://gerrit.libreoffice.org/11813 Reviewed-by: Christina RoÃmanith Tested-by: Christina RoÃmanith diff --git a/svgio/source/svgreader/svgnode.cxx b/svgio/source/svgreader/svgnode.cxx index b68d083..3e85aed 100644 --- a/svgio/source/svgreader/svgnode.cxx +++ b/svgio/source/svgreader/svgnode.cxx @@ -135,7 +135,7 @@ namespace svgio } // check for class-dependent references to CssStyles -if(rClassStr.getLength()) +if(!rClassStr.isEmpty()) { OUString aNewConcatenated(aConcatenated); @@ -213,7 +213,7 @@ namespace svgio { // #i125293# rOriginal will be the last element in the linked list; use no CssStyleParent // there (reset it) to ensure that the parent hierarchy will be used when it's base -// is referenced. This new chaning inserts the CssStyles before the original style, +// is referenced. This new chaining inserts the CssStyles before the original style, // this makes the whole process much safer since the original style when used will // be not different to the situation without CssStyles; thus loops which may be caused // by trying to use the parent hierarchy of the owner of the style will be avoided diff --git a/svgio/source/svgreader/svgstylenode.cxx b/svgio/source/svgreader/svgstylenode.cxx index c9c455e..bca95c6 100644 --- a/svgio/source/svgreader/svgstylenode.cxx +++ b/svgio/source/svgreader/svgstylenode.cxx @@ -85,7 +85,7 @@ namespace svgio { // aSelectors: CssStyle selectors, any combination, no comma separations, no spaces at start/end // rNewStyle: the already preapared style to register on that name -if(aSelectors.getLength()) +if(!aSelectors.isEmpty()) { std::vector< OUString > aSelectorParts; const sal_Int32 nLen(aSelectors.getLength()); @@ -100,7 +100,7 @@ namespace svgio skip_char(aSelectors, sal_Unicode(' '), nPos, nLen); const OUString aSelectorPart(aToken.makeStringAndClear().trim()); -if(aSelectorPart.getLength()) +if(!aSelectorPart.isEmpty()) { aSelectorParts.push_back(aSelectorPart); } @@ -147,7 +147,7 @@ namespace svgio { // aSelectors: possible comma-separated list of CssStyle definitions, no spaces at start/end // aContent: the svg style definitions as string -if(aSelectors.getLength() && aContent.getLength()) +if(!aSelectors.isEmpty() && !aContent.isEmpty()) { // create new style and add to local list (for ownership control) SvgStyleAttributes* pNewStyle = new SvgStyleAttributes(*this); @@ -203,7 +203,7 @@ namespace svgio const OUString aSelectors(aToken.makeStringAndClear().trim()); OUString aContent; -if(aSelectors.getLength() && nPos < nLen) +if(!aSelectors.isEmpty() && nPos < nLen) { // isolate content as text, embraced by '{' and '}' copyToLimiter(aSelectorsAndContent, sal_Unicode('}'), nPos, aToken, nLen); @@ -212,7 +212,7 @@ namespace svgio aContent = aToken.makeStringAndClear().trim(); } -if(aSelectors.getLength() && aContent.getLength()) +if(!aSelectors.isEmpty() && !aContent.isEmpty()) { addCssStyleSheet(aSelectors, aContent); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/73/7773/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/70/4170/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/64/2864/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/6352/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/21/4221/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/6352/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/64/2864/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/37/2837/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/6352/5'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/6352/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/6352/7'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/08/4108/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/21/4221/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/73/7773/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/66/1666/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/21/4221/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/64/2864/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/37/2837/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/73/7773/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/6352/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/6352/6'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/73/7773/5'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/70/4170/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/73/7773/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/08/4108/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/73/2573/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/37/2837/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/59/2959/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/59/2959/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/73/2573/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/36/6236/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/36/6236/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/61/6561/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/61/6561/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/66/3266/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/16/3116/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/71/2771/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/71/2771/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/71/2771/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/19/2919/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/07/4107/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/72/4372/6'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/72/4372/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/77/6177/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/72/4372/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/74/2574/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/15/3115/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/19/2919/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/26/8926/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/74/2574/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/06/6206/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/11/2011/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/15/3115/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/70/2770/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/72/4372/5'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/29/2229/5'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/58/3158/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/58/3158/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/66/3266/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/70/2770/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/38/3138/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/11/2011/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/86/6086/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/29/2229/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/90/2690/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/97/3097/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/63/6563/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/97/3097/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/24/6424/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/07/4107/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/06/6206/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/72/4372/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/06/6206/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/75/2975/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/11/2011/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/88/2688/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/86/6086/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/76/2676/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits