home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
pmos2002.zip
/
DEF
/
SCREENGE.DEF
< prev
next >
Wrap
Text File
|
1993-10-06
|
1KB
|
42 lines
DEFINITION MODULE ScreenGeometry;
(********************************************************)
(* *)
(* Support module for screen graphics *)
(* *)
(* Programmer: P. Moylan *)
(* Last edited: 6 October 1993 *)
(* Status: OK *)
(* *)
(********************************************************)
TYPE
Point = RECORD
x, y: INTEGER;
END (*RECORD*);
Rectangle = RECORD
top, bottom, left, right: INTEGER;
END (*RECORD*);
(************************************************************************)
PROCEDURE Inside (x, y: INTEGER; R: Rectangle): BOOLEAN;
(* Returns TRUE iff point (x,y) is in (or on the border of) R. *)
PROCEDURE Adjacent (R1, R2: Rectangle;
VAR (*OUT*) union: Rectangle): BOOLEAN;
(* If the union of R1 and R2 is itself a rectangle, returns TRUE *)
(* and sets "union" to be the combined rectangle. Otherwise *)
(* returns FALSE, and the "union" result is meaningless. *)
PROCEDURE TrimLine (VAR (*INOUT*) end1, end2: Point; R: Rectangle): BOOLEAN;
(* Modifies end1 and end2, if necessary, to cut off the ends of *)
(* the line from end1 to end2 which do not fit in R. *)
(* Returns FALSE if none of the line passes through the rectangle. *)
END ScreenGeometry.