|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U
Length: 8880 (0x22b0)
Types: TextFile
Notes: UNIX file
Names: »TranslateI.h«
└─⟦e2256280a⟧ Bits:30004636/disk3.imd INTERACTIVE Motif Environment Development System
└─⟦e2256280a⟧ UNIX Filesystem
└─⟦e2256280a⟧ UNIX Filesystem
└─⟦this⟧ »xt/new/usr/include/X11/TranslateI.h«
#ifdef REV_INFO
#ifndef lint
static char SCCSID[] = "OSF/Motif: @(#)TranslateI.h 1.1 - 89/08/31 - 09:12:43";
#endif /* lint */
#endif /* REV_INFO */
/******************************************************************************
*******************************************************************************
*
* (c) Copyright 1989, OPEN SOFTWARE FOUNDATION, INC.
* (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
* (c) Copyright 1987, 1988, 1989 HEWLETT-PACKARD COMPANY
* (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY
* ALL RIGHTS RESERVED
*
* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED
* AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND
* WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR
* ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
* AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE
* SOFTWARE IS HEREBY TRANSFERRED.
*
* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
* NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY OPEN SOFTWARE
* FOUNDATION, INC. OR ITS THIRD PARTY SUPPLIERS
*
* OPEN SOFTWARE FOUNDATION, INC. AND ITS THIRD PARTY SUPPLIERS,
* ASSUME NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE ANY OF ITS
* SOFTWARE . OSF SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
* KIND, AND OSF EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING
* BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE.
*
* Notice: Notwithstanding any other lease or license that may pertain to,
* or accompany the delivery of, this computer software, the rights of the
* Government regarding its use, reproduction and disclosure are as set
* forth in Section 52.227-19 of the FARS Computer Software-Restricted
* Rights clause.
*
* (c) Copyright 1989, Open Software Foundation, Inc. Unpublished - all
* rights reserved under the Copyright laws of the United States.
*
* RESTRICTED RIGHTS NOTICE: Use, duplication, or disclosure by the
* Government is subject to the restrictions as set forth in subparagraph
* (c)(1)(ii) of the Rights in Technical Data and Computer Software clause
* at DFARS 52.227-7013.
*
* Open Software Foundation, Inc.
* 11 Cambridge Center
* Cambridge, MA 02142
* (617)621-8700
*
* RESTRICTED RIGHTS LEGEND: This computer software is submitted with
* "restricted rights." Use, duplication or disclosure is subject to the
* restrictions as set forth in NASA FAR SUP 18-52.227-79 (April 1985)
* "Commercial Computer Software- Restricted Rights (April 1985)." Open
* Software Foundation, Inc., 11 Cambridge Center, Cambridge, MA 02142. If
* the contract contains the Clause at 18-52.227-74 "Rights in Data General"
* then the "Alternate III" clause applies.
*
* (c) Copyright 1989, Open Software Foundation, Inc.
* ALL RIGHTS RESERVED
*
*
* Open Software Foundation is a trademark of The Open Software Foundation, Inc.
* OSF is a trademark of Open Software Foundation, Inc.
* OSF/Motif is a trademark of Open Software Foundation, Inc.
* Motif is a trademark of Open Software Foundation, Inc.
* DEC is a registered trademark of Digital Equipment Corporation
* DIGITAL is a registered trademark of Digital Equipment Corporation
* X Window System is a trademark of the Massachusetts Institute of Technology
*
*******************************************************************************
******************************************************************************/
#ifndef _TranslateI_h
#define _TranslateI_h
/*
* TranslateI.h - Header file private to translation management
*
* Digital Equipment Corporation
* Western Research Laboratory
* Date: Sat Aug 29 1987
*/
typedef Boolean (*MatchProc)();
/* Event parsed;
XEvent incoming;
*/
typedef struct _ModToKeysymTable {
Modifiers mask;
int count;
int index;
} ModToKeysymTable;
typedef struct _LateBindings {
Boolean knot;
Boolean pair;
KeySym keysym;
} LateBindings, *LateBindingsPtr;
typedef short ModifierMask;
typedef struct _EventObjRec *EventObjPtr;
typedef struct _EventRec {
unsigned long modifiers;
unsigned long modifierMask;
LateBindingsPtr lateModifiers;
unsigned long eventType;
unsigned long eventCode;
unsigned long eventCodeMask;
MatchProc matchEvent;
Boolean standard;
} Event;
typedef enum _TMkind {override,augment} TMkind;
typedef struct _TMConvertRec {
XtTranslations old; /* table to merge into */
XtTranslations new; /* table to merge from */
TMkind operation; /* merge or augment */
} TMConvertRec;
typedef struct _EventObjRec {
Event event; /* X event description */
StatePtr state; /* pointer to linked lists of state info */
} EventObjRec;
typedef struct _ActionsRec *ActionPtr;
typedef struct _ActionsRec {
char * token; /* string token for procedure name */
int index; /* index into quarkTable to find proc */
String *params; /* pointer to array of params */
unsigned long num_params; /* number of params */
ActionPtr next; /* next action to perform */
} ActionRec;
typedef struct _StateRec {
int index; /* index of event into EventObj table */
ActionPtr actions; /* rhs list of actions to perform */
StatePtr nextLevel; /* the next level points to the next event
in one event sequence */
StatePtr next; /* points to other event state at same level */
StatePtr forw; /* points to next state in list of all states */
Boolean cycle; /* true iff nextLevel is a loop */
} StateRec;
typedef enum {XtTableReplace,XtTableAugment,XtTableOverride} _XtTranslateOp;
typedef struct _TranslationData {
_XtTranslateOp operation; /*replace,augment,override*/
unsigned int numEvents;
unsigned int eventTblSize;
EventObjPtr eventObjTbl;
unsigned long clickTime;
unsigned long lastEventTime;
unsigned int numQuarks; /* # of entries in quarkTable */
unsigned int quarkTblSize; /*total size of quarkTable */
XrmQuark* quarkTable; /* table of quarkified rhs*/
unsigned int accNumQuarks;
unsigned int accQuarkTblSize;
XrmQuark* accQuarkTable;
struct _XtBoundAccActionRec* accProcTbl;
StatePtr head; /* head of list of all states */
} TranslationData;
#define _XtEventTimerEventType ((unsigned long)-1L)
#define _XtTimerEventType ((unsigned long)-2L)
#define StandardMask (ShiftMask | LockMask)
#define KeysymModMask (1<<27) /* private to TM */
#define AnyButtonMask (1<<28) /* private to TM */
typedef struct _EventSeqRec *EventSeqPtr;
typedef struct _EventSeqRec {
Event event; /* X event description */
StatePtr state; /* private to state table builder */
EventSeqPtr next; /* next event on line */
ActionPtr actions; /* r.h.s. list of actions to perform */
} EventSeqRec;
typedef EventSeqRec EventRec;
typedef EventSeqPtr EventPtr;
typedef struct _TMEventRec {
Display *dpy;
Event event;
}TMEventRec,*TMEventPtr;
typedef struct _XtBoundAccActionRec {
Widget widget; /*widgetID to pass to action Proc*/
XtActionProc proc; /*action procedure */
} XtBoundAccActionRec;
extern void _XtAddEventSeqToStateTable();
extern void _XtInitializeStateTable(); /* stateTable */
/* _XtTranslations *stateTable; */
typedef XrmQuark XtAction;
typedef unsigned int Value;
typedef struct {
char *name;
XrmQuark signature;
Value value;
} NameValueRec, *NameValueTable;
extern Boolean _XtLookupModifier(); /*name,lookupStyle,valueP */
extern Boolean _XtMatchUsingStandardMods();
extern Boolean _XtMatchUsingDontCareMods();
extern Boolean _XtRegularMatch();
extern void _XtConvertCase();
extern ModToKeysymTable* _XtBuildModsToKeysymTable();
extern void _XtBuildKeysymTable();
extern XModifierKeymap *_XtBuildModifierTable();
extern Boolean _XtLookupTableSym(); /* table, name, valueP */
/* NameValueTable table; */
/* String name; */
/* Value *valueP; */
extern void _XtPopupInitialize();
extern void _XtInstallTranslations(); /* widget, stateTable */
/* Widget widget; */
/* XtTranslations stateTable; */
extern void _XtUninstallTranslations(); /* widget */
/* Widget widget; */
extern void _XtBindActions(); /* widget, stateTable */
/* Widget widget; */
/* XtTranslations stateTable; */
extern void _XtTranslateInitialize();
extern XtTranslations _XtParseTranslationTable(); /* source */
/* String source; */
extern void _XtRegisterGrabs(); /* widget */
/* Widget widget; */
extern void _XtPopup(); /* widget, grab_kind, spring_loaded */
/* Widget widget; */
/* XtGrabKind grab_kind; */
/* Boolean spring_loaded; */
extern Boolean RegularMatch();
#endif /* _TranslateI_h */
/* DON'T ADD STUFF AFTER THIS #endif */