1
2pub fn rect_touching_rect(rect_1_pos: [f32; 2], rect_1_size: [f32; 2], rect_2_pos: [f32; 2], rect_2_size: [f32; 2]) -> bool
3{
4 !(rect_1_pos[0] + rect_1_size[0] < rect_2_pos[0])
5 && !(rect_2_pos[0] + rect_2_size[0] < rect_1_pos[0])
6 && !(rect_1_pos[1] + rect_1_size[1] < rect_2_pos[1])
7 && !(rect_2_pos[1] + rect_2_size[1] < rect_1_pos[1])
8}
9
10pub fn point_inside_rect(point: [f32; 2], rect_pos: [f32; 2], rect_size: [f32; 2]) -> bool
11{
12 rect_pos[0] < point[0]
13 && point[0] < rect_pos[0] + rect_size[0]
14 && rect_pos[1] < point[1]
15 && point[1] < rect_pos[1] + rect_size[1]
16}
17
18pub fn rect_inside_rect(rect_1_pos: [f32; 2], rect_1_size: [f32; 2], rect_2_pos: [f32; 2], rect_2_size: [f32; 2]) -> bool
19{
20 rect_2_pos[0] < rect_1_pos[0]
21 && rect_1_pos[0] + rect_1_size[0] < rect_2_pos[0] + rect_2_size[0]
22 && rect_2_pos[1] < rect_1_pos[1]
23 && rect_1_pos[1] + rect_1_size[1] < rect_2_pos[1] + rect_2_size[1]
24}