Copyright (C) 1994, Digital Equipment Corp.
by Steve Glassman, Mark Manasse and Greg Nelson
<*PRAGMA LL*> INTERFACEEach entry in a palette can be NIL, or a distinguished value to indicate that it is under evaluation. Each palette will be allocated large enough to contain every entry, even if it isn't resolved.PlttFrnds ;
IMPORT ScrnPaintOp, ScrnFont, ScrnCursor, ScrnPixmap, Palette, PaintOp, Font, Pixmap, Cursor; TYPE Context = MUTEX OBJECT ops: REF ARRAY OF Palette.OpClosure := NIL; nextOp := NUMBER(PaintOp.Predefined); fonts: REF ARRAY OF Palette.FontClosure := NIL; nextFont := NUMBER(Font.Predefined); cursors: REF ARRAY OF Palette.CursorClosure := NIL; nextCursor := NUMBER(Cursor.Predefined); pixmaps: REF ARRAY OF Palette.PixmapClosure := NIL; nextPixmap := NUMBER(Pixmap.Predefined) END; VAR con: Context; noOp: ScrnPaintOp.T; noFont: ScrnFont.T; noCursor: ScrnCursor.T; noPixmap:ScrnPixmap.T; END PlttFrnds.