visualobliq/src/KnobsVBT.i3


 Copyright (C) 1993, Digital Equipment Corporation 
 All rights reserved. 
 See the file COPYRIGHT for a full description. 
 
 Last modified on Thu Jul 29 14:43:44 PDT 1993 by bharat 
 modified on Fri Jul 2 16:33:31 PDT 1993 by mhb 
<* PRAGMA LL *>
A KnobsVBT displays little ``knobs'' on its child.

INTERFACE KnobsVBT;

IMPORT Filter, Point, VBT;

TYPE
  T <: Public;
  Public = Filter.T OBJECT
             (* drawColor: Pixmap.T;*)
           METHODS
             <* LL <= VBT.mu *>
             init          (ch: VBT.T): T;
           END;
The call v.init(ch) initialize v as a KnobsVBT. Initially, ch is displayed unaltered.

PROCEDURE Add (v: T);
<* LL = VBT.mu *>
Draw a set of ``knobs'' using PaintOp.Fg. This procedure is a no-op if the knobs are already displayed.

PROCEDURE Remove (v: T);
<* LL = VBT.mu *>
Remove the set of ``knobs.'' This procedure is a no-op is the knobs are not being displayed.

PROCEDURE Inside (v: T; READONLY pt: Point.T): BOOLEAN;
<* LL = VBT.mu *>
Returns whether the point pt falls within any of the ``knobs.''

PROCEDURE SetSingleMode (v: T; READONLY tv:BOOLEAN);
<* LL = VBT.mu *>
Decides how an active set of knobs will be displayed, gray or black
 black if single, gray if multiple 

END KnobsVBT.