Annotation of 43BSDReno/contrib/emacs-18.55/oldXMenu/XMenu.h, revision 1.1

1.1     ! root        1: #include <X11/copyright.h>
        !             2: 
        !             3: /* $Header: XMenu.h,v 1.5 87/12/04 10:26:47 swick Exp $ */
        !             4: /* Copyright    Massachusetts Institute of Technology    1985  */
        !             5: 
        !             6: /*
        !             7:  * XMenu:      MIT Project Athena, X Window system menu package
        !             8:  *
        !             9:  *     XMenu.h -       Include file for the MIT Project Athena
        !            10:  *                     XMenu X window system menu package.
        !            11:  *                     
        !            12:  *     Author:         Tony Della Fera, DEC
        !            13:  *                     August, 1984
        !            14:  */
        !            15: 
        !            16: #ifndef _XMenu_h_
        !            17: #define _XMenu_h_
        !            18: 
        !            19: #include <X11/Xutil.h>
        !            20: #include <X11/X10.h>
        !            21: 
        !            22: #define FAILURE                        -1
        !            23: #define SUCCESS                        1
        !            24: #define POST_ERROR             -1
        !            25: #define NO_SELECTION           -1
        !            26: 
        !            27: #define XM_FAILURE             -1
        !            28: #define XM_SUCCESS             1
        !            29: #define XM_NO_SELECT           2
        !            30: #define XM_IA_SELECT           3
        !            31: 
        !            32: #define XME_CODE_COUNT         17
        !            33: 
        !            34: #define XME_NO_ERROR           0
        !            35: #define XME_NOT_INIT           1
        !            36: #define XME_ARG_BOUNDS         2
        !            37: #define XME_P_NOT_FOUND                3
        !            38: #define XME_S_NOT_FOUND                4
        !            39: #define XME_STYLE_PARAM                5
        !            40: #define XME_GRAB_MOUSE         6
        !            41: #define XME_INTERP_LOC         7
        !            42: #define XME_CALLOC             8
        !            43: #define XME_CREATE_ASSOC       9
        !            44: #define XME_STORE_BITMAP       10
        !            45: #define XME_MAKE_TILES         11
        !            46: #define XME_MAKE_PIXMAP                12
        !            47: #define XME_CREATE_CURSOR      13
        !            48: #define XME_OPEN_FONT          14
        !            49: #define XME_CREATE_WINDOW      15
        !            50: #define XME_CREATE_TRANSP      16
        !            51: 
        !            52: /*
        !            53:  * XMenu error code and error list definitions.
        !            54:  */
        !            55: extern int _XMErrorCode;
        !            56: extern char *_XMErrorList[];
        !            57: 
        !            58: /*
        !            59:  * Define the XMWindow datatypes.
        !            60:  *
        !            61:  * An XMWindow is either an XMPane or an XMSelect.
        !            62:  *
        !            63:  * XMWindow is wrapper used to identify the constant window
        !            64:  * information that makes up XMPane and XMSelect objects.
        !            65:  *
        !            66:  * An XMPane is a menu pane made up of one or more XMSelect and a label.
        !            67:  *
        !            68:  * An XMSelect is a menu selection object with a label and a data pointer.
        !            69:  */
        !            70: typedef enum _xmwintype {PANE, SELECTION, PL_HEADER, SL_HEADER} XMWType;
        !            71: 
        !            72: typedef struct _xmwindow {
        !            73:     struct _xmwindow *next;    /* Next obj pointer (for insque). */
        !            74:     struct _xmwindow *prev;    /* Prev obj pointer (for insque). */
        !            75:     XMWType type;              /* Type of window. */
        !            76:     Window window;             /* X Window Id. */
        !            77:     int window_x;              /* Window upper left X coordinate. */
        !            78:     int window_y;              /* Window upper left y coordinate. */
        !            79:     int window_w;              /* Window width. */
        !            80:     int window_h;              /* Window height. */
        !            81:     int active;                        /* Window active? */
        !            82:     int activated;             /* Window activated? */
        !            83:     int pad_l1;                        /* ---- */
        !            84:     char *pad_l2;              /* ---- */
        !            85:     int pad_l3;                        /* ---- */
        !            86:     int pad_l4;                        /* ---- */
        !            87:     int pad_l5;                        /* ---- */
        !            88:     int pad_l6;                        /* ---- */
        !            89:     int pad_l7;                        /* ---- */
        !            90:     int pad_l8;                        /* ---- */
        !            91:     struct _xmwindow *pad_l9;  /* ---- */
        !            92:     char *pad_l10;             /* ---- */
        !            93:     struct _xmwindow *pad_l11; /* ---- */
        !            94: } XMWindow;
        !            95: 
        !            96: typedef struct _xmpane {
        !            97:     struct _xmpane *next;      /* Next obj pointer (for insque). */
        !            98:     struct _xmpane *prev;      /* Prev obj pointer (for insque). */
        !            99:     XMWType type;              /* Type of window. */
        !           100:     Window window;             /* X Window Id. */
        !           101:     int window_x;              /* Window upper left X coordinate. */
        !           102:     int window_y;              /* Window upper left y coordinate. */
        !           103:     int window_w;              /* Window width. */
        !           104:     int window_h;              /* Window height. */
        !           105:     int active;                        /* Window active? */
        !           106:     int activated;             /* Window activated? */
        !           107:     int serial;                        /* -- Pane serial number. */
        !           108:     char *label;               /* -- Pane label. */
        !           109:     int label_width;           /* -- Pane label width in pixels. */
        !           110:     int label_length;          /* -- Pane label length in chars. */
        !           111:     int label_x;               /* -- Pane label X offset. */
        !           112:     int label_uy;              /* -- Pane label upper Y offset. */
        !           113:     int label_ly;              /* -- Pane label lower Y offset. */
        !           114:     int s_count;               /* -- Selections in this pane. */
        !           115:     struct _xmselect *s_list;  /* -- Selection  window list. */
        !           116:     char *pad_l10;             /* ---- */
        !           117:     struct _xmwindow *pad_l11; /* ---- */
        !           118: } XMPane;
        !           119: 
        !           120: typedef struct _xmselect {
        !           121:     struct _xmselect *next;    /* Next obj pointer (for insque). */
        !           122:     struct _xmselect *prev;    /* Prev obj pointer (for insque). */
        !           123:     XMWType type;              /* Type of window. */
        !           124:     Window window;             /* X Window Id. */
        !           125:     Window parent;             /* X Window id of parent window. */
        !           126:     int window_x;              /* Window upper left X coordinate. */
        !           127:     int window_y;              /* Window upper left y coordinate. */
        !           128:     int window_w;              /* Window width. */
        !           129:     int window_h;              /* Window height. */
        !           130:     int active;                        /* Window active? */
        !           131:     int activated;             /* Window activated? */
        !           132:     int serial;                        /* -- Selection serial number. */
        !           133:     char *label;               /* -- Selection label. */
        !           134:     int label_width;           /* -- Selection label width in pixels. */
        !           135:     int label_length;          /* -- Selection label length in chars. */
        !           136:     int label_x;               /* -- Selection label X offset. */
        !           137:     int label_y;               /* -- Selection label Y offset. */
        !           138:     int pad_l7;                        /* ---- */
        !           139:     int pad_l8;                        /* ---- */
        !           140:     struct _xmwindow *pad_l9;  /* ---- */
        !           141:     char *data;                        /* -- Selection data pointer. */
        !           142:     struct _xmpane *parent_p;  /* -- Selection parent pane structure. */
        !           143: } XMSelect;
        !           144: 
        !           145: 
        !           146: /*
        !           147:  * Define the XMStyle datatype.
        !           148:  *
        !           149:  * Menu presentation style information.
        !           150:  *
        !           151:  */
        !           152: typedef enum _xmstyle {
        !           153:     LEFT,                      /* Left oriented obejct. */
        !           154:     RIGHT,                     /* Right oriented obejct. */
        !           155:     CENTER                     /* Center oriented object. */
        !           156: } XMStyle;
        !           157: 
        !           158: 
        !           159: /*
        !           160:  * Define the XMMode datatype.
        !           161:  *
        !           162:  * Menu presentation mode information.
        !           163:  *
        !           164:  */
        !           165: typedef enum _xmmode {
        !           166:     BOX,                       /* BOXed graphic rendition. */
        !           167:     INVERT,                    /* INVERTed graphic rendition. */
        !           168: } XMMode;
        !           169: 
        !           170: 
        !           171: /* 
        !           172:  * Define the XMenu datatype. 
        !           173:  *
        !           174:  * All dimensions are in pixels unless otherwise noted.
        !           175:  */
        !           176: typedef struct _xmenu {
        !           177:     /* -------------------- Menu data -------------------- */
        !           178:     XMStyle menu_style;                /* Menu display style. */
        !           179:     XMMode menu_mode;          /* Menu display mode. */
        !           180:     int freeze;                        /* Freeze server mode? */
        !           181:     int aeq;                   /* Asynchronous Event Queueing mode? */
        !           182:     int recompute;             /* Recompute menu dependecies? */
        !           183:     Window parent;             /* Menu's parent window. */
        !           184:     int width;                 /* Overall menu width. */
        !           185:     int height;                        /* Overall menu height. */
        !           186:     int x_pos;                 /* Oveall menu origin. */
        !           187:     int y_pos;                 /* Overall menu origin. */
        !           188:     Cursor mouse_cursor;       /* Mouse cursor raster. */
        !           189:     XAssocTable *assoc_tab;    /* XMWindow association table. */
        !           190:     XMPane *p_list;            /* List of XMPanes. */
        !           191:     /* -------------------- Pane window data -------------------- */
        !           192:     XMStyle p_style;           /* Pane display style. */
        !           193:     int p_events;              /* Pane window X events. */
        !           194:     XFontStruct *p_fnt_info;   /* Flag font info structure. */
        !           195:     GC pane_GC;                        /* Pane graphics context. */
        !           196:     int p_fnt_pad;             /* Fixed flag font padding in pixels. */
        !           197:     double p_spread;           /* Pane spread in flag height fractions. */
        !           198:     int p_bdr_width;           /* Pane border width. */
        !           199:     int flag_height;           /* Flag height. */
        !           200:     int p_width;               /* Menu pane width. */
        !           201:     int p_height;              /* Menu pane height. */
        !           202:     int p_x_off;               /* Pane window X offset. */
        !           203:     int p_y_off;               /* Pane window Y offset. */
        !           204:     int p_count;               /* Number of panes per menu. */
        !           205:     /* -------------------- Selection window data -------------------- */
        !           206:     XMStyle s_style;           /* Selection display style. */
        !           207:     int s_events;              /* Selection window X events. */
        !           208:     XFontStruct *s_fnt_info;   /* Body font info structure. */
        !           209:     int s_fnt_pad;             /* Fixed body font padding in pixels. */
        !           210:     double s_spread;           /* Select spread in line height fractions. */
        !           211:     int s_bdr_width;           /* Select border width. */
        !           212:     int s_width;               /* Selection window width. */
        !           213:     int s_height;              /* Selection window height. */
        !           214:     int s_x_off;               /* Selection window X offset. */
        !           215:     int s_y_off;               /* Selection window Y offset. */
        !           216:     int s_count;               /* Maximum number of selections per pane. */
        !           217:     GC normal_select_GC;       /* GC used for inactive selections. */
        !           218:     GC inverse_select_GC;      /* GC used for active (current) selection. */  
        !           219:     GC inact_GC;               /* GC used for inactive selections and */
        !           220:                                /* panes headers. */
        !           221:     /* -------------------- Color data -------------------- */
        !           222:     int p_bdr_color;           /* Color of pane border pixmap. */
        !           223:     int s_bdr_color;           /* Color of selection border pixmap. */
        !           224:     int p_frg_color;           /* Color of pane foreground pixmap. */
        !           225:     int s_frg_color;           /* Color of selection pixmap. */
        !           226:     int bkgnd_color;           /* Color of menu background pixmap. */
        !           227:     /* -------------------- Pixmap data -------------------- */
        !           228:     Pixmap p_bdr_pixmap;       /* Pane border pixmap. */
        !           229:     Pixmap s_bdr_pixmap;       /* Selection border pixmap. */
        !           230:     Pixmap p_frg_pixmap;       /* Pane foreground pixmap. */
        !           231:     Pixmap s_frg_pixmap;       /* Selection foreground pixmap. */
        !           232:     Pixmap bkgnd_pixmap;       /* Menu background pixmap. */
        !           233:     Pixmap inact_pixmap;       /* Menu inactive pixmap. */
        !           234: } XMenu;
        !           235: 
        !           236: /*
        !           237:  * XMenu library routine declarations.
        !           238:  */
        !           239: XMenu *XMenuCreate();
        !           240: int XMenuAddPane();
        !           241: int XMenuAddSelection();
        !           242: int XMenuInsertPane();
        !           243: int XMenuInsertSelection();
        !           244: int XMenuFindPane();
        !           245: int XMenuFindSelection();
        !           246: int XMenuChangePane();
        !           247: int XMenuChangeSelection();
        !           248: int XMenuSetPane();
        !           249: int XMenuSetSelection();
        !           250: int XMenuRecompute();
        !           251: int XMenuEventHandler();       /* No value actually returned. */
        !           252: int XMenuLocate();
        !           253: int XMenuSetFreeze();          /* No value actually returned. */
        !           254: int XMenuActivate();
        !           255: char *XMenuPost();
        !           256: int XMenuDeletePane();
        !           257: int XMenuDeleteSelection();
        !           258: int XMenuDestroy();            /* No value actually returned. */
        !           259: char *XMenuError();
        !           260: 
        !           261: #endif
        !           262: /* Don't add after this point. */

unix.superglobalmegacorp.com

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