[Cairo] AA-Artifacts during/after gameoflife

Owen Taylor otaylor at redhat.com
Tue Nov 18 12:56:02 PST 2003


On Tue, 2003-11-18 at 13:10, Christof Petig wrote:

> What about semi transparent widgets? I was under the impression that 
> this needs a client side rendering library for gdk (which is what cairo 
> can do). Semi transparent toplevel windows are a different problem 
> (solved by keith's X server) but the current gdk implementation uses a 
> lot of subwindows (which might also get semitransparent under said 
> server without needing cairo?).

There aren't many subwindows in GTK+ - the only widgets with
Input/Output subwindows are:

 - Widgets that scroll (Viewport, TextView, TreeView)
 - Entry (I had concerns about breaking input methods by not giving
   each entries it's own widget)
 - Menubar (this one slipped through the cracks)

Any other widget can be made semi-transparent simply by drawing 
semi-transparently. With current GDK API's, the only  semi-transparent
drawing api is gdk_draw_pixmap(). 

 http://people.redhat.com/~otaylor/gtk/lots-of-alpha.png

is an ugly screenshot I did in early 2.0 days to show what you
could do with even one function call for drawing transparently.

I think there is a lot of API and implementation efficiency we can
get with tight Cairo integration, but a Cairo theme should work now.

> All in all I was told (on gtk-devel) that semitransparent widgets need 
> cairo. Imagine an semitransparent entry widget on top of an image - 
> looks really cool and since I have first seen it in my wife's tax return 
> program (Windows 95 and up) I have longed to do such a thing myself (gtk).

Entries will have to weight for the COMPOSITE extension; can't go
window => no_window and retain compatibility.

Regards,
						Owen






More information about the cairo mailing list