MIX_M2P.PAS 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. PROGRAM Mix_M2P;
  2. IMPORT GWINM2P,PasDos,Graph;
  3. TYPE
  4. A6G=ARRAY[1..6] OF GWinM2P.GCoord;
  5. A4G=ARRAY[1..4] OF GWinM2P.GCoord;
  6. VAR
  7. W:GWinM2P.GWindow;
  8. it:int16;
  9. penx,peny:A6G;
  10. trix,triy:A4G;
  11. I:int16;
  12. Waste:ARRAY [1..100] OF CHAR;
  13. BEGIN
  14. W.Open(0,0,1024,1024,4);
  15. FOR it:=0 TO 4 DO BEGIN
  16. W.ReSize(it*75,it*75,1024-it*25,1024-it*25);
  17. W.SetColor(1,0);
  18. W.Clear(-1);
  19. penx:=A6G(300,700,1000,512,30,0);
  20. peny:=A6G(1000,1000,300,10,300,0);
  21. trix:=A4G(300,700,512,0);
  22. triy:=A4G(800,800,300,0);
  23. W.Polygon(5,ADR(penx),ADR(peny),-1);
  24. W.Polygon(3,ADR(trix),ADR(triy),-1);
  25. W.Fill(512,900,-1,true);
  26. W.SetColor(3,-1);
  27. W.CursorPosition(200,512);
  28. StrToZ('Modula-2/Pascal Graphics Library Class Interface',Waste);
  29. Graph.OutText(Waste);
  30. FOR I:=0 TO 1023 DO BEGIN
  31. W.SetColor(i,-1);
  32. W.Plot(i,i,-1);
  33. W.Plot(i,1024-i,-1)
  34. END;
  35. W.SetColor(4,-1);
  36. I:=511;
  37. WHILE I>0 DO BEGIN
  38. W.EllipticArc(512,512,I,I,I,I+90);
  39. I:=I-20
  40. END;
  41. I:=0;
  42. WHILE I<360 DO BEGIN
  43. W.SetColor(i DIV 30,-1);
  44. W.EllipticPie(900,500,100,500,I,I+30,1);
  45. I:=I+30
  46. END;
  47. I:=900;
  48. WHILE I>0 DO BEGIN
  49. W.SetColor(i div 100+1,-1);
  50. W.Cuboid(1000-i,i,i div 10,i div 10,i div 10,0,0);
  51. I:=I-100
  52. END;
  53. W.CursorPosition(362,512+W.CharHeight);
  54. StrToZ('Press any key to continue',Waste);
  55. Graph.OutText(Waste);
  56. IF (PasDos.RdKey=0C) AND (PasDos.RdKey=0C) THEN;
  57. END;
  58. W.Close;
  59. END.
  60.