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 
can see.

  -- Bill

______________ ______________ ______________ ______________
Sent via the CNPRC Email system at

Gimp-developer mailing list

Reply via email to