glutMouseFunc

sets the mouse callback for the current window.

Signature

glutMouseFunc( )-> void
glutMouseFunc( function )
Specify handler for GLUT 'Mouse' events
    def handler( (int) button, (int) state, (int) x, (int) y ):
        return None

Parameters

VariablesDescription
func
The new mouse callback function.

Description

glutMouseFunc sets the mouse callback for the current window. When a user presses and releases mouse buttons in the window, each press and each release generates a mouse callback. The button parameter is one of GLUT_LEFT_BUTTON , GLUT_MIDDLE_BUTTON , or GLUT_RIGHT_BUTTON . For systems with only two mouse buttons, it may not be possible to generate GLUT_MIDDLE_BUTTON callback. For systems with a single mouse button, it may be possible to generate only a GLUT_LEFT_BUTTON callback. The state parameter is either GLUT_UP or GLUT_DOWN indicating whether the callback was due to a release or press respectively. The x and y callback parameters indicate the window relative coordinates when the mouse button state changed. If a GLUT_DOWN callback for a specific button is triggered, the program can assume a GLUT_UP callback for the same button will be generated (assuming the window still has a mouse callback registered) when the mouse button is released even if the mouse has moved outside the window.
If a menu is attached to a button for a window, mouse callbacks will not be generated for that button.
During a mouse callback, glutGetModifiers may be called to determine the state of modifier keys when the mouse event generating the callback occurred.
Passing NULL to glutMouseFunc disables the generation of mouse callbacks.

See Also

glutKeyboardFunc glutMotionFunc glutSpaceballButtonFunc glutButtonBoxFunc glutTabletButtonFunc glutGetModifiers

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

glutMouseFunc
OpenGLContext OpenGLContext/glutcontext.py Lines: 110, 112
OpenGL-Demo PyOpenGL-Demo/NeHe/lesson48/NeHeGL.py Lines: 158
OpenGL-Demo PyOpenGL-Demo/da/dots.py Lines: 105
OpenGL-Demo PyOpenGL-Demo/GLUT/tom/conesave.py Lines: 56
OpenGL-Demo PyOpenGL-Demo/redbook/movelight.py Lines: 139
OpenGL-Demo PyOpenGL-Demo/redbook/double.py Lines: 113
{Artistic License} PymmLib pymmlib/applications/glutviewer.py Lines: 406
{LGPL} PyUI2 renderers/openglGlut.py Lines: 58
{LGPL} PyUI2 system/glutdevice.py Lines: 55
{LGPL} PyMT pymt/ui/window/win_glut.py Lines: 16, 16, 42
{GPL3} OpenGL-Programmable 05-shader.py Lines: 316
{GPL3} OpenGL-Programmable 07-attrib.py Lines: 335
{GPL3} OpenGL-Programmable 03-array.py Lines: 236
{GPL3} OpenGL-Programmable 09-gles2.py Lines: 378
{GPL3} OpenGL-Programmable 06-perpixel.py Lines: 324
{GPL3} OpenGL-Programmable 10-gl3.2core.py Lines: 388
{GPL3} OpenGL-Programmable 02-displaylist.py Lines: 234
{GPL3} OpenGL-Programmable 04-vbo.py Lines: 255
{GPL3} OpenGL-Programmable 01-direct.py Lines: 225
{GPL3} OpenGL-Programmable 08-pbo.py Lines: 357