| Top |
| MetaRectangle * | meta_rectangle_copy () |
| void | meta_rectangle_free () |
| MetaRectangle | meta_rect () |
| int | meta_rectangle_area () |
| gboolean | meta_rectangle_intersect () |
| gboolean | meta_rectangle_equal () |
| void | meta_rectangle_union () |
| gboolean | meta_rectangle_overlap () |
| gboolean | meta_rectangle_vert_overlap () |
| gboolean | meta_rectangle_horiz_overlap () |
| gboolean | meta_rectangle_could_fit_rect () |
| gboolean | meta_rectangle_contains_rect () |
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 |