On 31 Dec 2002, Sven Neumann wrote: > Hi, > > Tor Lillqvist <tml@xxxxxx> 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 program. 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. Rockwalrus