<<>> <> <> <> <> <> DIRECTORY ImagerColor USING [RGB, Color, ConstantColor], ViewerClasses USING [Viewer], CNSColor USING [CSL]; ColorTool: CEDAR DEFINITIONS ~ BEGIN RGB: TYPE ~ ImagerColor.RGB; CSL: TYPE ~ CNSColor.CSL; Viewer: TYPE ~ ViewerClasses.Viewer; <> <> <> <> SetRGBValue: PROC [rgb: RGB, viewer: Viewer ¬ NIL]; GetRGBValue: PROC [viewer: Viewer ¬ NIL] RETURNS [RGB]; SetCSLValue: PROC [csl: CSL, viewer: Viewer ¬ NIL]; GetCSLValue: PROC[viewer: Viewer ¬ NIL] RETURNS [CSL]; SetColor: PROC [color: ImagerColor.Color, viewer: Viewer ¬ NIL]; GetColor: PROC [viewer: Viewer ¬ NIL] RETURNS [ImagerColor.ConstantColor]; NoColorToolViewer: SIGNAL; --Raised when one of the above procedures is called and there is no ColorTool viewer available <<>> <> NotifyProc: TYPE = PROC[rgb: RGB, clientData: REF]; RegisterNotifyProc: PROC[id: ATOM, notifyProc: NotifyProc, data: REF, viewer: Viewer ¬ NIL]; RemoveProc: PROC[id: ATOM, viewer: Viewer ¬ NIL]; Create: PROC RETURNS [Viewer]; END.