The DisplayList class in the GL submodule provides a context-independent
representation of an OpenGL display list. You can use a single DisplayList
object with multiple GLViews and/or GLPixmaps without being concerned
whether they are sharing display list spaces or not, and without having to
keep track of OpenGL display list numbers.
To use a DisplayList, you provide it with a setup function
that makes the necessary OpenGL calls to define the display list. Then,
whenever you want to draw the display list, you call its call
method. Whenever the display list is used in a context where it has not
been used before, the setup function will be called to compile a
representation of it for that context.
As an alternative to plugging in a setup function, you can also subclass DisplayList and override the do_setup method.
Inside your setup function or method, you can freely make calls to draw other DisplayList and Texture
objects, and PyGUI will make sure that everything is done in the right
order. To make this work, calls to the setup methods of those other
objects are deferred until definition of the first display list has
Note: If you make your own
calls to glNewList and glEndList, you must not attempt to use any
DisplayList or Texture objects between these calls, because PyGUI will
not know that a display list is being defined, and will try to do
things that don't work in that situation. Therefore it is recommended
that if you use these objects, you use them for all of your display list and texure management.
- DisplayList(setup = None)
- Constructs a new DisplayList with the given setup function. See the setup property.
- Function to define the contents of the display list. It should be
a callable object of no arguments. A call to glNewList will have been
made before the setup function is called, and glEndList will be called
after it returns.
- Call the display list, using glCallList. If the display list has
not previously been used with the current context (or one with which it
is sharing display lists), an OpenGL display list number is allocated
and the setup function is called to compile a representation of the display list.
- Deallocates any OpenGL resources currently allocated to the DisplayList. If it is used again, new resources will be allocated.
- As an alternative to supplying a setup function, a subclass can override this method to define the display list.