diff options
Diffstat (limited to 'rect.c')
-rw-r--r-- | rect.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -8,3 +8,28 @@ Rectangle make_rect(int x, int y, int w, int h) { r.h = h; return r; } + +int rects_overlap(const Rectangle* a, const Rectangle* b) { + return + a->x + a->w > b->x && + a->y + a->h > b->y && + a->x < b->x + b->w && + a->y < b->y + b->h; +} + +int rects_overlap2( + int x0, + int y0, + int w0, + int h0, + int x1, + int y1, + int w1, + int h1 +) { + return + x0 + w0 > x1 && + y0 + h0 > y1 && + x0 < x1 + w1 && + y0 < y1 + h1; +} |