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

Regina Henschel rb.henschel at t-online.de
Sat Apr 9 22:46:49 UTC 2016


Hi all,

I have put a patch to Gerrit https://gerrit.libreoffice.org/#/c/23946/
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
Regina


[1]
/Users/tdf/lode/jenkins/workspace/lo_gerrit_master/Gerrit/Gerrit/Platform/MacOSX/vcl/opengl/gdiimpl.cxx:770:167: 
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