Ah ha! Thanks for the info. The invalidate() was just what I was looking for!
On Wed, Jan 21, 2009 at 12:00 AM, Ian Ward <[email protected]> wrote: > Leif Theden wrote: >> Greetings! I am a first time user of urwid. I was wondering if >> anyone has attempted animation of widgets before? >> >> I have looked at the graph.py example, and I don't think that that is >> what exactly I am looking for. >> >> I have an individual widget that displays a dungeon map from a game, >> and I would like to have the rendering function animated, and possibly >> animated characters while the widget is being viewed. >> >> My current implimentation simply diables caching and renders the >> canvas over and over, creating animation. It works, but since it is >> grossly ineffecient, I wanted to ask people who may know a better way. > > Animation is just changing the contents widgets at regular intervals. > If you have a widget that changes say, every 0.5 seconds, you could set > max_wait to 0.25 with screen.set_input_timeouts() and each time through > your loop you calculate which state the widget should be in based on the > current time. If the widget is changed make sure it calls its > self._invalidate() method. > > This way the widget will still use its cache and not update when it > doesn't need to, and you can easily have many widgets animating at > different rates. > > Ian > > > > _______________________________________________ > Urwid mailing list > [email protected] > http://lists.excess.org/mailman/listinfo/urwid > > _______________________________________________ Urwid mailing list [email protected] http://lists.excess.org/mailman/listinfo/urwid
