HOpenGL Libraries (GLUT package)ParentContentsIndex
Graphics.UI.GLUT.Menu
Portability portable
Stability experimental
Maintainer sven_panne@yahoo.com
Description
GLUT supports simple cascading pop-up menus. They are designed to let a user select various modes within a program. The functionality is simple and minimalistic and is meant to be that way. Do not mistake GLUT's pop-up menu facility with an attempt to create a full-featured user interface.
Synopsis
newtype Menu = Menu [MenuItem]
data MenuItem
= MenuEntry String MenuCallback
| SubMenu String Menu
type MenuCallback = IO ()
attachMenu :: MouseButton -> Menu -> IO ()
Documentation
newtype Menu
A menu is simply a list of menu items.
Constructors
Menu [MenuItem]
data MenuItem
A single item within a menu can either be a plain menu entry or a sub-menu entry, allowing for arbitrarily deep nested menus.
Constructors
MenuEntry String MenuCallback A plain menu entry with an associated callback, which is triggered when the user selects the entry
SubMenu String Menu A sub-menu, which is cascaded when the user selects the entry, allowing sub-menu entries to be selected
type MenuCallback = IO ()
attachMenu :: MouseButton -> Menu -> IO ()

Create a new pop-up menu for the current window, attaching it to the given mouse button. A previously attached menu (if any), is detached before and won't receive callbacks anymore.

It is illegal to call attachMenu while any (sub-)menu is in use, i.e. popped up.

X Implementation Notes: If available, GLUT for X will take advantage of overlay planes for implementing pop-up menus. The use of overlay planes can eliminate display callbacks when pop-up menus are deactivated. The SERVER_OVERLAY_VISUALS convention is used to determine if overlay visuals are available.

Produced by Haddock version 0.5