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.