| Top |  |  |  |  | 
| #define | VIPS_RECT_RIGHT() | 
| #define | VIPS_RECT_BOTTOM() | 
| #define | VIPS_RECT_HCENTRE() | 
| #define | VIPS_RECT_VCENTRE() | 
| gboolean | vips_rect_isempty () | 
| gboolean | vips_rect_includespoint () | 
| gboolean | vips_rect_includesrect () | 
| gboolean | vips_rect_equalsrect () | 
| gboolean | vips_rect_overlapsrect () | 
| void | vips_rect_marginadjust () | 
| void | vips_rect_intersectrect () | 
| void | vips_rect_unionrect () | 
| VipsRect * | vips_rect_dup () | 
| void | vips_rect_normalise () | 
gboolean
vips_rect_isempty (const VipsRect *r);
Is r
 empty? ie. zero width or height.
[method]
gboolean vips_rect_includespoint (const VipsRect *r,int x,int y);
Does r
 contain point (x
, y
)?
gboolean vips_rect_includesrect (const VipsRect *r1,const VipsRect *r2);
Is r2
 a subset of r1
?
[method]
gboolean vips_rect_equalsrect (const VipsRect *r1,const VipsRect *r2);
Is r1
 equal to r2
?
[method]
gboolean vips_rect_overlapsrect (const VipsRect *r1,const VipsRect *r2);
Do r1
 and r2
 have a non-empty intersection?
[method]
void vips_rect_marginadjust (VipsRect *r,int n);
Enlarge r
 by n
. +1 means out one pixel.
[method]
void vips_rect_intersectrect (const VipsRect *r1,const VipsRect *r2,VipsRect *out);
Fill out
 with the intersection of r1
 and r2
. out
 can equal r1
 or r2
.
void vips_rect_unionrect (const VipsRect *r1,const VipsRect *r2,VipsRect *out);
Fill out
 with the bounding box of r1
 and r2
. out
 can equal r1
 or r2
.
VipsRect *
vips_rect_dup (const VipsRect *r);
Duplicate a rect to the heap. You need to free the result with vips_free().
[skip]
void
vips_rect_normalise (VipsRect *r);
Make sure width and height are >0 by moving the origin and flipping the rect.
[method]
typedef struct {
	int left;
	int top;
	int width;
	int height;
} VipsRect;
A VipsRect is a rectangular area of pixels. This is a struct for performing simple rectangle algebra.