Implementing SVG attribute "stroke-miterlimit" ( tdf#48066)
rb.henschel at t-online.de
Sat Apr 9 22:46:49 UTC 2016
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  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?
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