#include <tickit.h> int tickit_rect_subtract(TickitRect dst, const TickitRect *orig, const TickitRect *hole);
Link with -ltickit.
tickit_rect_subtract() initialises the rectangle structures given by dst (which must be an array capable of containing at least four rectangle structures) with a set of non-overlapping rectangles covering the same area as that given by orig without covering hole. Depending on the geometry of the given rectangles it will create from zero to four resultant rectangles. It returns the number of rectangular regions initialised into the result array.
If hole completely covers orig then the result will contain no rectangles. If they do not intersect then just orig will be returned. Otherwise, the result will contain non-overlapping horizontal stripes of orig without hole.
tickit_rect_subtract() returns the number of rectangles written to dst.
tickit_rect_init_sized(3), tickit_rect_init_bounded(3), tickit_rect_intersect(3), tickit_rect_add(3), tickit_rect(7), tickit(7)
tickit_rect(7), tickit_rect_add(3), tickit_rect_intersect(3).