<> <> <> <<>> DIRECTORY ColorTrixBasics, ColorTrixMap, Imager, Rope; <<>> ColorTrixMisc: CEDAR DEFINITIONS ~ BEGIN <> Cmap: TYPE ~ ColorTrixMap.Cmap; PixelMapMisc: TYPE ~ ColorTrixBasics.PixelMapMisc; MouseState: TYPE ~ {down, held, up}; MouseButton: TYPE ~ {left, middle, right}; MouseInfo: TYPE ~ RECORD [ pm: PixelMapMisc, cmap: Cmap, x, y: INTEGER, state: MouseState, button: MouseButton]; MouseProc: TYPE ~ PROC [mouse: MouseInfo, data: REF ANY]; << Called whenever mouse is down over the color display.>> ChangeProc: TYPE ~ PROC [pmMisc: PixelMapMisc, cmap: Cmap, data: REF ANY]; << Called whenever the color display changes state.>> <<>> ClientRecord: TYPE ~ RECORD [ mouseProc: MouseProc _ NIL, changeProc: ChangeProc _ NIL, data: REF ANY _ NIL]; RegisterClient: PUBLIC PROC [clientRecord: ClientRecord, start: BOOL _ TRUE]; <> <> UnRegisterClient: PUBLIC PROC [clientRecord: ClientRecord]; <> <> UnRegisterAllClients: PUBLIC PROC; <> StartColorDisplayWatcher: PUBLIC PROC; <> <> <> StopColorDisplayWatcher: PUBLIC PROC; <> <> Color: TYPE ~ Imager.Color; Context: TYPE ~ Imager.Context; ROPE: TYPE ~ Rope.ROPE; PrintTiogaSelection: PUBLIC PROC [ x, y: NAT, color: Color _ NIL, context: Context _ NIL, screenStyle: BOOL _ FALSE] RETURNS [ROPE]; <> <> <> <> <> PrintRope: PUBLIC PROC [rope: ROPE, x, y: NAT, color: Color _ NIL, context: Context _ NIL]; <> END.