DIRECTORY GGBasicTypes, GGInterfaceTypes, Menus, SlackProcess, ViewerClasses; GGUserInput: CEDAR DEFINITIONS = BEGIN GGData: TYPE = GGInterfaceTypes.GGData; Point: TYPE = GGBasicTypes.Point; Viewer: TYPE = ViewerClasses.Viewer; HandleMenuAction: Menus.ClickProc; InputNotify: PROC [self: ViewerClasses.Viewer, input: LIST OF REF ANY]; EventNotify: PROC [clientData: REF ANY, event: LIST OF REF ANY]; PlayAction: PROC [clientData: REF ANY, event: LIST OF REF ANY]; ArgumentType: TYPE = {none, rope, refInt, refReal}; RegisterAction: PROC [atom: ATOM, eventProc: SlackProcess.EventProc, argType: ArgumentType, causeMouseEventsToComplete: BOOL _ TRUE]; END. JGGUserInput.mesa Author: Eric Bier on June 6, 1985 0:56:45 am PDT Last edited by Bier on April 30, 1987 6:42:48 pm PDT Contents: Procedures which handle user actions (menu buttons and mouse actions). Pier, May 5, 1987 6:15:21 pm PDT An action has been received from the Gargoyle TIP table. An action has been received from some other source. The clientData argument is passed to the EventProc that was registered for by RegisterAction for the ATOM event.first. event.first must be an ATOM. An action has been received from a Gargoyle playback script. For clients who wish to extend Gargoyle's input language. Once atom is registered, then clients may add such an action to the queue by calling MenuNotify above. argType is the type of value that Gargoyle should expect in event.rest.first when MenuNotify is called. If such a value is not present, Gargoyle will parse the current Tioga selection to make one. If causeMouseEventsToComplete is TRUE, Gargoyle will finish any mouse actions in progress before trying this action. causeMouseEventsToComplete should almost always be TRUE. ΚC˜Icode™K™0K™4™PK™ —K™šΟk ˜ KšœC˜CK˜—Kšœ œ œ˜ Kš˜K˜Kšœœ˜'Kšœœ˜!Kšœœ˜$K˜Kšœ"˜"š Οn œœ%œœœœ˜GK™8—Kšž œœœœ œœœœ˜@šž œœœœ œœœœ˜?KšœΙ™ΙKšœ<™