Copyright 1996-2000, Critical Mass, Inc. All Rights Reserved.
See file COPYRIGHT-CMASS for details.
INTERFACE HoverVBT;
A HoverVBT is a filter that can notify its descendants if
the mouse is sitting over them.
IMPORT Filter, Time, VBT;
TYPE
T <: Filter.T;
TYPE
CallBack = PROCEDURE (v: VBT.T; ref: REFANY);
PROCEDURE New (ch: VBT.T): T;
== NEW(T).init(ch)
PROCEDURE Register (v: VBT.T; delay: Time.T; cb: CallBack; ref: REFANY);
Registers v so that if an ancestor of v is a hover vbt and it notices
the mouse sitting over v for at least delay seconds, cb(v,ref)
will be called. The callback calls generated by a given hover vbt are
serialized and made with no locks held. CallBack procedures must
be top-level procedures. At most one registration is maintained for
a vbt and it is determined by the last call to Register.
END HoverVBT.