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

Re: Re: Functionalities for backbuffering GtkWidgets drawing?? help!!



> 
> From: Tristan Van Berkom <vantr touchtunes com>
> Date: 2004/07/29 Thu AM 10:22:15 EST
> To: crypto_stonelock sympatico ca
> CC: Jan-Marek Glogowski <glogow fbihome de>, 
> 	gtk-app-devel-list gnome org
> Subject: Re: Functionalities for backbuffering GtkWidgets drawing?? help!!
> 
> crypto_stonelock sympatico ca wrote:
> [...]
> > Jan-Marek gave me a few ideas but i'm still having trouble finding what I need. 
> > Does anybody know If anything similar to this bit of code would work? 
> > I know this doesn't work but im looking for the code equivalent using 
> > GTK instead of GDK.   GDK has all I need but I'm using GTK for my widgets...
> > i'm not directly drawing around in a drawable widget. The
> > gdk_window_begin_paint_region function draws to a backbuffer and then when 
> > gdk_window_end_paint is called, the backbuffer is drawn on screen. 
> > GtkWindow doesn't seem to offer these functionalities. Where should I look?
> 
>      There is nothing wrong with using gdk in conjunction with gtk,
> GtkWindow is a GtkWidget, and (as seen in your code snippet) every
> GtkWidget has a (GdkWindow *)GTK_WIDGET(wid)->window (unless ofcourse
> it is GTK_NO_WINDOW).
> 
> So the code doesn't work you say ?, maybe all expose events need to
> be handled before calling gdk_window_end_paint(), you could accomplish
> this with either:
>   A.)
>      while (gtk_events_pending())
>            gtk_main_itteration_do(FALSE);
> 
>   or probably:
>   B.)
>      gdk_window_process_all_updates();
>      (not sure about this one ...)
> 
> Good luck, and please let me know if it worked ;-)

Hmmm, there seems to be a slight change in behavior but there is still massive flickering. I wonder though, the window gets updated even when I tell it not to with gdk_window_freeze_updates() without its thaw counterpart. Is this supposed to happen? Is it reseted in the gtk main loop? I guess the easiest solution might be to change container. Is there any container that does exactly the same job as GtkList? That allows for me to stick boxes into listItems? I have to stick like 14 widgets per item including some labels and entries I think the CList doesnt allow for you to stick boxes into it. If it does, I don't understand how.

I've seen gtk_clist_freeze and gtk_clist_thaw which is a good sign but....  :).

aXoneX



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