PROGRAM Mix_M2P; IMPORT GWINM2P,PasDos,Graph; TYPE A6G=ARRAY[1..6] OF GWinM2P.GCoord; A4G=ARRAY[1..4] OF GWinM2P.GCoord; VAR W:GWinM2P.GWindow; it:int16; penx,peny:A6G; trix,triy:A4G; I:int16; Waste:ARRAY [1..100] OF CHAR; BEGIN W.Open(0,0,1024,1024,4); FOR it:=0 TO 4 DO BEGIN W.ReSize(it*75,it*75,1024-it*25,1024-it*25); W.SetColor(1,0); W.Clear(-1); penx:=A6G(300,700,1000,512,30,0); peny:=A6G(1000,1000,300,10,300,0); trix:=A4G(300,700,512,0); triy:=A4G(800,800,300,0); W.Polygon(5,ADR(penx),ADR(peny),-1); W.Polygon(3,ADR(trix),ADR(triy),-1); W.Fill(512,900,-1,true); W.SetColor(3,-1); W.CursorPosition(200,512); StrToZ('Modula-2/Pascal Graphics Library Class Interface',Waste); Graph.OutText(Waste); FOR I:=0 TO 1023 DO BEGIN W.SetColor(i,-1); W.Plot(i,i,-1); W.Plot(i,1024-i,-1) END; W.SetColor(4,-1); I:=511; WHILE I>0 DO BEGIN W.EllipticArc(512,512,I,I,I,I+90); I:=I-20 END; I:=0; WHILE I<360 DO BEGIN W.SetColor(i DIV 30,-1); W.EllipticPie(900,500,100,500,I,I+30,1); I:=I+30 END; I:=900; WHILE I>0 DO BEGIN W.SetColor(i div 100+1,-1); W.Cuboid(1000-i,i,i div 10,i div 10,i div 10,0,0); I:=I-100 END; W.CursorPosition(362,512+W.CharHeight); StrToZ('Press any key to continue',Waste); Graph.OutText(Waste); IF (PasDos.RdKey=0C) AND (PasDos.RdKey=0C) THEN; END; W.Close; END.