summaryrefslogtreecommitdiff
path: root/rect.h
diff options
context:
space:
mode:
Diffstat (limited to 'rect.h')
-rw-r--r--rect.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/rect.h b/rect.h
new file mode 100644
index 0000000..4d6a88f
--- /dev/null
+++ b/rect.h
@@ -0,0 +1,43 @@
+#ifndef rect_h
+#define rect_h
+
+typedef struct {
+ int x, y, w, h;
+} Rectangle;
+
+Rectangle make_rect(int x, int y, int w, int h);
+
+int rects_overlap(const Rectangle* a, const Rectangle* b);
+int rects_overlap2(
+ int x0,
+ int y0,
+ int w0,
+ int h0,
+ int x1,
+ int y1,
+ int w1,
+ int h1
+);
+int point_rect_overlap(
+ const Rectangle* r,
+ int px,
+ int py
+);
+int point_rect_overlap2(
+ int x,
+ int y,
+ int w,
+ int h,
+ int px,
+ int py
+);
+Rectangle rect_intersect(
+ const Rectangle* a,
+ const Rectangle* b
+);
+Rectangle* rect_merge(
+ Rectangle* d,
+ const Rectangle* r
+);
+
+#endif