-- second definitions module for silicon (pretty picture) program -- modified by McCreight, March 27, 1983 2:45 PM -- modified by Petit, September 18, 1981 2:40 PM DIRECTORY SegmentDefs, multiGraphicsDefs, ppdefs, StreamDefs; ppddefs: DEFINITIONS IMPORTS ppdefs, SegmentDefs, multiGraphicsDefs, StreamDefs = BEGIN OPEN ppdefs, multiGraphicsDefs, StreamDefs; --***** exports from ppkint: initkbd: PROCEDURE [POINTER TO ARRAY [0..15] OF CARDINAL, POINTER TO Bitmap]; getKchr: PROCEDURE RETURNS [keyEvent]; anyKavail: PROCEDURE RETURNS [BOOLEAN]; -- **** exports from ppdraw: cTabCnt: CARDINAL; colorTabs: LONG POINTER TO ARRAY [0..0) OF ARRAY [0..49) OF CARDINAL; currentCTab: CARDINAL; anyCTChanges: BOOLEAN; orLtab: ARRAY level OF CARDINAL; showColorLevel: ARRAY level OF BOOLEAN; xBWsize: CARDINAL = 606; yBWMax: CARDINAL = 808; bwFeedTop: CARDINAL = 640; xColorMax: CARDINAL = IF csHor THEN 640 ELSE 480; xMax: CARDINAL = xColorMax + xBWsize; yColorMax: CARDINAL = IF csHor THEN 480 ELSE 640; colPatNum:CARDINAL=8; colPatternTabs:ARRAY [0..colPatNum) OF ARRAY level OF CARDINAL; colPatternBits:ARRAY [0..colPatNum) OF CARDINAL; currentPattern:CARDINAL; savCBbox: Rect; -- where the color screen is on the design bwCurs, bwCursI: ARRAY [0..15] OF CARDINAL; cursorBox, insideCBox: Bitmap; Pixel: TYPE = INTEGER; ScreenRect: TYPE = Rect; -- should really be a separate type initAll: PROCEDURE; updateColor, updateBW: PROC; -- actually processes writeCTab: PROCEDURE; setGlev: PROCEDURE [c, cc, v: INTEGER]; invertColors: PROCEDURE; restoreColors: PROCEDURE; setColorTable: PROCEDURE [CARDINAL]; getCurrenColor: PROCEDURE [c, cc: INTEGER] RETURNS [INTEGER]; deScaledCursor: PROCEDURE [x, y: INTEGER] RETURNS [BOOLEAN, INTEGER, INTEGER]; bwscaleRect: PROCEDURE [x1, y1, x2, y2: INTEGER] RETURNS [BOOLEAN, INTEGER, INTEGER, INTEGER, INTEGER]; cscaleRect: PROCEDURE [x1, y1, x2, y2: INTEGER] RETURNS [BOOLEAN, INTEGER, INTEGER, INTEGER, INTEGER]; --orArea:PROCEDURE[w,x,y,z:INTEGER,l:level]; outlineBW: PROCEDURE [w, x, y, z: INTEGER, q: color, clip: POINTER TO Rect]; outlineCol: PROCEDURE [w, x, y, z: INTEGER, q: color, clip: POINTER TO Rect]; orColArea: PROCEDURE [w, x, y, z: INTEGER, l: level, clip: POINTER TO Rect]; orBwArea: PROCEDURE [w, x, y, z: INTEGER, l: level, clip: POINTER TO Rect]; repColArea: PROCEDURE [w, x, y, z: INTEGER, l: level, clip: POINTER TO Rect]; repBwArea: PROCEDURE [w, x, y, z: INTEGER, l: level, clip: POINTER TO Rect]; eraseScreen: PROCEDURE [w, x, y, z: INTEGER]; --eraseArea:PROCEDURE[w,x,y,z:INTEGER]; eraseColArea: PROCEDURE [w, x, y, z: INTEGER]; eraseBwArea: PROCEDURE [w, x, y, z: INTEGER]; --drawArea: PROCEDURE[w,x,y,z:INTEGER,c:color]; setSelColor: PROCEDURE [a: CARDINAL]; drawMark: PROCEDURE [x, y: INTEGER]; drawBWText: PROCEDURE [x, y, sx, sy: INTEGER, s: STRING, clip: POINTER TO Rect]; drawString: PROCEDURE [s: STRING, x, y: INTEGER]; -- ***** exports from ppio: readChip: PROC [get: PROC RETURNS [UNSPECIFIED]] RETURNS[masterList: listPtr, cellList: cListPtr, cellStack: cellSEPtr]; readAll: PROCEDURE [get: PROC RETURNS [UNSPECIFIED]]; openIfile: PROCEDURE [fname: STRING] RETURNS [StreamDefs.DiskHandle]; openOTfile: PROCEDURE [fname: STRING] RETURNS [BOOLEAN]; hardOut: PROCEDURE [fn: STRING, lp: listPtr]; scanLine: PROCEDURE [s: STRING, i: CARDINAL] RETURNS [v: INTEGER, j: CARDINAL, any: BOOLEAN]; rdErfLine: PROCEDURE RETURNS [x, y: INTEGER, s: STRING, nums: BOOLEAN]; openErfile: PROCEDURE [fname: STRING] RETURNS [BOOLEAN]; -- ******** Exports from ppprocs2: cellNameMode: BOOLEAN; cnList: listPtr; doZee: cmdProc; delCellDef: PROCEDURE [ cn: cListPtr, ob: cellPtr]; doHard: cmdProc; doExpS, doExpP: cmdProc; reCount: PROCEDURE; selSingle: PROCEDURE [mp: listPtr, xx, yy: INTEGER]; selExtend: PROCEDURE [mp: listPtr, xx, yy: INTEGER]; selNewThing: PROCEDURE [mp, lp: listPtr, unOthers: BOOLEAN]; unselSingle: PROCEDURE [mp: listPtr, xx, yy: INTEGER]; selAreaSingle: PROCEDURE [mp: listPtr, xx, yy: INTEGER]; selAreaExtend: PROCEDURE [mp: listPtr, xx, yy: INTEGER]; unselAreaSingle: PROCEDURE [mp: listPtr, xx, yy: INTEGER]; rotReflSel: PROCEDURE [refl: BOOLEAN]; rotReflPnt: PROCEDURE [refl: BOOLEAN, xx, yy: INTEGER]; copyProps: PUBLIC PROCEDURE [n, o: listPtr]; getErfil: cmdProc; enterText: cmdProc; enterName: cmdProc; -- ******** Exports from ppprocs3: insertList: PROCEDURE [mp, lp: listPtr] RETURNS [listPtr]; --********* exports from ppspace: alocProp: PROCEDURE RETURNS [p: propPtr]; alocRectList: PROCEDURE RETURNS [p: LONG POINTER TO rectList]; returnRectList: PROCEDURE [p: LONG POINTER TO rectList]; -- **** exports from ppprocs6: putMark: PROCEDURE [xx, yy: INTEGER, bw:BOOLEAN←FALSE]; -- ***** exports from ppfeed: dChange: BOOLEAN; HideColor, ShowColor: PROC [l: level]; END.