Top | ![]() |
![]() |
![]() |
![]() |
gboolean meta_rectangle_intersect (const MetaRectangle *src1
,const MetaRectangle *src2
,MetaRectangle *dest
);
src1 |
||
src2 |
another MetaRectangle |
|
dest |
an empty MetaRectangle, to be filled with the coordinates of the intersection. |
[out caller-allocates] |
gboolean meta_rectangle_equal (const MetaRectangle *src1
,const MetaRectangle *src2
);
void meta_rectangle_union (const MetaRectangle *rect1
,const MetaRectangle *rect2
,MetaRectangle *dest
);
rect1 |
||
rect2 |
another MetaRectangle |
|
dest |
an empty MetaRectangle, to be filled with the coordinates of the bounding box. |
[out caller-allocates] |
gboolean meta_rectangle_overlap (const MetaRectangle *rect1
,const MetaRectangle *rect2
);
gboolean meta_rectangle_vert_overlap (const MetaRectangle *rect1
,const MetaRectangle *rect2
);
gboolean meta_rectangle_horiz_overlap (const MetaRectangle *rect1
,const MetaRectangle *rect2
);
gboolean meta_rectangle_could_fit_rect (const MetaRectangle *outer_rect
,const MetaRectangle *inner_rect
);
gboolean meta_rectangle_contains_rect (const MetaRectangle *outer_rect
,const MetaRectangle *inner_rect
);
struct MetaStrut { MetaRectangle rect; MetaSide side; };
struct MetaEdge { MetaRectangle rect; /* width or height should be 1 */ MetaSide side_type; MetaEdgeType edge_type; };
MetaRectangle |
MetaRectangle with the bounds of the edge |
|
MetaSide |
Side |
|
MetaEdgeType |
To what belongs the edge |