Portability | portable |
---|---|
Stability | stable |
Maintainer | [email protected] |
Safe Haskell | Safe-Infered |
Graphics.UI.GLUT.Menu
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.
- newtype Menu = Menu [MenuItem]
- data MenuItem
- type MenuCallback = IO ()
- attachMenu :: MouseButton -> Menu -> IO ()
- numMenuItems :: GettableStateVar Int
Documentation
A single item within a menu can either be a plain menu entry or a sub-menu entry, allowing for arbitrarily deep nested menus.
type MenuCallback = IO ()Source
attachMenu :: MouseButton -> Menu -> IO ()Source
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.
numMenuItems :: GettableStateVar IntSource
Contains the number of menu items in the current menu.