>  draw_idle tells the canvas to redraw only if not busy, 
I think the problem is that my object tree is full of things that are moving 
from one frame to another, so the chances are always high that one thing must 
be in a new state to the others at any one beat.

This is a class, but what's it's parent? gtk.DrawingArea?
>         def __init__(self):
>             self._idleID = 0

>     def draw_idle(self):
>         def idle_draw(*args):
>             self.draw()
>             self._idleID = 0
>             return False
>         if self._idleID == 0:
>             self._idleID = gobject.idle_add(idle_draw)
Ah, I never noticed the def within a def there. 
Okay, it seems I then control _idleD by checking if the current frame of the 
current object is actually in a different state or not. (which may actually 
be quite slow to do)

 But I'm not sure what gobject.idle_add is doing. Is it creating little 
timeout loops within each object-- i.e. making my loop through the stack 
irrelevant?

 In my ignorant wording: "Is is giving life to each object?" vs my current 
approach which 'touches' each object once per beat?

\d
_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to