.TH IM_FLOOD 3 "30 October 1992"
.SH NAME
im_flood, im_flood_blob \- flood a area
.SH SYNOPSIS
.B #include <vips/vips.h>

int im_flood( im, x, y, ink, dout )
.br
IMAGE *im;
.br
int x, y;
.br
PEL *ink;
.br
Rect *dout;

int im_flood_blob( im, x, y, ink, dout )
.br
IMAGE *im;
.br
int x, y;
.br
PEL *ink;
.br
Rect *dout;

.SH DESCRIPTION
.B im_flood()
fills an enclosed area from a starting point, painting ink into 4-way
connected pels whose colour is not equal to ink. 

.B im_flood_blob()
floods with the ink colour, finding pels 4-way connected to the start pel
which are the same colour as the start pel. It is useful for changing the
colour of a blob of pels which all have the same value.

.SH RETURN VALUE
All functions return 0 on success and -1 on error.
.SH SEE ALSO
im_insertplace(3), im_smudge(3).
