Next: 7.6 glutMotionFuncglutPassiveMotionFunc Up: 7 Callback Registration Previous: 7.4 glutKeyboardFunc

## 7.5 glutMouseFunc

`glutMouseFunc` sets the mouse callback for the current window.

Usage

    void glutMouseFunc(void (*func)(int button, int state,
                                    int x, int y));

`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.

Next: 7.6 glutMotionFuncglutPassiveMotionFunc Up: 7 Callback Registration Previous: 7.4 glutKeyboardFunc