On 31 Dec 2002, Sven Neumann wrote:

> Hi,
> Tor Lillqvist <[EMAIL PROTECTED]> writes:
> > Hmm. You mean libgimptool isn't really used at all currently? It would
> > be helpful to have some short READMEs in the libgimp* directories
> > (especially libgimpwidgets, libgimpproxy and libgimptool) telling what
> > the purpose of the libraries are, and what executables link to them.

> [snip]
> I think that Nathan should explain the purpose as well as the current
> state of libgimpproxy and libgimptool.

To explain the purpose of those libraries, here is a diagram:

-------------------                    --------------
                  |   gimp protocol    |            |
  tool-safe-mode  |<------------------>|    gimp    |
                  |                    |            |
-------------------                    --------------
  plug-in process                       core process

libgimptool is used by both gimp and tool-safe-mode.  It contains the
code that is used by both processes, and includes classes like
GimpToolControl.  All code in libgimptool is tool-related.

GimpTools in the core use objects like GimpDrawable and GimpDisplay that
are accessable by plug-ins through the plug-in api, but with a very
different interface.  libgimpproxy is autogenerated from parts of the
definitions of the objects in the core (to maintain binary compatiblity),
and will contain the code necessary to proxy the objects by making
appropriate calls over the pdb.

Libgimpproxy is only used by tool-safe-mode.  (FWIW, tool-safe-mode is
called that because a tool plug-in can't crash the core process.)

I put tool plug-in work on the back burner when I graduated, moved, and
got a job.  Right now I am on vacaion in another state, but when I get
back I should have some time to work on it again.  I have given up on
making UML diagrams of my plans because of the lack of any decent free UML

Basically, I would create a GimpToolGUI class based loosely on
GimpDrawTool.  GimpToolCore would contain the essential stuff from
GimpTool, leaving the core-specific stuff in the GimpTool class.
Everything would be modeled on the system that Mitch designed for the
paint tools.


Gimp-developer mailing list

Reply via email to