As GIMP moves toward vector layers and layer groups, it will more and
more need a capability for "vector selection" -- that is, for the
kind of selection capability found in vector graphics programs like
Inkscape, whose target is a set of objects rather than a spatial
region -- a "vector selection" as opposed to the "raster selection"
that GIMP currently uses.
Actually, GIMP already has such a capability to some degree, in the
"linking" mechanism, but it is too hard to use. I have some
suggestions for improvement, which I would like to work on for GIMP
2.6 if it is okay. Here are my thoughts:
1) With two kinds of selection, there is no way to completely avoid
confusing users. Probably the best thing to do is to keep
calling the vector selection "linking". The only real problem with
this is that the same thing is always called "selection" in vector
graphics programs, but I think it is better to face this than to
use the same word for two quite different things.
2) We need a "linking tool": a tool to allow objects/layers to be
linked by mouse-clicking or rubber-banding. The UI for this
already exists, in the Alignment Tool. In fact, that's actually
all that the UI for the Alignment Tool does; the only change needed
would be that, instead of the tool maintaining an internal list of
the items that are selected, it would "link" them.
3) If the Alignment Tool is converted to a Linking Tool (with toolbox
symbol an arrow pointing to the upper left), then no Alignment Tool
is needed -- the functionality can be moved into a dialog, or pair
of dialogs, accessible as Edit->Align or Edit->Distribute. The
dialogs would operate on the set of objects that are linked.
4) Linked objects should be marked when the canvas is drawn, by
putting small filled-rectangles at their corners, as is done in
other vector-graphics programs.
5) Possibly the "chain" symbol in the Layers/Paths dialogs should be
replaced by an arrow symbol.
6) The dialog in the Alignment Tool is modeled after the one in
Inkscape, but has some differences. It could in principle be made
virtually identical, even to the extent of using the same icons.
There are a couple of things that Inkscape allows that GIMP
wouldn't currently support, including (a) aligning the baselines of
text layers, and (b) aligning "anchor" points of vector objects. I
would welcome discussion of the pros and cons with somebody who is
familiar with the Inkscape functionality.
7) There is a problem with paths (i.e., "Vectors") as currently
implemented: the offsets and dimensions obtained using the
gimp_item_get_foo() calls are not meaningful. This needs to be
fixed to make a linking tool work properly, and really ought to be
fixed in any case.
This is a sketch: I can spell out all the details in a more
appropriate place. Although this may look like a long list of
objectives, everything in it is actually simple to do (all the hard
work was done in creating the alignment tool); and none of it creates
much risk of breaking things that are deep and critical, as far as I
______________ ______________ ______________ ______________
Sent via the CNPRC Email system at primate.ucdavis.edu
Gimp-developer mailing list