| HOpenGL Libraries (GLUT package) | Contents | Index

Graphics.UI.GLUT.Begin

Portability | portable
Stability | stable
Maintainer | sven.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

Exit | Exit the whole program when any window is closed or `leaveMainLoop` is called (default).
MainLoopReturns | Return from mainLoop when any window is closed.
ContinueExectuion | Return from mainLoop after the last window is closed.

Instances

Eq ActionOnWindowClose
Ord ActionOnWindowClose
Show ActionOnWindowClose

actionOnWindowClose :: StateVar ActionOnWindowClose
(freeglut only) Controls the behaviour when the user closes a window.
Produced by Haddock version 0.7