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 () |
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.
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
?
gboolean vips_rect_equalsrect (const VipsRect *r1
,const VipsRect *r2
);
Is r1
equal to r2
?
void vips_rect_marginadjust (VipsRect *r
,int n
);
Enlarge r
by n
. +1 means out one pixel.
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()
.
void
vips_rect_normalise (VipsRect *r
);
Make sure width and height are >0 by moving the origin and flipping the rect.
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.