Annotation of researchv9/X11/src/X.V11R1/clients/xterm/menu.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *     $Source: /u1/X11/clients/xterm/RCS/menu.h,v $
                      3:  *     $Header: menu.h,v 1.7 87/09/11 08:17:17 toddb Exp $
                      4:  */
                      5: 
                      6: 
                      7: #include <X11/copyright.h>
                      8: 
                      9: /*
                     10:  * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
                     11:  *
                     12:  *                         All Rights Reserved
                     13:  *
                     14:  * Permission to use, copy, modify, and distribute this software and its
                     15:  * documentation for any purpose and without fee is hereby granted,
                     16:  * provided that the above copyright notice appear in all copies and that
                     17:  * both that copyright notice and this permission notice appear in
                     18:  * supporting documentation, and that the name of Digital Equipment
                     19:  * Corporation not be used in advertising or publicity pertaining to
                     20:  * distribution of the software without specific, written prior permission.
                     21:  *
                     22:  *
                     23:  * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
                     24:  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
                     25:  * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
                     26:  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
                     27:  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
                     28:  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
                     29:  * SOFTWARE.
                     30:  */
                     31: 
                     32: /* @(#)menu.h  X10/6.6 11/3/86 */
                     33: /*
                     34:  * Menu items are constructed as follows, starting from the left side:
                     35:  *
                     36:  *     menuItemPad
                     37:  *     space for check mark
                     38:  *     menuItemPad
                     39:  *     text + padding
                     40:  *     menuItemPad
                     41:  *
                     42:  * The padding for the text is that amount that this text is narrower than the
                     43:  * widest text.
                     44:  */
                     45: 
                     46: typedef struct _menuItem {
                     47:        int itemHeight;                 /* total height of this item */
                     48:        int itemFlags;                  /* flags of item */
                     49: 
                     50: #define        itemDisabled            0x0001  /* item is disabled */
                     51: #define        itemChecked             0x0002  /* item has check mark */
                     52: #define        itemStateMask           0x0003  /* mask for current state */
                     53: #define        itemSetDisabled         0x0004  /* item wants to be disabled */
                     54: #define        itemSetChecked          0x0008  /* item wants check mark */
                     55: #define        itemSetMask             0x000c  /* mask for desired state */
                     56: #define        itemSetMaskShift        2       /* for comparison with actual */
                     57: #define        itemChanged             0x0010  /* item desires change */
                     58: 
                     59:        char *itemText;                 /* text of item */
                     60:        int itemTextWidth;              /* width of text */
                     61:        int itemTextLength;             /* length of text */
                     62:        struct _menuItem *nextItem;     /* next item in chain */
                     63: } MenuItem;
                     64: 
                     65: typedef struct _menu {
                     66:        int menuWidth;                  /* full width of menu */
                     67:        int menuHeight;                 /* full height of menu */
                     68:        int menuFlags;                  /* flags of this menu */
                     69: 
                     70: # define       menuChanged     0x0001          /* menu changed, must redraw */
                     71: # define       menuItemChanged 0x0002          /* item changed, must redraw */
                     72: # define       menuMapped      0x0004          /* menu is now mapped */
                     73: # define       menuFreeze      0x0008          /* freeze when doing menu */
                     74: # define       menuSaveMenu    0x0010          /* save copy of menu */
                     75: 
                     76:        int menuMaxTextWidth;           /* width of widest text */
                     77:        int menuInitialItem;            /* < 0 none, >= 0 initial item */
                     78:        int menuBorderWidth;            /* width of border */
                     79:        int menuBgColor;                /* background color */
                     80:        int menuFgColor;                /* foreground color */
                     81:        XFontStruct *menuFontInfo;      /* font info for menu font */
                     82:        int menuItemPad;                /* pad amount */
                     83:        Window menuWindow;              /* window of menu */
                     84:        Cursor menuCursor;              /* cursor used in menu */
                     85:        Pixmap menuSaved;               /* copy of menu */
                     86:        Pixmap menuSavedImage;          /* copy of image under menu */
                     87:        int menuSavedImageX;            /* X coordinate of the saved image */
                     88:        int menuSavedImageY;            /* Y coordinate of the saved image */
                     89:        MenuItem *menuItems;            /* head of menu item chain */
                     90:        char *menuTitle;                /* title of menu */
                     91:        int menuTitleWidth;             /* width of title */
                     92:        int menuTitleLength;            /* length of title */
                     93:        int menuItemTop;                /* position of top of first item */
                     94: } Menu;
                     95: 
                     96: #define        checkMarkWidth          9
                     97: #define        checkMarkHeight         8
                     98: #define        defaultCursorWidth      16
                     99: #define        defaultCursorHeight     16
                    100: #define        defaultCursorX          1
                    101: #define        defaultCursorY          1
                    102: #define        grayHeight              16
                    103: #define        grayWidth               16
                    104: #define        lineSeparatorHeight     9
                    105: 
                    106: #define        CheckItem(menu,item)    SetItemCheck(menu,item,1)
                    107: #define        DisableItem(menu,item)  SetItemDisable(menu,item,1)
                    108: #define        EnableItem(menu,item)   SetItemDisable(menu,item,0)
                    109: #define        UncheckItem(menu,item)  SetItemCheck(menu,item,0)
                    110: 
                    111: 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.