Annotation of 43BSDTahoe/new/X/xterm/menu.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *     $Source: /u1/X/xterm/RCS/menu.h,v $
                      3:  *     $Header: menu.h,v 10.100 86/12/01 14:40:05 jg Rel $
                      4:  */
                      5: 
                      6: /* @(#)menu.h       X10/6.6B 12/26/86 */
                      7: /*
                      8:  * Menu items are constructed as follows, starting from the left side:
                      9:  *
                     10:  *     menuItemPad
                     11:  *     space for check mark
                     12:  *     menuItemPad
                     13:  *     text + padding
                     14:  *     menuItemPad
                     15:  *
                     16:  * The padding for the text is that amount that this text is narrower than the
                     17:  * widest text.
                     18:  */
                     19: 
                     20: typedef struct _menuItem {
                     21:        int itemHeight;                 /* total height of this item */
                     22:        int itemFlags;                  /* flags of item */
                     23: 
                     24: #define        itemDisabled            0x0001  /* item is disabled */
                     25: #define        itemChecked             0x0002  /* item has check mark */
                     26: #define        itemStateMask           0x0003  /* mask for current state */
                     27: #define        itemSetDisabled         0x0004  /* item wants to be disabled */
                     28: #define        itemSetChecked          0x0008  /* item wants check mark */
                     29: #define        itemSetMask             0x000c  /* mask for desired state */
                     30: #define        itemSetMaskShift        2       /* for comparison with actual */
                     31: #define        itemChanged             0x0010  /* item desires change */
                     32: 
                     33:        char *itemText;                 /* text of item */
                     34:        int itemTextWidth;              /* width of text */
                     35:        int itemTextLength;             /* length of text */
                     36:        struct _menuItem *nextItem;     /* next item in chain */
                     37: } MenuItem;
                     38: 
                     39: typedef struct _menu {
                     40:        int menuWidth;                  /* full width of menu */
                     41:        int menuHeight;                 /* full height of menu */
                     42:        int menuFlags;                  /* flags of this menu */
                     43: 
                     44: # define       menuChanged     0x0001          /* menu changed, must redraw */
                     45: # define       menuItemChanged 0x0002          /* item changed, must redraw */
                     46: # define       menuMapped      0x0004          /* menu is now mapped */
                     47: # define       menuFreeze      0x0008          /* freeze when doing menu */
                     48: # define       menuSaveMenu    0x0010          /* save copy of menu */
                     49: 
                     50:        int menuMaxTextWidth;           /* width of widest text */
                     51:        int menuInitialItem;            /* < 0 none, >= 0 initial item */
                     52:        int menuBorderWidth;            /* width of border */
                     53:        int menuBgColor;                /* background color */
                     54:        int menuFgColor;                /* foreground color */
                     55:        Pixmap menuBgTile;              /* backgroud tile */
                     56:        FontInfo *menuFontInfo;         /* fontinfo for menu font */
                     57:        int menuItemPad;                /* pad amount */
                     58:        Window menuWindow;              /* window of menu */
                     59:        int (*menuEventHandler)();      /* external event handler */
                     60:        Cursor menuCursor;              /* cursor used in menu */
                     61:        Pixmap menuSaved;               /* copy of menu */
                     62:        Pixmap menuSavedImage;          /* copy of image under menu */
                     63:        int menuSavedImageX;            /* X coordinate of the saved image */
                     64:        int menuSavedImageY;            /* Y coordinate of the saved image */
                     65:        MenuItem *menuItems;            /* head of menu item chain */
                     66:        char *menuTitle;                /* title of menu */
                     67:        int menuTitleWidth;             /* width of title */
                     68:        int menuTitleLength;            /* length of title */
                     69:        int menuItemTop;                /* position of top of first item */
                     70: } Menu;
                     71: 
                     72: #define        checkMarkWidth          9
                     73: #define        checkMarkHeight         8
                     74: #define        defaultCursorWidth      16
                     75: #define        defaultCursorHeight     16
                     76: #define        defaultCursorX          1
                     77: #define        defaultCursorY          1
                     78: #define        grayHeight              16
                     79: #define        grayWidth               16
                     80: #define        lineSeparatorHeight     9
                     81: 
                     82: #define        CheckItem(menu,item)    SetItemCheck(menu,item,1)
                     83: #define        DisableItem(menu,item)  SetItemDisable(menu,item,1)
                     84: #define        EnableItem(menu,item)   SetItemDisable(menu,item,0)
                     85: #define        SetMenuEventHandler(menu,f)     menu->menuEventHandler = f
                     86: #define        UncheckItem(menu,item)  SetItemCheck(menu,item,0)
                     87: 
                     88: extern Menu *NewMenu();

unix.superglobalmegacorp.com

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