DIRECTORY Rope USING [ROPE], Tioga USING [Looks, CharSet, PropList], ViewerClasses USING [Viewer, ViewerRec]; TypeScript: CEDAR DEFINITIONS = BEGIN TS: TYPE = ViewerClasses.Viewer; Create: PROC [info: ViewerClasses.ViewerRec, paint: BOOL ¬ TRUE] RETURNS [ts: TS]; IsATypeScript: PROC [ts: TS] RETURNS [yes: BOOL]; Destroy: PROC [ts: TS]; Reset: PROC [ts: TS]; PutChar: PROC [ts: TS, char: CHAR]; PutRope: PROC [ts: TS, rope: Rope.ROPE]; PutText: PROC [ts: TS, text: REF READONLY TEXT, start: NAT ¬ 0, stopPlusOne: NAT ¬ LAST[NAT]]; BackSpace: PROC [ts: TS, count: INT ¬ 1]; ChangeLooks: PROC [ts: TS, look: CHAR]; Looks: TYPE ~ Tioga.Looks; CharSet: TYPE ~ Tioga.CharSet; PropList: TYPE ~ Tioga.PropList; ModifyLooks: PROC [ts: TS, remove, add: Looks]; SetLooks: PROC [ts: TS, looks: Looks]; GetLooks: PROC [ts: TS] RETURNS [Looks]; SetCharSet: PROC [ts: TS, charSet: CharSet]; GetCharSet: PROC [ts: TS] RETURNS [CharSet]; SetCharProps: PROC [ts: TS, charProps: PropList]; GetCharProps: PROC [ts: TS] RETURNS [PropList]; GetChar: PROC [ts: TS] RETURNS [char: CHAR]; CharsAvailable: PROC [ts: TS] RETURNS [BOOL]; TypeIn: PROC [ts: TS, input: REF ANY]; InsertRopeAtFrontOfBuffer: PROC [ts: TS, rope: Rope.ROPE]; InsertCharAtFrontOfBuffer: PROC [ts: TS, char: CHAR]; Flush: PROC [ts: TS]; WaitUntilIdle: PROC [ts: TS]; WaitUntilCharsAvail: PROC [ts: TS]; Destroyed: ERROR [ts: TS]; END. ΐ TypeScript.mesa Copyright Σ 1985, 1986, 1991 by Xerox Corporation. All rights reserved. Edited by Paxton on January 4, 1983 2:31 pm Last Edited by: Maxwell, January 5, 1983 9:57 am Last Edited by: Teitelman, January 10, 1983 1:09 pm Michael Plass, March 21, 1985 3:03:37 pm PST Doug Wyatt, October 22, 1991 5:13 pm PDT Creating and destroying typescripts Destroys typescript viewer and related data structures Erases all the typescript text data and clears the screen. Output to typescript Delete character(s) from end of ts. look char in 'a..'z means add that look in 'A..'Z means remove blank means remove all looks Input from typescript RETURNS TRUE if no chars waiting. Simulate user typein to a typescript can be REF CHAR, ROPE, REF TEXT, or ATOM (be careful). This will be the next thing read, even if there are characters waiting in the input buffer. Synchronization This won't return until echo buffer has been emptied and all chars inserted in ts. (done automatically by BackSpace, AddLooks, and ClearLooks)' This won't return until input buffer has been emptied and input process is waiting in GetChar for more characters. This won't return until a character is available to GetChar. Errors Κρ•NewlineDelimiter –(cedarcode) style™codešœ™Kšœ Οeœ=™HKšœ+™+Kšœ0™0Kšœ3™3K™,K™(—K˜šΟk ˜ Kšœžœžœ˜Kšœžœ˜'Kšœžœ˜(—K˜KšΟn œžœž ˜Kšœž˜head™#Kšžœžœ˜ K˜š Ÿœžœ(žœžœžœžœ˜RK˜—š Ÿ œžœžœžœžœ˜1K˜—šŸœžœžœ˜Kšœ6™6K˜—šŸœžœžœ˜Kšœ:™:K™——šœ™šŸœžœžœžœ˜#K˜—šŸœžœžœ žœ˜(K˜—šŸœžœžœžœžœžœ žœžœžœžœ˜_K˜—šŸ œžœžœ žœ˜)Kšœ#™#K˜—šŸ œžœžœžœ˜'Kšœ'™'Kšœ™Kšœ™K™—Kšœžœ˜Kšœ žœ˜Kšœ žœ˜ K˜šŸ œžœžœ˜/K™—šŸœžœžœ˜&K™—šŸœžœžœžœ ˜(K˜—šŸ œžœžœ˜,K˜—šŸ œžœžœžœ ˜,K˜—šŸ œžœžœ˜1K˜—šŸ œžœžœžœ ˜/K˜——šœ™š Ÿœžœžœžœžœ˜,K˜—š Ÿœžœžœžœžœ˜-Kšœ!™!K˜—š Ÿœžœžœ žœžœ˜&Kšœ$™$Kšœ6™6K˜—šŸœžœžœ žœ˜:K™[K˜—šŸœžœžœžœ˜5K˜——™šŸœžœžœ˜Kšœ™K˜—šŸ œžœžœ˜Kšœr™rK™—šŸœžœžœ˜#Kšœ<™