On 1/18/07, Joao S. O. Bueno Calligaris <[EMAIL PROTECTED]> wrote:

Ok - I've read the request and got the idea.

I have the followwing proposal:
what if one had a set of pre-loaded selections, and could switch back
and forth among then with a single keystroke - Do you (and others)
think it could  be as usefull/more usefull/just the same as these
proposed drawing zones?

Why do I ask this?
Because implementing what you are asking requires some fiddling in the
core, and will complicate the interface with another kind of object,
besides selections, channels, layers, masks, guides, sample points
and the grid...

Ok, you can imagine that what it brings of convenience for some it
brings of complication to certain user groups.

The idea I propose, instead, would use already existing objects, like
this: one would store his drawing zones as a set of selections, each
in a separate image channel, and a simple script, with no imput
parameters, would replace the current selection with a selection in
the channel stack.

Todo this manually, one would have to:
1) select the channel tab in the layers/channels dock
2) select the apropriate channel
3) click on "channel to selection"
4) change back to the layers tab on the dock
5) select the actyual layer where one is drawing back
6) start painting.

Looking at this, it si a lot of work, and the drawing zones seems a
better idea.
However, a script fu can perform steps 1-5 with a single keystroke (if
one will select the next/same/previous channel on the stack that has
been previusly used). so it becomes:
1) hit key that changes teh selection until the desired selection is
2) start painting

Which seems as practical as the drawing zones proposal.

There is a final advantage in this proposal: it is ready for serving
_now_,a s writing such a script would take less than 30min.

What do you say?


That sounds good. It allows some sort of status display (make the active
zone the only visible channel) and is flexible.
It misses one of the values of binary, mutually-exclusive selections, though
-- they can all be stored in
one channel, and if you decide a certain area should belong to a different
zone, you only have to fill that area on one channel.

In Python, this is fairly simple to implement:
* Name the channel like "10-Zonemap; Current: AA"
  (layertattoo-Zonemap; current: XX)

* The cycle op extracts the 'current' specifier (ranging 00-ff -- ie a
pixel intensity in hex) and chooses the next unique value found in the
channel. It loads the zonemap into the selection and thresholds it
   Then it updates the channel name: "10-Zonemap; Current: CC"

I want this, so I'll implement it today.
Gimp-developer mailing list

Reply via email to