<> <> -- Last edited by Maureen Stone, February 10, 1984 4:18:42 pm PST <<-- Last Edited by: Pier, January 18, 1984 12:54 pm>> -- Last edited by Frank Crow, April 16, 1984 3:23:27 pm PST ColorModels: CEDAR DEFINITIONS = { <> <> <> <> <> <> <> <> <> InvalidColor, Uninitialized: SIGNAL; undefined: REAL = -1; HSVToRGB: PROC[h, s, v: REAL] RETURNS[r, g, b: REAL]; RGBToHSV: PROC[r, g, b: REAL] RETURNS[h, s, v: REAL]; <<--HSV hexacone model.>> HSLToRGB: PROC[h, s, l: REAL] RETURNS[r, g, b: REAL]; RGBToHSL: PROC[r, g, b: REAL] RETURNS[h, s, l: REAL]; <> <> <> <> <> <> <> <<>> Real0: TYPE = REAL _ 0; Matrix3: TYPE = ARRAY [0..3) OF Row3; Row3: TYPE = ARRAY [0..3) OF Real0; Column3: TYPE = ARRAY [0..3) OF Real0; Calibration: TYPE = REF CalibrationRec; CalibrationRec: TYPE=RECORD [ toCIE: Matrix3, --rgb to cie matrix toRGB: Matrix3, --cie to rgb matrix yScale: REAL ]; InitCIE: PROC[xr,yr,xg,yg,xb,yb: REAL, whiteY: REAL _ 1.0] RETURNS [calibration: Calibration]; <> PhosphorType: TYPE = ATOM; -- $ConracLP, $HitachiLP, etc. GetPhosphorCalibration: PROC[type: PhosphorType _ $DefaultLP] RETURNS [calibration: Calibration]; RegisterPhosphorCalibration: PROC[xr,yr,xg,yg,xb,yb: REAL, type: PhosphorType]; GetDefaultValues: PROC[type: PhosphorType] RETURNS[xr,yr,xg,yg,xb,yb: REAL]; SetDefaultValues: PROC[xr,yr,xg,yg,xb,yb: REAL, type: PhosphorType]; CIEToRGB: PROC[x,y, Y: REAL, calibration: Calibration] RETURNS[r, g, b: REAL]; <> GetMaxY: PUBLIC PROC[x,y: REAL, calibration: Calibration] RETURNS[Y: REAL]; <> RGBToCIE: PROC[r, g, b: REAL, calibration: Calibration] RETURNS [x,y, Y: REAL]; }.