From b2d1cd9873995b93577273ad8b3fb7fd4230ced9 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Mon, 25 Mar 2013 20:44:59 +0000 Subject: fdo#42939 - write svg line widths for META_POLYLINE_ACTION. Change-Id: Ib282a3db6ecb5c7d1d4117e1bb48920ee7b2f562 Reviewed-on: https://gerrit.libreoffice.org/3606 Reviewed-by: Fridrich Strba Tested-by: Fridrich Strba --- filter/source/svg/svgwriter.cxx | 12 +++++++++++- filter/source/svg/svgwriter.hxx | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'filter/source') diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 2f269ba9fda9..ae2372c92911 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -2186,7 +2186,16 @@ void SVGActionWriter::ImplWriteEllipse( const Point& rCenter, long nRadX, long n } } -// ----------------------------------------------------------------------------- +void SVGActionWriter::ImplAddLineAttr( const LineInfo &rAttrs, + sal_Bool bApplyMapping ) +{ + if ( !rAttrs.IsDefault() ) + { + sal_Int32 nStrokeWidth = bApplyMapping ? ImplMap( rAttrs.GetWidth() ) : rAttrs.GetWidth(); + mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrStrokeWidth, + OUString::valueOf( nStrokeWidth ) ); + } +} void SVGActionWriter::ImplWritePolyPolygon( const PolyPolygon& rPolyPoly, sal_Bool bLineOnly, sal_Bool bApplyMapping ) @@ -3172,6 +3181,7 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, if( rPoly.GetSize() ) { mpContext->AddPaintAttr( mpVDev->GetLineColor(), Color( COL_TRANSPARENT ) ); + ImplAddLineAttr( pA->GetLineInfo() ); ImplWritePolyPolygon( rPoly, sal_True ); } } diff --git a/filter/source/svg/svgwriter.hxx b/filter/source/svg/svgwriter.hxx index ebffda9a5f10..0e2d7a5b97dc 100644 --- a/filter/source/svg/svgwriter.hxx +++ b/filter/source/svg/svgwriter.hxx @@ -364,6 +364,8 @@ private: void ImplWriteEllipse( const Point& rCenter, long nRadX, long nRadY, sal_Bool bApplyMapping = sal_True ); void ImplWritePattern( const PolyPolygon& rPolyPoly, const Hatch* pHatch, const Gradient* pGradient, sal_uInt32 nWriteFlags ); + void ImplAddLineAttr( const LineInfo &rAttrs, + sal_Bool bApplyMapping = sal_True ); void ImplWritePolyPolygon( const PolyPolygon& rPolyPoly, sal_Bool bLineOnly, sal_Bool bApplyMapping = sal_True ); void ImplWriteShape( const SVGShapeDescriptor& rShape, sal_Bool bApplyMapping = sal_True ); -- cgit