<> <> <> <> <> <> <<>> DIRECTORY BiScrollers, 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 ANY]; Viewer: TYPE = ViewerClasses.Viewer; External: TYPE = REF ExternalRec; ExternalRec: TYPE = RECORD [ valid: BOOL _ FALSE, results: REF ]; WaitExternal: PROC [External]; BroadcastExternal: PROC [External]; NotifyExternal: PROC [External]; <<>> <> HandleMenuAction: Menus.ClickProc; InputNotify: PROC [self: ViewerClasses.Viewer, input: LIST OF REF ANY]; <> BiScrollerInputNotify: BiScrollers.BSUserActionProc; <> EventNotify: PROC [clientData: REF ANY, event: LIST OF REF ANY]; UnQueuedEventNotify: PROC [clientData: REF ANY, event: LIST OF REF ANY]; PlayAction: PROC [clientData: REF ANY, event: LIST OF REF ANY]; <> <> <<>> ArgumentType: TYPE = {none, rope, rope2, refInt, refReal, refCard, refExt}; RegisterAction: PROC [atom: ATOM, eventProc: UserInputProc, argType: ArgumentType, causeMouseEventsToComplete: BOOL _ TRUE, ensureUnique: BOOL _ TRUE]; <> SetUserTraceOn: PROC [on: BOOL]; GetUserTraceOn: PROC RETURNS [on: BOOL]; RegisterRawInputHandler: PROC [rawInputHandler: RawInputHandlerProc]; RawInputHandlerProc: TYPE = PROC [self: Viewer, ggData: GGData, input: LIST OF REF ANY]; END.