Re: How to do a graphic overlay?

2009-09-03 Thread John Stebbins
Only certain widgets have their own GdkWindow.  GtkDrawingArea, 
GtkWindow and GtkEventBox do. Pretty much all others don't.  I don't 
know whether goocanvas does or not.  But if it doesn't, then you would 
have really been drawing on one of it's ancestors GdkWindow. According 
to the GooCanvas documentation, it is a subclass of GtkContainer, which 
indicates to me that it probably doesn't have it's own GdkWindow.  My 
guess is that what you are drawing is getting overwritten by the other 
widgets that share that window.  Since GooCanvas is a container, it 
should work to put a GtkEventBox (also a container) or GtkDrawingArea in 
it and draw into that widgets GdkWindow. The GdkWindow documentation has 
an example of how set set up an eventbox for composited windows which is 
not quite what you are attempting, but similar.

http://library.gnome.org/devel/gdk/2.16/gdk-Windows.html#composited-window-example


On 09/02/2009 12:21 PM, Till Harbaum / Lists wrote:

Hi,

i'd like to do some graphic overlay. In this particular case i'd like to put 
two buttons on top of a goocanvas.

I tried to hook into the expose event and just draw something to the gdkwindow 
of the widget. That simply doesn't work. It works with a gtkdrawingarea, but 
not with the goocanvas.

What can prevent me from drawing to the gdkwindow of a widget? I also tried to 
use a seperate window, but that's pretty difficult to handle since you e.g. 
have to move those windows when you move the main window etc etc. So just 
painting their seems simpler ... but unfortunately doesn't work 

Till
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
   

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


How to do a graphic overlay?

2009-09-02 Thread Till Harbaum / Lists
Hi,

i'd like to do some graphic overlay. In this particular case i'd like to put 
two buttons on top of a goocanvas.

I tried to hook into the expose event and just draw something to the gdkwindow 
of the widget. That simply doesn't work. It works with a gtkdrawingarea, but 
not with the goocanvas.

What can prevent me from drawing to the gdkwindow of a widget? I also tried to 
use a seperate window, but that's pretty difficult to handle since you e.g. 
have to move those windows when you move the main window etc etc. So just 
painting their seems simpler ... but unfortunately doesn't work 

Till
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list