Nathan C Summers <[EMAIL PROTECTED]> writes:
> > GtkPlug is an X11-only thing just as GtkSocket; it is not implemented
> > on any other platform that GDK has been ported to.
> Oh yes, I remember that now. After I rejected GtkPlug I forgot all the
> reasons why. :)
> I'm disapointed they didn't make it more windowing system agnostic.
> Windows, at least, is perfectly capible of something like
there has been much discussion about this on the GTK+ developers list.
You should check the archives if you want to know why.
> > Then, no tool should use any GTK+/GDK functions nor
> > should it receive GDK events directly. Once this separation (that
> > we've already started) is completed, we should have a reasonable
> > tool API and it should be easy to define an interface that can be
> > exported in order to allow plug-in and module tools.
> I agree to this as well. What specifically do you have in mind to
> replace the current system of sending the (essentiall) raw GtkEvent to
> the tool?
the new system is already in place. If you look at current CVS, you will
notice that GimpDisplayShell (in the display directory) receives the GDK
events on the canvas and translates them into image coordinates. It then
passes the translated event to the tool manager which calls the
appropriate method on the active tool. All tools need to do is to
implement the methods for canvas events they are interested in. Drawing
on the canvas works by calling the methods implemented in GimpDrawTool.
GimpDrawTool is the only object that knows about the ugly details of
translating the passed image coordinates back into screen coordinates.
Mitch has some more things planned here and I hope he will comment on
Gimp-developer mailing list