6 #include "math/point.h"
8 typedef enum Rect_side {
26 Rect rect(float x, float y, float w, float h);
27 Rect rect_from_vecs(Point position, Vec size);
28 Rect rect_from_points(Point p1, Point p2);
29 Rect rect_from_sdl(const SDL_Rect *rect);
31 Rect rects_overlap_area(Rect rect1, Rect rect2);
33 int rect_contains_point(Rect rect, Point p);
35 int rects_overlap(Rect rect1, Rect rect2);
37 void rect_object_impact(Rect object,
41 Line rect_side(Rect rect, Rect_side side);
43 Rect rect_from_point(Point p, float w, float h);
45 float line_length(Line line);
47 SDL_Rect rect_for_sdl(Rect rect);
49 Vec rect_center(Rect rect);
51 Vec rect_snap(Rect pivot, Rect *rect);
52 Vec rect_impulse(Rect *r1, Rect *r2);