mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-17 07:20:53 +07:00
53 lines
1.5 KiB
Python
53 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
"""Simple GLUT example to manually test event loop integration.
|
|
|
|
To run this:
|
|
1) Enable the PyDev GUI event loop integration for glut
|
|
2) do an execfile on this script
|
|
3) ensure you have a working GUI simultaneously with an
|
|
interactive console
|
|
4) run: gl.glClearColor(1,1,1,1)
|
|
"""
|
|
|
|
if __name__ == '__main__':
|
|
|
|
#!/usr/bin/env python
|
|
import sys
|
|
import OpenGL.GL as gl
|
|
import OpenGL.GLUT as glut
|
|
|
|
def close():
|
|
glut.glutDestroyWindow(glut.glutGetWindow())
|
|
|
|
def display():
|
|
gl.glClear (gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT)
|
|
glut.glutSwapBuffers()
|
|
|
|
def resize(width,height):
|
|
gl.glViewport(0, 0, width, height+4)
|
|
gl.glMatrixMode(gl.GL_PROJECTION)
|
|
gl.glLoadIdentity()
|
|
gl.glOrtho(0, width, 0, height+4, -1, 1)
|
|
gl.glMatrixMode(gl.GL_MODELVIEW)
|
|
|
|
if glut.glutGetWindow() > 0:
|
|
interactive = True
|
|
glut.glutInit(sys.argv)
|
|
glut.glutInitDisplayMode(glut.GLUT_DOUBLE |
|
|
glut.GLUT_RGBA |
|
|
glut.GLUT_DEPTH)
|
|
else:
|
|
interactive = False
|
|
|
|
glut.glutCreateWindow('gui-glut')
|
|
glut.glutDisplayFunc(display)
|
|
glut.glutReshapeFunc(resize)
|
|
# This is necessary on osx to be able to close the window
|
|
# (else the close button is disabled)
|
|
if sys.platform == 'darwin' and not bool(glut.HAVE_FREEGLUT):
|
|
glut.glutWMCloseFunc(close)
|
|
gl.glClearColor(0,0,0,1)
|
|
|
|
if not interactive:
|
|
glut.glutMainLoop()
|