#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