HOpenGL Libraries (GLUT package)Source codeContentsIndex
Graphics.UI.GLUT.Begin
Portabilityportable
Stabilitystable
Maintainersven.panne@aedion.de
Contents
Handling events
Controlling the behaviour when windows are closed
Description
After a GLUT program has done initial setup such as creating windows and menus, GLUT programs enter the GLUT event processing loop by calling mainLoop or handle events iteratively with mainLoopEvent.
Synopsis
mainLoop :: IO ()
mainLoopEvent :: IO ()
leaveMainLoop :: IO ()
data ActionOnWindowClose
= Exit
| MainLoopReturns
| ContinueExectuion
actionOnWindowClose :: StateVar ActionOnWindowClose
Handling events
mainLoop :: IO ()
Enter the GLUT event processing loop; it will call as necessary any callbacks that have been registered. This routine should be called at most once in a GLUT program.
mainLoopEvent :: IO ()
(freeglut only) Process one iteration's worth of events in its event loop. This allows the application to control its own event loop and still use the GLUT package.
leaveMainLoop :: IO ()

(freeglut only) Stop the event loop. If actionOnWindowClose contains Exit, the application will exit; otherwise control will return to the function which called mainLoop.

If the application has two nested calls to mainLoop and calls leaveMainLoop, the behaviour is undefined. It may leave only the inner nested loop or it may leave both loops. If the reader has a strong preference for one behaviour over the other he should contact the freeglut Programming Consortium and ask for the code to be fixed.

Controlling the behaviour when windows are closed
data ActionOnWindowClose
The behaviour when the user closes a window.
Constructors
ExitExit the whole program when any window is closed or leaveMainLoop is called (default).
MainLoopReturnsReturn from mainLoop when any window is closed.
ContinueExectuionReturn from mainLoop after the last window is closed.
show/hide Instances
actionOnWindowClose :: StateVar ActionOnWindowClose
(freeglut only) Controls the behaviour when the user closes a window.
Produced by Haddock version 0.8