Re: [Gimp-developer] Planned breakage in plug-in API and PDB for 1.3.x or 2.x

2002-02-22 Thread Raphaƫl Quinet

On Wed, 20 Feb 2002 00:10:16 +1100, David Hodson [EMAIL PROTECTED] wrote:
 Raphael Quinet wrote:
  - Use the PDB for all interactive tools.  All actions that can be
 performed by clicking somewhere in the image window (painting,
 selecting, picking a color, moving guides, panning, zooming, ...)
 must be able to trigger a PDB call.
 
 To avoid horrible amounts of overhead, I'm guessing that it should
 be enough (in most cases) to trigger on button up, and send a vector
 of cursor positions.

Yes.  When the mouse/pen button is released, it should generate an array
of strokes, suitable to be used by gimp-paintbrush-default or
gimp-paintbrush.  Similar things can be done with the paths, for
gimp-path-set-points.

 From the other side, can users define their own interactive tools?
 (How do they get added to the toolbox?)

That should probably be done with a module, but how to add the tools to
the toolbox has not been discussed yet, AFAIK.

  - Use named parameters for the PDB.  Instead of using positional
 parameters, all PDB calls could take a list of name=value pairs, in
 which each name is a string.
 
 Would it be too much work to provide a separate call interface for
 this style, and keep the old interface?

Well, maybe.  I was hoping to start a discussion about that, but it looks
like my attempt was not very successful, considering the amount of
feedback received so far (only one message).

 - Allow plugins to intercept the progress callback (and replace the
 progress indicator).

That should not be too hard, if a separate function is provided for that.
This would not affect the existing plug-ins, so it should not be a
problem.

 - Allow (force?) plugins to provide default values and valid ranges
 for parameters. (And for floats, precision / number of decimals).

This, on the other hand, is something that would break the existing
plug-ins.  This is a good idea.  But sometimes the valid ranges are not
fixed, because the valid range for one parameter may depend on what has
been selected for another parameter.

 - I'm thinking about some applications in which I would like to be
 able to open a display and restrict what users can do on that display,
 but at this stage I'm still a little vague on this. Maybe if they
 couldn't change tools on that display ... I'll have to think about
 this.

That could be a bit tricky and would require some changes in the core,
but hopefully this can be implemented in a way that does not break the
existing plug-ins.  What I was trying to do with my previous mail is to
start a discussion about the features that will almost certainly require
some changes in the existing plug-ins, and maybe to decide if/when this
should be done.

-Raphael
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer



Re: [Gimp-developer] Planned breakage in plug-in API and PDB for 1.3.x or 2.x

2002-02-22 Thread Sven Neumann

Hi,

RaphaXl Quinet [EMAIL PROTECTED] writes:

  From the other side, can users define their own interactive tools?
  (How do they get added to the toolbox?)
 
 That should probably be done with a module, but how to add the tools to
 the toolbox has not been discussed yet, AFAIK.

not discussed, but already implemented ;-) The CVS version has 
preliminary support for pluggable tools that can be either loaded as 
a plug-in (separate process) or as a module. I haven't looked at
the implementation details yet.

Actually I was planning to answer to your proposal in more depth. 
There are a lot of good ideas you've brought up. However I don't have 
the time to do this now. I'd only like to state that I'd prefer to 
get gimp-1.4 out before we considerably break the plug-in API.


Salut, Sven
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer