Top | ![]() |
![]() |
![]() |
![]() |
GeglRectangle * gegl_rectangle_new (gint x
,gint y
,guint width
,guint height
);
Creates a new rectangle set with the values from x
, y
, width
and height
.
void gegl_rectangle_set (GeglRectangle *rectangle
,gint x
,gint y
,guint width
,guint height
);
Sets the x
, y
, width
and height
on rectangle
.
gboolean gegl_rectangle_equal (const GeglRectangle *rectangle1
,const GeglRectangle *rectangle2
);
Check if two GeglRectangles are equal.
Returns TRUE if rectangle
and rectangle2
are equal.
gboolean gegl_rectangle_equal_coords (const GeglRectangle *rectangle
,gint x
,gint y
,gint width
,gint height
);
Check if a rectangle is equal to a set of parameters.
Returns TRUE if rectangle
and x
,y
width
x height
are equal.
gboolean
gegl_rectangle_is_empty (const GeglRectangle *rectangle
);
Check if a rectangle has zero area.
Returns TRUE if the width or height of rectangle
is 0.
GeglRectangle *
gegl_rectangle_dup (const GeglRectangle *rectangle
);
Create a new copy of rectangle
.
void gegl_rectangle_copy (GeglRectangle *destination
,const GeglRectangle *source
);
Copies the rectangle information stored in source
over the information in
destination
.
destination
may point to the same object as source
.
gboolean gegl_rectangle_align (GeglRectangle *destination
,const GeglRectangle *rectangle
,const GeglRectangle *tile
,GeglRectangleAlignment alignment
);
Aligns rectangle
to a regular tile grid, of which tile
is a representative
tile, and stores the result in destination
.
alignment
can be one of:
GEGL_RECTANGLE_ALIGNMENT_SUBSET: Calculate the biggest aligned rectangle
contained in rectangle
.
GEGL_RECTANGLE_ALIGNMENT_SUPERSET: Calculate the smallest aligned
rectangle containing rectangle
.
GEGL_RECTANGLE_ALIGNMENT_NEAREST: Calculate the nearest aligned rectangle
to rectangle
.
destination
may point to the same object as rectangle
or tile
.
Returns TRUE if the result is not empty.
gboolean gegl_rectangle_align_to_buffer (GeglRectangle *destination
,const GeglRectangle *rectangle
,GeglBuffer *buffer
,GeglRectangleAlignment alignment
);
Aligns rectangle
to the tile grid of buffer
, and stores the result in
destination
.
alignment
has the same meaning as for gegl_rectangle_align()
.
destination
may point to the same object as rectangle
.
Returns TRUE if the result is not empty.
void gegl_rectangle_bounding_box (GeglRectangle *destination
,const GeglRectangle *source1
,const GeglRectangle *source2
);
Computes the bounding box of the rectangles source1
and source2
and stores the
resulting bounding box in destination
.
destination
may point to the same object as source1
or source2
.
gboolean gegl_rectangle_intersect (GeglRectangle *dest
,const GeglRectangle *src1
,const GeglRectangle *src2
);
Calculates the intersection of two rectangles. If the rectangles do not intersect, dest's width and height are set to 0 and its x and y values are undefined.
dest
may point to the same object as src1
or src2
.
Returns TRUE if the rectangles intersect.
gint gegl_rectangle_subtract (GeglRectangle destination[4]
,const GeglRectangle *minuend
,const GeglRectangle *subtrahend
);
Subtracts subtrahend
from minuend
, and stores the resulting rectangles in
destination
. Between 0 and 4 disjoint rectangles may be produced.
destination
may contain minuend
or subtrahend
.
Returns the number of resulting rectangles.
gboolean gegl_rectangle_subtract_bounding_box (GeglRectangle *destination
,const GeglRectangle *minuend
,const GeglRectangle *subtrahend
);
Computes the bounding box of the area formed by subtracting subtrahend
from minuend
, and stores the result in destination
.
destination
may point to the same object as minuend
or subtrahend
.
Returns TRUE if the result is not empty.
gint gegl_rectangle_xor (GeglRectangle destination[4]
,const GeglRectangle *source1
,const GeglRectangle *source2
);
Computes the symmetric difference of the rectangles source1
and source2
,
and stores the resulting rectangles in destination
. Between 0 and 4
disjoint rectangles may be produced.
destination
may contain rectangle1
or rectangle2
.
Returns the number of resulting rectangles.
gboolean gegl_rectangle_contains (const GeglRectangle *parent
,const GeglRectangle *child
);
Checks if the GeglRectangle child
is fully contained within parent
.
Returns TRUE if the child
is fully contained in parent
.
GeglRectangle
gegl_rectangle_infinite_plane (void
);
Returns a GeglRectangle that represents an infininte plane.
gboolean
gegl_rectangle_is_infinite_plane (const GeglRectangle *rectangle
);
Returns TRUE if the GeglRectangle represents an infininte plane, FALSE otherwise.
void
gegl_rectangle_dump (const GeglRectangle *rectangle
);
For debugging purposes, not stable API.