|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.
|newtype Menu |
|A menu is simply a list of menu items.
|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.
|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.
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
|numMenuItems :: GettableStateVar Int|
|Contains the number of menu items in the current menu.
|Produced by Haddock version 0.8|