Annotation of researchv10dc/630/include/menu.h, revision 1.1

1.1     ! root        1: /*       Copyright (c) 1987 AT&T   */
        !             2: /*       All Rights Reserved       */
        !             3: 
        !             4: /*       THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T   */
        !             5: /*       The copyright notice above does not evidence any      */
        !             6: /*       actual or intended publication of such source code.   */
        !             7: 
        !             8: #include <sccsid.h>
        !             9: HVERSION(menu, @(#)menu.h      1.1.1.2 (5/12/87));
        !            10: 
        !            11: /*
        !            12:  *     Defines for Tmenu and Titem menu structures.
        !            13:  *     Old menu structures can be found in <dmd.h>.
        !            14:  */
        !            15: 
        !            16: typedef struct Titem
        !            17: {
        !            18:     char           *text;      /* string for menu */
        !            19:     struct {
        !            20:        unsigned short    uval; /* user field */
        !            21:        unsigned short    grey; /* flag indicates invalid selection */
        !            22:     } ufield;
        !            23:     struct Tmenu    *next;     /* pointer to sub-menu */
        !            24:     Bitmap         *icon;      /* pointer to the icons bitmap */
        !            25:     struct Font            *font;      /* font defined for this item */
        !            26:     void           (*dfn)();   /* execute function before sub-menu */
        !            27:     void           (*bfn)();   /* execute function after sub-menu */
        !            28:     void           (*hfn)();   /* execute function on selection */
        !            29: } Titem;
        !            30: 
        !            31: typedef struct Tmenu
        !            32: {
        !            33:     Titem    *item;            /* Titem array, ending with text=0 */
        !            34:     short    prevhit;          /* private to menuhit() */
        !            35:     short    prevtop;          /* private to menuhit() */
        !            36:     Titem    *(*generator)();  /* used if item == 0 */
        !            37:     short    menumap;          /* bit definition for user Titem structure */
        !            38: } Tmenu;
        !            39: 
        !            40: /*
        !            41:  *     The following bit definitions are for the user to define
        !            42:  *     the structure of the user Titem structure.  These bits are
        !            43:  *     stored in the menumap data member, which converts the user
        !            44:  *     Titem structure into that of the Titem structure defined above.
        !            45:  */
        !            46: #define TM_TEXT                0x0001          /* defines the text field */
        !            47: #define        TM_UFIELD       0x0002          /* defines the ufield field */
        !            48: #define TM_NEXT                0x0004          /* defines the next field */
        !            49: #define TM_ICON                0x0008          /* defines the icon field */
        !            50: #define TM_FONT                0x0010          /* defines the font field */
        !            51: #define TM_DFN         0x0020          /* defines the dfn field */
        !            52: #define TM_BFN         0x0040          /* defines the bfn field */
        !            53: #define TM_HFN         0x0080          /* defines the hfn field */
        !            54: 
        !            55: #define TM_EXPAND      1               /* expand submenus on invocation */
        !            56: #define TM_NORET       2               /* don't return until non-selection */
        !            57: #define TM_STATIC      4               /* select on button depression */
        !            58: #define TM_POINT       8               /* specify a point for the root menu */
        !            59: 
        !            60: #define MAX_TMFIELDS   9               /* number of fields in Titem */
        !            61: #define MAX_MASK       0x0100          /* upper limit bit definition */
        !            62: 
        !            63: 
        !            64: /*
        !            65:  *     Definition of an item in the More submenu 
        !            66:  */
        !            67: typedef struct Titem1 {
        !            68:        char *text;
        !            69:        struct {
        !            70:                unsigned short uval;
        !            71:                unsigned short grey;
        !            72:        } ufield;
        !            73:        struct Tmenu *next;
        !            74:        Bitmap *icon;
        !            75:        void (*dfn)();
        !            76: } Titem1;
        !            77: 
        !            78: 
        !            79: extern void tm_ret();                  /* return function from TM_NORET */
        !            80: extern Titem *tmenuhit();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.