RECTANGL.DEF 1.4 KB

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