<> <> <> <> DIRECTORY Imager USING [Box], ViewerClasses USING [Viewer], ImagerColor USING [RGB, HSV, HSL, YIQ], CNSColor USING [CSLChroma, CSLSaturation, CSLLightness, red, vivid, medium], ImagerColorMap USING [MapEntry]; <<>> ColorPatch: CEDAR DEFINITIONS ~ BEGIN Viewer: TYPE = ViewerClasses.Viewer; ColorPatchViewer: TYPE = Viewer; MakeColorPatch: PROCEDURE[parent: Viewer, wx, wy, width, height: CARDINAL] RETURNS[ColorPatchViewer]; InterpolationType: TYPE = {left, right, stop, off}; ColorPatchData: TYPE = REF ColorPatchDataRec; ColorPatchDataRec: TYPE = RECORD [ box: Imager.Box, patchMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 100, red: 0, green: 0, blue: 0], rgbContrastMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 99, red: 0, green: 0, blue: 0], hsvContrastMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 98, red: 0, green: 0, blue: 0], hslContrastMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 97, red: 0, green: 0, blue: 0], yiqContrastMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 96, red: 0, green: 0, blue: 0], argybContrastMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 95, red: 0, green: 0, blue: 0], leftInterpolateMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 94, red: 255, green: 255, blue: 255], rightInterpolateMapEntry: ImagerColorMap.MapEntry _ [mapIndex: 77, red: 255, green: 255, blue: 255], separate: BOOLEAN _ FALSE, dither: BOOLEAN _ FALSE, -- dither=TRUE means that half of the color patch is dithered consistencyCheck: BOOLEAN _ FALSE, -- consistencyCheck=TRUE means that the color space which is being modified is checked for consistency with the computed RGB values rgbContrast, hsvContrast, hslContrast, yiqContrast, argybContrast: BOOLEAN _ FALSE, -- xxxContrast=TRUE means that the contrasting patch for xxx is visible interpolationRequest: InterpolationType _ off, -- off: interpolation bar invisible; left: track left side of interpolation bar; right: track right side of interpolation bar; stop: stop tracking color patch leftInterpolateColor: ImagerColor.RGB _ [1,1,1], rightInterpolateColor: ImagerColor.RGB _ [1,1,1], rgb: ImagerColor.RGB _ [0,0,0], hsv: ImagerColor.HSV _ [0,0,0], hsl: ImagerColor.HSL _ [0,0,0], yiq: ImagerColor.YIQ _ [0,0,0], argybA: REAL _ 0.0, argybRg: REAL _ 0.0, argybYb: REAL _ 0.0, cslC: CNSColor.CSLChroma _ CNSColor.red, cslS: CNSColor.CSLSaturation _ CNSColor.vivid, cslL: CNSColor.CSLLightness _ CNSColor.medium ]; END.