<<>> <> <> <> <> <> <> <> <> <<>> DIRECTORY GGBasicTypes, GGInterfaceTypes, Menus, ViewerClasses; GGUserInput: CEDAR DEFINITIONS = BEGIN GGData: TYPE = GGInterfaceTypes.GGData; Point: TYPE = GGBasicTypes.Point; UserInputProc: TYPE = PROC [ggData: GGData, event: LIST OF REF]; Viewer: TYPE = ViewerClasses.Viewer; HandleMenuAction: Menus.ClickProc; InputNotify: ViewerClasses.NotifyProc; <> BiScrollerInputNotify: PROC [ggData: GGData, event: LIST OF REF]; <> EventNotify: PROC [clientData: REF, event: LIST OF REF]; UnQueuedEventNotify: PROC [clientData: REF, event: LIST OF REF]; PlayAction: PROC [clientData: REF, event: LIST OF REF]; <> <> <<>> ArgumentType: TYPE = {none, rope, rope2, refInt, refReal, refCard, refExt}; RegisterAction: PROC [atom: ATOM, eventProc: UserInputProc, argType: ArgumentType, causeMouseEventsToComplete: BOOL ¬ TRUE, ensureUnique: BOOL ¬ FALSE]; <> <> External: TYPE = REF ExternalRec; ExternalRec: TYPE = RECORD [ valid: BOOL ¬ FALSE, results: REF ]; WaitExternal: PROC [External]; BroadcastExternal: PROC [External]; NotifyExternal: PROC [External]; <<>> <> SetUserTraceOn: PROC [on: BOOL]; GetUserTraceOn: PROC RETURNS [on: BOOL]; RegisterRawInputHandler: PROC [rawInputHandler: RawInputHandlerProc]; RawInputHandlerProc: TYPE = PROC [self: Viewer, ggData: GGData, input: LIST OF REF, notify: PROC [LIST OF REF]]; END.