|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T v
Length: 2886 (0xb46) Types: TextFile Names: »vis550vdu.mod«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89 └─⟦this⟧ »./DVIware/crt-viewers/others/dvitovdu/src/vis550vdu.mod« └─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12 └─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z« └─⟦ca79c7339⟧ └─⟦this⟧ »DVIware/crt-viewers/others/dvitovdu/src/vis550vdu.mod«
IMPLEMENTATION MODULE vis550vdu; (* Author: Andrew Trevorrow Implementation: Modula-2 under VAX/UNIX 4.2 BSD Date Started: June, 1986 Description: Implements the InitVIS550 procedure that initializes the generic VDU routines and parameters used in DVItoVDU. The VIS550 VDU has an Alphanumeric mode in which it behaves like a VT100, but it can also emulate a Tektronix 4010 terminal in which the screen is 1024 pixels wide by 780 pixels high. The VIS550 is, therefore, almost exactly the same as the VT640 VDU, but can do rectangular draw and fill like the VIS500, and terse mode characters need to be dragged down. *) FROM vduinterface IMPORT (* PROCEDURE variables: *) StartText, MoveToTextLine, ClearTextLine, ClearScreen, StartGraphics, LoadFont, ShowChar, ShowRectangle, ResetVDU, (* INTEGER variables: *) DVIstatusl, windowstatusl, messagel, commandl, bottoml, windowv, windowh, windowht, windowwd; FROM tek4010vdu IMPORT TEK4010StartText, TEK4010StartGraphics, TEK4010LoadFont; FROM vt640vdu IMPORT VT640MoveToTextLine, VT640ClearTextLine, VT640ClearScreen; FROM vis500vdu IMPORT VIS500ShowChar, VIS500ShowRectangle, VIS500ResetVDU; FROM screenio IMPORT Write; CONST CAN = 30C; ESC = 33C; GS = 35C; (******************************************************************************) PROCEDURE InitVIS550; (* The dialog region will be the top 4 text lines in VT100 mode: Line 1 = DVI status line, Line 2 = window status line, Line 3 = message line, Line 4 = command line. The window region will be text lines 5 to 33 in VT100 mode. *) BEGIN DVIstatusl := 1; (* DVItoVDU assumes top text line = 1 *) windowstatusl := 2; messagel := 3; commandl := 4; bottoml := 33; (* also number of text lines on screen *) (* The above values assume the VIS550 is in VT100 mode; the following values assume it is emulating a Tektronix 4010. Note that windowv must be given a value using DVItoVDU's coordinate scheme where top left pixel is (0,0). *) windowv := 92; (* approx. height in TEK4010 pixels of 4 text lines i.e. ~ 4 * 780/34 *) windowh := 0; windowht := 780-windowv; windowwd := 1024; MoveToTextLine := VT640MoveToTextLine; ClearTextLine := VT640ClearTextLine; ClearScreen := VT640ClearScreen; StartText := TEK4010StartText; StartGraphics := TEK4010StartGraphics; LoadFont := TEK4010LoadFont; ShowChar := VIS500ShowChar; ShowRectangle := VIS500ShowRectangle; ResetVDU := VIS500ResetVDU; Write(GS); Write(ESC); Write('@'); (* solid fill for rectangular draw and fill *) Write(CAN); END InitVIS550; (******************************************************************************) BEGIN END vis550vdu.