home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1991-04-09 | 1.3 KB | 89 lines |
- IMPLEMENTATION MODULE CPCShowAll;
-
-
-
- FROM ASCII
- IMPORT nul;
-
- FROM CPCGlobal
- IMPORT window,rastport,lstring,xmax,ymax,blankC,text,yoff,topaz;
-
- FROM CrossFont
- IMPORT CreateFont;
-
- FROM Exec
- IMPORT InterruptPtr;
-
- FROM Graphics
- IMPORT SetAPen,SetBPen,SetFont,Move,Text,TextFontPtr;
-
- IMPORT IntuiIO;
-
- FROM Interrupts
- IMPORT AddInterrupt,RemInterrupt,StackCheckOn,StackCheckOff,InterruptType;
-
- FROM Strings
- IMPORT Insert,Length,last;
-
- FROM SYSTEM
- IMPORT ADR;
-
-
-
- CONST
- xsize=7;
- ysize=6;
-
-
-
- VAR
- crossfont: TextFontPtr;
- initialized: BOOLEAN;
-
-
-
- PROCEDURE ShowAll;
- VAR
- xloop,yloop: INTEGER;
- line: lstring;
- BEGIN
- FOR yloop:=1 TO ymax DO
- FOR xloop:=1 TO xmax DO
- IF (text[xloop,yloop]=nul) THEN
- line[xloop-1]:=blankC;
- ELSE
- line[xloop-1]:=text[xloop,yloop];
- END;
- END;
- line[xloop-1]:=nul;
- SetAPen(rastport,1);
- SetFont(rastport,crossfont);
- IntuiIO.Print(window,line,0,(yloop-1)*ysize+yoff);
- END;
- END ShowAll;
-
-
-
- PROCEDURE CharPos(VAR cx,cy: INTEGER);
- BEGIN
- cx:=(cx DIV xsize);
- cy:=((cy-yoff) DIV ysize);
- IF (cx<0) OR (cx>xmax-1) THEN
- cx:=-1;
- cy:=-1;
- END;
- IF (cy<0) OR (cy>ymax-1) THEN
- cx:=-1;
- cy:=-1;
- END;
- END CharPos;
-
-
-
- BEGIN
- IF NOT initialized THEN
- initialized:=TRUE;
- crossfont:=CreateFont();
- END;
- END CPCShowAll.
-