Implementing SVG attribute "stroke-miterlimit" ( tdf#48066)

Regina Henschel rb.henschel at
Sat Apr 9 22:46:49 UTC 2016

Hi all,

I have put a patch to Gerrit
It does only rendering, MetaActions are missing. But it is already so 
large, that I think a review would be good before I continue. Because I 
can only build and test on Windows, I would be glad, if you would test 
and review it for Linux and MacOSX.

For the warning-break [1] on MacOSX from Jenkins I need some help. I 
cannot compile or test on Mac.
The value fMiterMinimumAngle has to be used in case eLineJoin == 
basegfx::B2DLineJoin::Miter in OpenGLSalGraphicsImpl::DrawPolyLine 
around line 886.
In content this has to happen in that place:
if ('current miter length' > 'miter limit')
then use the same statements as in case Bevel
else use the statement in line 892.

But I'm not sure about the meaning of variable 'length' in line#885.

The MetaPolyLineAction gets a LineInfo and a tools::Polygon, but 
LineInfo does neither contain miter minimum angle nor miter limit. 
Therefore my question is, how to resolve it. Making a total new 
MetaAction? Or extend LineInfo (similar as ExtLineInfo in pdfwriter)? Or 
extend MetaPolyLineAction to take a PolygonStrokePrimitive2D or a 
B2DPolyPolygon plus the needed line and stroke information separate?

The module com::sun::star::rendering has a struct StrokeAttributes, 
which would contain all needed information. How is that currently used? 
Is it useful?

Kind regards

error: unused parameter 'fMiterMinimumAngle' [-Werror,-Wunused-parameter]
void OpenGLSalGraphicsImpl::DrawPolyLine(const basegfx::B2DPolygon& 
rPolygon, float fLineWidth, basegfx::B2DLineJoin eLineJoin, 
css::drawing::LineCap eLineCap, float fMiterMinimumAngle)

More information about the LibreOffice mailing list