Looks quite good, could use some optimisations through (Sel GLXImageList for some of em). And then some documentation

We should change the pushAttrib aswell, there's no need to restore colors and blending to some semi- standard value as youve done now:

glColor4f( 1.0, 1.0, 1.0, 1.0);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

instead we push theese 2 bits:

GL_COLOR_BUFFER_BIT: for glColor etc
GL_CURRENT_BIT : for glBlendFunc

glPushAttrib(GL_ENABLE_BIT or GL_COLOR_BUFFER_BIT or GL_CURRENT_BIT );
glBlendFunc (GL_SRC_ALPHA, GL_ONE);
glColor4f(1,1,1, Alpha);
Draw();
glPopAttrib();

For a full spec of glPushAttrib, see:
http://pyopengl.sourceforge.net/docu...Attrib.3G.html