DIRECTORY Controls, Imager, Rope, Vector2, ViewerClasses; ControlsPrivate: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; Control: TYPE ~ Controls.Control; Mouse: TYPE ~ Controls.Mouse; Context: TYPE ~ Imager.Context; Viewer: TYPE ~ ViewerClasses.Viewer; Event: TYPE ~ RECORD [mouse: Mouse, value, valuePrev: REAL]; RopeFromValueProc: TYPE ~ PROC [control: Control] RETURNS [valueRope: ROPE ¬ NIL, repaint: BOOL ¬ TRUE]; SetValueFromRopeProc: TYPE ~ PROC [control: Control, valueRope: ROPE]; ActivateViewer: PROC [viewer: Viewer]; MaybeForkControlProc: PROC [control: Control]; ForkControlProc: PROC [control: Control]; ControlProcBusy: PROC [control: Control] RETURNS [BOOL]; EnableMouseTrapping: PROC [yes: BOOL]; NewSliderDial: PROC [control: Control]; NotifySliderDial: PROC [control: Control, mouse: Mouse]; PaintSliderDial: ViewerClasses.PaintProc; UnTick: PROC [context: Context, control: Control]; Tick: PROC [context: Context, control: Control, t: REAL, detent: BOOL ¬ FALSE, width: NAT ¬ 1]; GetQueue: PROC [control: Control] RETURNS [LIST OF Event]; RegisterRopeFromValueProc: PROC [control: Control, proc: RopeFromValueProc]; RegisterValueFromRopeProc: PROC [control: Control, proc: SetValueFromRopeProc]; NewFunction: PROC [control: Control]; NotifyFunction: PROC [control: Control, mouse: Mouse]; PaintFunction: ViewerClasses.PaintProc; ResetFunction: PROC [control: Control, repaint: BOOL ¬ TRUE]; NewContour: PROC [control: Control]; NotifyContour: PROC [control: Control, mouse: Mouse]; PaintContour: ViewerClasses.PaintProc; ClearContour: PROC [control: Control, repaint: BOOL ¬ TRUE]; NewSketch: PROC [control: Control]; NotifySketch: PROC [control: Control, mouse: Mouse]; PaintSketch: ViewerClasses.PaintProc; ClearSketch: PROC [control: Control, repaint: BOOL ¬ TRUE]; DeleteLastSketchStroke: PROC [control: Control, repaint: BOOL ¬ TRUE]; END. β ControlsPrivate.mesa Copyright Σ 1985, 1992 by Xerox Corporation. All rights reserved. Bloomenthal, July 2, 1992 6:10 pm PDT Ken Shoemake, September 3, 1989 1:32:58 am PDT Types Miscellaneous Call any proc associated with a refAny, if any, on the viewer's property list whenever the leaving the viewer's input focus. If control has a non-busy proc, for it. If control has a proc, fork it. Test if control has a busy proc. Sliders/Dials If yes, then, upon a mouse-down, trap the mouse in a slider or dial. Free the mouse on up. Slider or dial initialization. Called by Controls notify proc if control is a slider or dial. Paint proc if control is a slider or dial. Clear the bar from the control. Place the bar of the control at position t. Return the queued events, if any. Register procedure with status viewer to convert value to rope. Register procedure with status viewer to set value from typein. Functions Function initialization. Called by Controls notify proc if control is a function. Paint proc if control is a function. Set the function values to the function minimum and optionally repaint. Contours Contour initialization. Called by Controls notify proc if control is a contour. Paint proc if control is a contour. Clear the contour and optionally repaint. Sketches Contour initialization. Called by Controls notify proc if control is a sketch. Paint proc if control is a sketch. Clear the sketcher and optionally repaint. Delete the last user inputted stroke. Κ—•NewlineDelimiter –"cedarcode" style™šœ™Jšœ Οeœ6™BJ™%J™.J˜JšΟk œ0˜9J˜—šΠblœžœž ˜"J˜—Jšœž˜headšΟl™Jšžœžœžœ˜Jšœžœ˜!Jšœžœ˜Jšœžœ˜šœžœ˜$J˜—šœžœžœ"žœ˜J™—š‘œ˜)J™*J™—š‘œžœ&˜2J™J™—š Πbnœžœ)žœ žœžœ žœ˜_J™+J™—š ‘œžœžœžœžœ˜:J™!J™—š‘œžœ-˜LJ™?J™—š‘œžœ0˜OJ™?——š  ™ š‘ œžœ˜%J™J™—š‘œžœ"˜6J™8J™—š‘ œ˜'J™$J™—š‘ œžœžœžœ˜=J™G——š ™š£ œžœ˜$J™J™—š‘ œžœ"˜5J™7J™—š‘ œ˜&J™#J™—š‘ œžœžœžœ˜