The intersectionrectangle( function creates a rectangle by combining two rectangles. The new rectangle is the area where the two rectangles overlap (if any).
This function has two parameters:
rectangle1 – is the first rectangle.
rectangle2 – is the second rectangle.
The intersectionrectangle( function creates a rectangle by combining two rectangles. The new rectangle is the area where the two rectangles overlap (if any). If these two rectangles do not touch each other the function will return an empty rectangle (the same as rectangle(0,0,0,0) ). A rectangle is a raw binary data value (see Binary Data, Graphic Coordinates).
The illustration below shows how this function combines two rectangles, creating a third rectangle where the original two rectangles overlap:
The intersectionrectangle( function can be used to check if two rectangles overlap each other. The procedure below checks to see if the current window is on the main screen, or if it is on another screen.
info("screenrectangle")) = rectangle(0,0,0,0)
message "This window is completely off the main screen"
message "This window is partially on the main screen"
adjustxy( -- adjusts the four corners of a rectangle. However, only corners
that are inside a boundary are adjusted. Corners outside the boundary are left alone.
bestfitrectangle -- fits a rectangle within a boundary rectangle, enlarging or reducing as necessary to produce the best fit without changing the proportions.
bestfitrectangle( -- fits a rectangle within a boundary rectangle, enlarging or reducing as necessary to produce the best fit without changing the proportions.
xytoxy( -- converts a point or rectangle from one co-ordinate system to another.
Unlike Panorama 6 and earlier, the parameters to this function are floating point values instead of integers (it will also accept integers). Also, the rectangle produced by this function is a 32 byte binary value, instead of an 8 byte text value.