<> <> <> <> <> <<>> DIRECTORY TIPUser USING [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 = INLINE { CaptureButtons[NIL, NIL, NIL] }; END.