Graphics.UI.GLUT.Callbacks

GLUT-2.7.0.3: A binding for the OpenGL Utility Toolkit

Copyright | (c) Sven Panne 2002-2013
License | BSD3
Maintainer | Sven Panne <svenpanne@gmail.com>
Stability | stable
Portability | portable
Safe Haskell | None
Language | Haskell2010

Graphics.UI.GLUT.Callbacks

Description

GLUT supports a number of callbacks to respond to events. There are three types of callbacks: window, menu, and global. Window callbacks indicate when to redisplay or reshape a window, when the visibility of the window changes, and when input is available for the window. Menu callbacks are described in Graphics.UI.GLUT.Menu. The global callbacks manage the passing of time and menu usage. The calling order of callbacks between different windows is undefined.

Callbacks for input events should be delivered to the window the event occurs in. Events should not propagate to parent windows.

A callback of type `Foo` can registered by setting `fooCallback` to `Just` the callback. Almost all callbacks can be de-registered by setting the corresponding `fooCallback` to `Nothing`, the only exceptions being `DisplayCallback` (can only be re-registered) and `TimerCallback` (can't be unregistered).

X Implementation Notes: The X GLUT implementation uses the X Input extension to support sophisticated input devices: Spaceball, dial & button box, and digitizing tablet. Because the X Input extension does not mandate how particular types of devices are advertised through the extension, it is possible GLUT for X may not correctly support input devices that would otherwise be of the correct type. The X GLUT implementation will support the Silicon Graphics Spaceball, dial & button box, and digitizing tablet as advertised through the X Input extension.

# Documentation

module Graphics.UI.GLUT.Callbacks.Window

module Graphics.UI.GLUT.Callbacks.Global