|
|
1.1 root 1: /*
2: * $Header: TMprivate.h,v 1.7 87/09/11 21:24:35 haynes Rel $
3: */
4:
5: /*
6: * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
7: *
8: * All Rights Reserved
9: *
10: * Permission to use, copy, modify, and distribute this software and its
11: * documentation for any purpose and without fee is hereby granted,
12: * provided that the above copyright notice appear in all copies and that
13: * both that copyright notice and this permission notice appear in
14: * supporting documentation, and that the name of Digital Equipment
15: * Corporation not be used in advertising or publicity pertaining to
16: * distribution of the software without specific, written prior permission.
17: *
18: *
19: * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
20: * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
21: * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
22: * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
23: * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24: * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
25: * SOFTWARE.
26: */
27: /*
28: * TMprivate.h - Header file private to translation management
29: *
30: * Author: Charles Haynes
31: * Digital Equipment Corporation
32: * Western Research Laboratory
33: * Date: Sat Aug 29 1987
34: */
35:
36: typedef short ModifierMask;
37:
38: typedef struct _ActionsRec {
39: char * token; /* string token for procedure name */
40: void (*proc)(); /* pointer to procedure to call */
41: char **param; /* pointer to array of params */
42: unsigned long paramNum; /* number of params */
43: struct _ActionsRec *next; /* next action to perform */
44: } ActionRec, *ActionPtr;
45:
46: typedef struct _EventSeqRec {
47: char *str; /* ascii rep of text. */
48: short modifiers; /* shift, ctrl, meta... */
49: short modifierMask; /* shift, ctrl, meta... */
50: unsigned long eventType; /* key pressed, button released... */
51: unsigned long eventCodeMask;/* which bits of Code are valid? */
52: unsigned long eventCode; /* key or button number */
53: struct _EventSeqRec *next; /* next event on line */
54: ActionPtr actions; /* r.h.s. list of actions to perform */
55: } EventSeqRec, *EventSeqPtr;
56:
57: typedef struct _StateRec {
58: int index; /* index of event into EventObj table */
59: ActionPtr actions; /* rhs list of actions to perform */
60: struct _StateRec *nextLevel;/* the next level points to the next event
61: in one event sequence */
62: struct _StateRec *next; /* points to other event state at same level */
63: } StateRec, *StatePtr;
64:
65:
66: typedef struct _EventObjRec {
67: unsigned long eventType; /* key pressed, button released... */
68: unsigned long eventCodeMask;/* which bits of eventCode are valid? */
69: unsigned long eventCode; /* key or button number */
70: short modifiers; /* shift, ctrl, meta... */
71: short modifierMask; /* shift, ctrl, meta... */
72: StatePtr state; /* pointer to linked lists of state info */
73: } EventObjRec, *EventObjPtr;
74:
75:
76: extern EventObjPtr EventMapObjectCreate();
77: extern EventObjPtr EventMapObjectGet();
78: extern EventObjPtr EventMapObjectSet();
79:
80: typedef XrmQuark XtAction;
81:
82: typedef struct _TranslationData {
83: unsigned int numEvents;
84: unsigned int eventTblSize;
85: EventObjPtr eventObjTbl;
86: unsigned long clickTime;
87: } TranslationData;
88:
89: extern void TranslateEvent();
90:
91: /* $Log: TMprivate.h,v $
92: * Revision 1.7 87/09/11 21:24:35 haynes
93: * ship it. clean up copyright, add rcs headers.
94: *
95: * Revision 1.6 87/09/11 17:25:38 haynes
96: * remove event index, no one else needs.
97: *
98: * Revision 1.5 87/09/11 11:35:25 susan
99: * Added detail field ANY
100: *
101: * Revision 1.4 87/09/10 14:39:42 haynes
102: * major renaming cataclysm, de-linted, cleaned up
103: *
104: * Revision 1.3 87/08/29 18:39:04 haynes
105: * change XtTranslateEvent to TranslateEvent
106: *
107: * Revision 1.2 87/08/29 15:05:42 haynes
108: * revised public interface, now only contains exported functions and types
109: * (really...)
110: *
111: * Revision 1.1 87/08/29 14:44:34 haynes
112: * Initial revision
113: * */
114:
115:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.