📄 menu.h
字号:
/* @(#)menu.h 1.1 92/07/30 SMI *//* * Copyright (c) 1983 by Sun Microsystems, Inc. *//* * A menu is a collection of command items that are: * 1) quickly displayed by the user (by a mouse button push), * 2) pointed at by the user with a locator device (a mouse), and * 3) quickly disappear (after the mouse button is released). * * A program can use the package that implements this interface to manage * its menus. A menu is an array of keyword/data (menuitem) pairs. * Once the menu is displayed, when a menuitem is chosen by the user, * a pointer to this menuitem is returned. * * Multiple menus can be strung together is a list and will be managed * by this interface. They are presented to the user as a stack of menus * through which he can cycle. * * The functions menu_display is called when your program notices the menu * button went down. The inputevent that describes the menu button going * down is passed in. The function returns when an item is selected or * the menu button goes up. The returned value is the menuitem that was * invoked or 0 if nothing was selected. Upon returning, the passed in * pointer to a menu pointer is the menu that is currently on top of the * menu stack. * * As a utility sometimes used with menus, a prompt facility is available. * Call prompt_display if you want to give the user a quick hint about how * to procede once a menu item has been selected. This function returns * on any input event other than a mouse motion and the passed in inputevent * pointer is filled out with the event that caused the return. */#ifndef menuh_DEFINED#define menuh_DEFINED#ifdef menu_SKIP#undef menu_SKIP#endif menu_SKIP#ifdef lint#ifdef menu_DEFINED#define menu_SKIP#else#define menu_DEFINED#endif menu_DEFINED#endif lint#ifndef menu_SKIP/* * Normal menu button assignments */#define MENU_BUT MS_RIGHT#define SELECT_BUT MS_LEFT#define MENU_BORDER 2struct menu { int m_imagetype; /* interpretation of m_imagedata */#define MENU_IMAGESTRING 0x00 /* imagedata is char * */#define MENU_GRAPHIC 0x01 /* imagedata is pixrect * */ caddr_t m_imagedata; /* pointer to display data for header */ int m_itemcount; /* number of menuitems in m_items */ struct menuitem *m_items; /* array of menuitems */ struct menu *m_next; /* link to another menu */ caddr_t m_data; /* menu private data (initialize to 0)*/};struct menuitem { int mi_imagetype; /* interpretation of mi_imagedata */ caddr_t mi_imagedata; /* pointer to display data for item */ caddr_t mi_data; /* item specific data */};struct prompt { struct rect prt_rect; /* where (window relative) to prompt */#define PROMPT_FLEXIBLE -1 /* system decides placement/size */ int prt_windowfd; /* windowfd that will take input from */ struct pixfont *prt_font; /* text font */ char *prt_text; /* text to format into box */};extern struct menuitem *menu_display();#ifdef cplus/* * C Library routines that implement this menu interface. */struct menuitem *menu_display(struct menu **menuptr, struct inputevent *event, int iowindowfd);#endif cplus#endif menu_SKIP#ifdef menu_SKIP#undef menu_SKIP#endif menu_SKIP#endif !menuh_DEFINED
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -