DIRECTORY ViewerClasses USING [Viewer], Rope USING [ROPE], Imager USING [Context, Color]; ColorSchemeViewer: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE = Rope.ROPE; Viewer: TYPE = ViewerClasses.Viewer; NotifyProc: TYPE = PROC [values: ARRAY [1..3] OF REAL, changes: Changes, client: REF]; Create: PROC [labels: ARRAY [1..3] OF ROPE, sw, sh: INT, notify: NotifyProc, title: ROPE ¬ NIL, clientData: REF ¬ NIL, parent: Viewer ¬ NIL, wx, wy: INTEGER ¬ 0] RETURNS [Viewer]; SetValues: PROC [viewer: Viewer, values: ARRAY [1..3] OF REAL, notify: BOOLEAN ¬ FALSE] RETURNS [Changes]; GetValues: PROC[viewer: Viewer] RETURNS[v1, v2, v3: REAL]; Changes: TYPE = {none, v1, v2, v3, allValues, paintViewer}; Paint: PROC[viewer: Viewer, context: Imager.Context, whatChanged: Changes]; SetSliderColors: PROC [viewer: Viewer, colors: ARRAY [1..3] OF Imager.Color]; END. ή ColorSchemeViewer.mesa Copyright Σ 1985, 1992 by Xerox Corporation. All rights reserved. Maureen Stone, November 30, 1985 1:31:14 pm PST Pier, March 13, 1987 1:55:56 pm PST The client will be Notified everytime a value in the viewer changes. The viewer will have been repainted to reflect the change by the time the notify proc is called. SetValues only paints the slider and text viewer contents, leaving the labels alone . For the red, green, blue colored sliders. Κ±•NewlineDelimiter –(cedarcode) style™code™Kšœ Οeœ6™BK™/K™#—šΟk ˜ Kšœ žœ ˜Kšœžœžœ˜Kšœžœ˜K™—KšΠblœžœž ˜$šœž˜K˜Kšžœžœžœ˜Kšœžœ˜$K˜KšΟn œžœžœ žœžœžœžœ˜WK™¦Kš œžœ žœžœžœ žœžœžœžœžœžœ žœžœ ˜³K˜Kš  œžœžœžœžœ žœžœžœ ˜jKšœU™UKš  œžœžœ žœ˜:K˜Kšœ žœ.˜;K˜Kš œžœ@˜Kš œžœžœžœ˜MK™)—K˜Kšžœ˜——…—Xη