Re: [Gimp-developer] Cairo for 2.6

2007-10-29 Thread William Skaggs


To my understanding, switching to Cairo for the canvas (and switching
away from XOR drawing) will involve two things:

1) Porting GimpCanvas to Cairo instead of raw GDK.  That should be pretty
straightforward:  I think virtually all of the relevant code lives
in app/display/gimpcanvas.c.

2) Changing the implementation of gimp_draw_tool_pause() in 
app/tools/gimpdrawtool.c, so that instead of erasing the drawing
using the XOR trick, it redisplays the projection of the image.  I
believe that getting this to happen efficiently will require maintaining
a pixmap of the projection as it is currently displayed.  Given that
that needs to happen in any case, this might be a good time to take
on the problem of displaying an interpolated view of the projection 
instead of the current every-nth-pixel view.

  -- Bill
 

 
__ __ __ __
Sent via the CNPRC Email system at primate.ucdavis.edu


 
   
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Cairo for 2.6

2007-10-29 Thread Sven Neumann
Hi,

On Mon, 2007-10-29 at 12:02 -0700, William Skaggs wrote:

 2) Changing the implementation of gimp_draw_tool_pause() in 
 app/tools/gimpdrawtool.c, so that instead of erasing the drawing
 using the XOR trick, it redisplays the projection of the image.  I
 believe that getting this to happen efficiently will require maintaining
 a pixmap of the projection as it is currently displayed.  Given that
 that needs to happen in any case, this might be a good time to take
 on the problem of displaying an interpolated view of the projection 
 instead of the current every-nth-pixel view.

It seems you have missed quite a bit of what has happened in GIMP
development recently. GIMP displays an interpolated view of the
projection. The nearest-neighbour algorithm is not any longer used.

GIMP also maintains a pixmap of the projection, or at least something
that is very close to what is being displayed. It remains to be seen if
we need to add another level of caching there to get reasonably fast
tool drawing. It might be necessary to keep a copy of the displayed area
with all display filters applied so that tool expose events can be
served from this.


Sven


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer