7 typedef enum rect_side_t {
16 typedef struct rect_t {
20 typedef struct line_t {
25 rect_t rect(float x, float y, float w, float h);
26 rect_t rect_from_vecs(point_t position, vec_t size);
27 rect_t rect_from_sdl(const SDL_Rect *rect);
29 rect_t rects_overlap_area(rect_t rect1, rect_t rect2);
31 int rect_contains_point(rect_t rect, point_t p);
33 int rects_overlap(rect_t rect1, rect_t rect2);
35 void rect_object_impact(const rect_t *object,
36 const rect_t *obstacle,
39 line_t rect_side(rect_t rect, rect_side_t side);
41 rect_t rect_from_point(point_t p, float w, float h);
43 float line_length(line_t line);
45 SDL_Rect rect_for_sdl(rect_t rect);