-----Original Message----- From: bulia byak [mailto:buliabyak@...400...] Sent: zondag 20 juli 2008 18:50 To: MenTaLguY Cc: inkscape-devel@lists.sourceforge.net; Engelen, J.B.C. (Johan); lib2geom-devel@lists.sourceforge.net Subject: Re: [Inkscape-devel] NEW: LPE Boolops
On Sat, Jul 19, 2008 at 8:05 PM, MenTaLguY <mental@...3...> wrote:
I was under the impression that boolops output did a
roundtrip through
the d= attribute; is that actually the case?
I'm not too sure - this has been a focus of much change recently. Johan, can you clarify?
If not, maybe we should; I think that is the easiest way to flatten what roundtripping would flatten.
I would like to avoid such roundtripping if at all possible, for the simple reason of performance. Writing to d= and reading from it are very slow (even though Jasper made them much faster yesterday). Remember that the entire system separating SPObjects from reprs was done in order to minimize writing to repr - I don't want to lose this speed boost for LPE paths which are slower than regular paths anyway.
I just checked LPE behavior; sorry I've forgotten some details :( When dragging the original path with the node tool, there is no roundtripping through d=. Only when the mousebutton is released, the new original path is written to svg and everything is updated in svg. However, when editing a path parameter (so the second path in the LPE Boolops case), d= is updated while dragging, indicating that there might be roundtripping through it, but I am not sure. Actually I think that SPPath notices the change in pathparam, recalculates the LPE and writes the result to d=. (so no roundtripping, more outputting to d=). (see sp-path: sp_path_udate_patheffect and notice the "bool write" argument). I think this is sort of a bug, so I'll try to look into it.
On Sat, 2008-07-19 at 01:17 -0300, bulia byak wrote:
Thanks, you rock!
Credits should go to Michael Sloan and MenTaLguY. I only wrote a couple of lines in the LPE that call 2geom.