Table of Contents

floodfill

Syntax of floodfill

#include <graphics.h>
void floodfill(int x, int y, int border);
 

Description of floodfill

floodfill fills an enclosed area on bitmap devices. (x,y) is a "seed
point" within the enclosed area to be filled. The area bounded by the
color border is flooded with the current fill pattern and fill color. If
the seed point is within an enclosed area, the inside will be filled. If
the seed is outside the enclosed area, the exterior will be filled.
Use fillpoly instead of floodfill whenever possible so that you can
maintain code compatibility with future versions.
floodfill does not work with the IBM-8514 driver.

Example of floodfill

/* floodfill example */
 
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
int main(void)
{
   /* request autodetection */
   int gdriver = DETECT, gmode, errorcode;
   int maxx, maxy;
 
 
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");
 
   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk) {  /* an error occurred */
printf("Graphics error: %s\n", grapherrormsg(errorcode));
 
printf("Press any key to halt:");
getch();
exit(1);   /* terminate with an error code */
   }
 
   maxx = getmaxx();
   maxy = getmaxy();
 
   /* select drawing color */
   setcolor(getmaxcolor());
 
 
   /* select fill color */
   setfillstyle(SOLID_FILL, getmaxcolor());
 
   /* draw a border around the screen */
   rectangle(0, 0, maxx, maxy);
 
   /* draw some circles */
   circle(maxx / 3, maxy /2, 50);
   circle(maxx / 2, 20, 100);
 
   circle(maxx-20, maxy-50, 75);
   circle(20, maxy-20, 25);
 
   /* wait for a key */
   getch();
 
   /* fill in bounded region */
   floodfill(2, 2, getmaxcolor());
 
   /* clean up */
   getch();
   closegraph();
   return 0;
}

See also

drawpoly fillpoly graphresult setcolor setfillstyle

output of floodfill example

  no output of example at the moment
  do not hesitate and add it...