RECTANGL.LST 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. Listing:
  2. 1 DEFINITION MODULE Rectangles;
  3. 2 (*
  4. 3 * REPERTOIRE
  5. 4 * Release 1.6
  6. 5 * By Charles Bradford and Cole Brecheen
  7. 6 * (c) Copyright 1985-1992 PMI
  8. 7 * Green Bay, Wisconsin
  9. 8 * All rights reserved
  10. 9 * (414) 468-6040
  11. 10 *
  12. 11 * $Header: D:/logfiles/defs/rectangl.dev 1.4 30 Dec 1990 18:03:54 coleb $
  13. 12 *
  14. 13 *)
  15. 14
  16. 15
  17. 16
  18. 17 TYPE
  19. 18 APoint =
  20. 19 RECORD
  21. 20 col, row : INTEGER;
  22. 21 END;
  23. ***** ^ not supported yet
  24. 22
  25. 23 ALine =
  26. 24 RECORD
  27. 25 p1, p2 : APoint;
  28. 26 END;
  29. ***** ^ not supported yet
  30. 27
  31. 28 ARectangle =
  32. 29 RECORD
  33. 30 CASE : BOOLEAN OF
  34. ***** ^ not supported yet
  35. ***** ^ 'POINTER' expected
  36. 31 TRUE :
  37. 32 TopLeft, BottomRight : APoint;
  38. 33 | FALSE :
  39. 34 col1, row1, col2, row2 : INTEGER;
  40. 35 END;
  41. 36 END;
  42. 37
  43. 38 PROCEDURE PointInside(VAR p : APoint; VAR r :
  44. 39 ARectangle) : BOOLEAN;
  45. 40
  46. 41 PROCEDURE Distance(p1, p2 : APoint) : CARDINAL;
  47. 42
  48. 43 PROCEDURE RectsIntersect(VAR r1, r2,
  49. 44 intersection : ARectangle) : BOOLEAN;
  50. 45
  51. 46 PROCEDURE LineInside(TheLine : ALine; r :
  52. 47 ARectangle; VAR intersection : ALine) :
  53. 48 BOOLEAN;
  54. 49
  55. 50 PROCEDURE DefineRectangle(VAR r : ARectangle;
  56. 51 col1, row1, col2, row2 : INTEGER);
  57. 52
  58. 53 PROCEDURE DefineByPoints(VAR r : ARectangle;
  59. 54 TopLeft, BottomRight : APoint);
  60. 55
  61. 56 PROCEDURE RectIsInside( VAR r1, r2 : ARectangle
  62. 57 ): BOOLEAN;
  63. 58
  64. 59 PROCEDURE ShrinkRect( VAR r : ARectangle );
  65. 60
  66. 61 PROCEDURE ExpandRect( VAR r : ARectangle );
  67. 62
  68. 63 PROCEDURE Init();
  69. 64
  70. 65 END Rectangles.
  71. 4 errors