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

2016-04-11 Thread Armin Le Grand
Hi Regina, comments inline :-) Am 10.04.2016 um 00:46 schrieb Regina Henschel: 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. Bec

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

2016-04-11 Thread Armin Le Grand
Hi Regina, comments inline :-) Am 08.04.2016 um 18:27 schrieb Regina Henschel: Hi Armin, since yesterday I have thought about it. I now think, that I will use the GDI+ type 'LineJoinMiterClipped'. That makes rendering inside LO consistent and that is more important as interoperability with f

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

2016-04-10 Thread Regina Henschel
Hi all, Regina Henschel schrieb: In content this has to happen in that place: if ('current miter length' > 'miter limit') I should not write a mail at midnight. The condition is current ratio miter length to stroke width > miter limit or angle between line segments < miter minimum angle Kind

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

2016-04-09 Thread Regina Henschel
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 an

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

2016-04-08 Thread Regina Henschel
Hi Armin, since yesterday I have thought about it. I now think, that I will use the GDI+ type 'LineJoinMiterClipped'. That makes rendering inside LO consistent and that is more important as interoperability with foreign applications. It is then still possible to implement the use of the GDI+

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

2016-04-08 Thread Armin Le Grand
Hi Regina, yes, the MiterLimits are different in different systems, but all are somehow specified using the angle between the two vectors involved. I remember to have seen some definitions, most using the same and 15 as default value. The ways to be compatible with MS are: - find a definition

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

2016-04-07 Thread Regina Henschel
Hi all, I have made some progress. But a new problem comes up. I have changed WinSalGraphicsImpl::drawPolyLine [3] so that it gets an additional parameter fMiterMinimumAngle (same meaning as in createAreaGeometryForJoin) and uses it for gdi+. The rendering in edit-mode in Draw and Impress is

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

2016-04-01 Thread Regina Henschel
Hi Armin, Addendum: I have now switched off AA. And then the SVG image is rendered correctly. So it seems, I'm on the right track. Kind regards Regina Armin Le Grand schrieb: Hi Regina, the MiterMinimumAngle influences only the miter mode, thus I do not understand the 'still not changed to

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

2016-04-01 Thread Regina Henschel
Hi Armin, Armin Le Grand schrieb: Hi Regina, the MiterMinimumAngle influences only the miter mode, thus I do not understand the 'still not changed to Bevel' comment. I mean, when I set a breakpoint in createAreaGeometryForJoin, which is called from createAreaGeometry, then I see, that this f

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

2016-04-01 Thread Armin Le Grand
Hi Regina, the MiterMinimumAngle influences only the miter mode, thus I do not understand the 'still not changed to Bevel' comment. In SVG import, the primitives and thus the LineAttribute as part of it containing the MiterMinimumAngle is directly created, the exactly same instance will be us

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

2016-04-01 Thread Regina Henschel
Hi, Armin Le Grand schrieb: Hi Regina, Am 24.03.2016 um 16:35 schrieb Regina Henschel: Hi Armin, I need an advice/opinion _where_ to hold the information: Definitely in drawinglayer::attribute::LineAttribute, same place where basegfx::B2DLineJoin is held. A double, defaulted to 15.0 and rea

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

2016-03-30 Thread Regina Henschel
Hi Thorsten, Thorsten Behrens schrieb: Regina Henschel wrote: (1) Change the type of maStrokeMiterLimit' to 'double' and change its name to 'mfStrokeMiterLimit'. That would loose the ability to track, whether the value was found in the file or set by LO. In case not set in the SVG file, it woul

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

2016-03-30 Thread Thorsten Behrens
Regina Henschel wrote: > (1) Change the type of maStrokeMiterLimit' to 'double' and change its name > to 'mfStrokeMiterLimit'. That would loose the ability to track, whether the > value was found in the file or set by LO. In case not set in the SVG file, > it would be set to 4.0, as specified as in

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

2016-03-30 Thread Regina Henschel
Hi all, I have started now and come immediately to the next design decision: The svg attribute stroke-miterlimit is of type in SVG, which is in context of SVG attributes essentially a 'double'. The meaning of this attribute is a ratio. Therefore in SVG is has no unit. [https://www.w3.org/TR/

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

2016-03-30 Thread Regina Henschel
Hi Armin, hi Thorsten, thank you. It is clear now, where to start (when I have enough spare time). Kind regards Regina Armin Le Grand schrieb: Hi Regina, Am 24.03.2016 um 16:35 schrieb Regina Henschel: Hi Armin, I need an advice/opinion _where_ to hold the information: Definitely in drawi

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

2016-03-30 Thread Armin Le Grand
Hi Regina, Am 24.03.2016 um 16:35 schrieb Regina Henschel: Hi Armin, I need an advice/opinion _where_ to hold the information: Definitely in drawinglayer::attribute::LineAttribute, same place where basegfx::B2DLineJoin is held. A double, defaulted to 15.0 and read access will be fine. For s

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

2016-03-28 Thread Thorsten Behrens
Regina Henschel wrote: > The API has the struct "StrokeAttributes" in css::rendering. It has the > element "MiterLimit". I do not know any UI for it and don't know, if and how > it is usable at all. The service "LineProperties" in css::drawing does not > provide such property. > Yeah, the css::ren

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

2016-03-24 Thread Regina Henschel
Hi Armin, I need an advice/opinion _where_ to hold the information: I cannot calculate whether to exchange 'miter' with 'bevel' directly in svgreader, because there only properties for the whole path are handled, but such exchange only happens for a single line pair of the path. So I think, t

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

2016-03-24 Thread Armin Le Grand
Hi Regina, AFAIK it is partially used, but not completely. I know of some cases in renderers where today a fixed default of 15.0 is used. Various GraphicSystems use various definitions for it, take care. It would be necessary to define a definition for it for LO, import where available and us

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

2016-03-23 Thread Regina Henschel
Hi all, the following is, what I have found so far, but it might have errors. So please correct me. If two lines build a corner, the corner-style can be None, Rounded, Beveled or Mitered. That is the property "draw:stroke-linejoin" in ODF and "stroke-linejoin" in SVG. But SVG has the additio