David Neary (bolsh@xxxxxxxx) wrote: > Simon Budig wrote: > > Sven Neumann (sven@xxxxxxxx) wrote: > > > - A couple of other issues with the libgimp* APIs have been > > > resolved. The APIs should be ready for GIMP-2.0 now. Only the > > > addition of libgimpthumb is still missing in CVS. > > > > With the notable exception of vectors stuff. Or did I miss something? > > Whatr changes to the vector tool will require libgimp API changes > before 2.0? I wasn't aware of any... It is not the *Tool* itself, it is the vectors infrastructure. The Problem is, that the new vectors infrastructure provides more functionality than the old stuff. The compatibility API works with the new infrastructure, but is limited to the old functionality, in particular you cannot create a vectors object with multiple open strokes in it (Look at gimp-path-set-points: BEZIER_MOVE not only moves to a new location, but also closes the previous segment). So we need a new API that makes it possible to create that kind of vectors via PDB. Since we internally already have functions like bezier_stroke_new_moveto, bezier_stroke_curveto, bezier_stroke_arcto, etc. it would be nice to have them available for plugins too, since they make creation of bezier strokes really easy. I think I failed to communicate that properly, but I always considered this to be part of the new vector stuff - and this is the IMHO last part that is missing. I am scared a bit, because I have no real idea how that PDB stuff works. I hope this makes it clear what is wrong there. Oh, I forgot: Functionality-wise also missing is a GUI for the dashed strokes, but a) it is probably fairly easy and b) we might be able to live without it... I think I should describe what I have in mind for the UI, if someone wants to pick that up I'd be very happy about that. The description of a dashed stroke is an array of doubles: length stroke, length gap, length stroke, length gap, etc. the unit of these floats is the width of the stroke, this has the nice property, that it is scaling independant. The Widget to define this could look like this: [==== =========== == ===== ] and you can paint with the mouse into it - either simply flip the pixels between black and white where the mouse gets dragged over, or stick to black/white painting when clicking on a white/black pixel. The widget should be able to provide the doubles mentioned above, maybe we need to two additional value-entries for overall dash-pattern length and the dash-offset at the beginning of the stroke. Any takers? Bye, Simon -- Simon.Budig@xxxxxxxxxxx http://www.home.unix-ag.org/simon/