color/src/ColorNameF.i3


Copyright (C) 1994, Digital Equipment Corp.
Created by meehan on Fri Aug 14 22:09:04 PDT 1992

INTERFACE ColorNameF;

IMPORT Color, ColorName, TextIntTbl, TextRefTbl;

VAR table: TextIntTbl.T;
Maps NormalizeName(name) to index into Basic. Used for name -> color.

TYPE Cache = MUTEX OBJECT table: TextRefTbl.T END;

VAR nameCache: Cache;
cache of normalized names that have been looked up:

PROCEDURE NormalizeName (a: TEXT): TEXT;
Deletes all whitespace in a and converts to lower case

TYPE NotInTable = PROCEDURE (name: TEXT): Color.T RAISES {ColorName.NotFound};

PROCEDURE LowerCaseToRGB (name: TEXT; p: NotInTable): Color.T
  RAISES {ColorName.NotFound};

END ColorNameF.