Albow - 2.2
A Little Bit of Widgetry for PyGame
This is a rather simple, no-frills GUI library for PyGame, developed for use in my PyWeek competition entries. I am documenting and releasing it so that others can benefit and so that it may be used in future PyWeek competitions.
- Multichoice controls.
- New, more powerful Ref object supersedes AttrRef and ItemRef.
- Theme.add_theme() method.
- Events have a 'time' field.
- Added equalize option to Row and Column.
- Adaptor to turn a Ref into a callable object.
- Added add_anchor() and remove_anchor() methods to Widget.
- Root and Screen now have a timer_event() method taking the event as a parameter. This supersedes the begin_frame() method.
- The update_every_event flag has been removed and replaced with a defer_drawing() method that is delegated to the current Screen.
- Default resource dir may be named either "Resources" or "resources".
- Now using time.sleep() for frame timing instead of pygame timer, for better timing accuracy.
- The 'expand' argument to Row and Column no longer defaults to the last item.
- Grid now honours the margin attribute.
- OpenGL widgets did not work in single-buffered mode.
- Improved handling of timer events to give smoother degradation of frame rate when rendering time exceeds frame time.
- Fixed a compatibility problem with PyOpenGL 3.0.1.
- 2-dimensional ImageArray with 1 row was treated as 1-dimensional.
- Mentioning a 2D image array in a boolean context did not work. Cacheing of 2D image arrays did not work as a consequence.
- Improved error message for attempting to use len() on a 2D image array.
- Row and Column crashed if given an empty item list.
- Removed call to obsolete reset() method of level objects.
- Added links to GL widgets to the contents page.
- Documented the new Ref system for linking controls to values.