<> <> <> <<>> DIRECTORY TIPUser USING [TIPClient, TIPTable], ViewerClasses USING [NotifyProc, Viewer]; InputFocus: CEDAR DEFINITIONS = BEGIN OPEN ViewerClasses; Focus: TYPE = REF FocusRec; FocusRec: TYPE = RECORD [ owner: Viewer _ NIL, -- Viewer associated with this focus. info: REF _ NIL, -- focus data private to the owner. link: PRIVATE Focus _ NIL -- focus stack overhead. ]; GetInputFocus: PROC RETURNS[Focus]; <> SetInputFocus: PROC[self: Viewer _ NIL, info: REF _ NIL]; <> <> <> PushInputFocus: PROC[self: Viewer _ NIL, info: REF _ NIL]; <> <> <> PopInputFocus: PROC; <> <> <> CaptureButtons: PROC[proc: NotifyProc, tip: TIPUser.TIPTable, viewer: Viewer _ NIL]; <> ReleaseButtons: PROC; EnableInput: PRIVATE PROC; <> <> inputEnabled: READONLY BOOL; <> focusTIP: PRIVATE TIPUser.TIPClient; <> WindowManagerTIPTable: PRIVATE TIPUser.TIPTable; InputFocusImpl: PRIVATE PROGRAM; END.