<> <> <> <> <<>> DIRECTORY GraphicsBasic USING [Color]; CGColorWithCIE: CEDAR DEFINITIONS = { Color: TYPE = GraphicsBasic.Color; GetStipple: PROC[color: Color] RETURNS[CARDINAL] = INLINE { RETURN[color.g*256+color.b] }; -- get a color's stipple pattern, assuming color.tag = stipple <> <> --h=undefined means it's a gray. 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]; <<--HSL double hexacone model.>> <> <> <> InitCIE: PROC[xr,yr,xg,yg,xb,yb: REAL, whiteY: REAL _ 1]; <> PhosphorType: TYPE = {long,normal}; InitDefaultCIE: PROC[type: PhosphorType _ long]; <> 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] RETURNS[r, g, b: REAL]; GetMaxY: PUBLIC PROC[x,y: REAL] RETURNS[Y: REAL]; <> RGBToCIE: PROC[r, g, b: REAL] RETURNS [x,y, Y: REAL]; }.