lego/src/MarginFeedbackVBT.i3


Copyright (C) 1994, Digital Equipment Corp.
<* PRAGMA LL *>
<* PRAGMA SUBTYPE *>
A MarginFeedbackVBT is a multi-filter feedback that provides visual feedback to the left of another VBT. This interface defines a handful of useful ``left-hand sides.''

INTERFACE MarginFeedbackVBT;

IMPORT FeedbackVBT, Shadow, VBT;

TYPE
  <* SUBTYPE T <: MultiFilter.T *>
  T <: Public;
  Public = FeedbackVBT.T OBJECT
           METHODS
             <* LL.sup <= VBT.mu *>
             init (ch, marginVBT: VBT.T): T
           END;
The following procedures create some popular types of MarginFeedbackVBTs. See Figure~\ref{fig:marginfeedbacks}.

PROCEDURE NewCheck  (ch: VBT.T; shadow: Shadow.T := NIL): T;
<* LL.sup <= VBT.mu *>

PROCEDURE NewBox (ch: VBT.T; shadow: Shadow.T := NIL): T;
<* LL.sup <= VBT.mu *>

PROCEDURE NewBullet (ch: VBT.T; shadow: Shadow.T := NIL): T;
<* LL.sup <= VBT.mu *>

END MarginFeedbackVBT.