Re: [Gimp-developer] RFC: Tool Plug-ins

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Nathan C Summers <rockwlrs@xxxxxxxxxx> 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 
> GtkPlug/GtkSocket.

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
this stuff...


Salut, Sven




[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux