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]