floodfill

 Функция            Заполняет ограниченную область.

 Синтаксис          #include 
                    void far floodfill(int x, int y
                                        int border);

 Файл, содержащий   graphics.h
 прототип

 Описание           floodfill заполняет ограниченную область
                    на устройствах с побитовым отображением. (x,y) -
                    произвольная точка внутри закрашиваемой области.
                    Область, граница которой окрашена цветом
                    border,заполняется текущим цветом закраски и
                    шаблоном. Если указанная точка находится внутри
                    ограниченной области,то окрашивается область, а
                    если снаружи, то закрашивается все поле за преде-
                    лами области.

                    Используйте, если это возможно, fillpoly вместо
                    floodfill. Это позволит обеспечить кодовую сов-
                    местимость с будущими версиями.

                    Замечание. floodfill не работает с драйвером
                    IBM-8514.

 Возвращаемое       Если в процессе заполнения области возникла
 значение           ошибка, то graphresult возвращает значение -7.

 Переносимость      Функция уникальна для Turbo C++. Она работает
                    только на компьютерах IBM PC и совместимых с ни-
                    ми, оснащенных дисплейными адаптерами, поддержи-
                    вающими графический режим.

 Смотрите также     drawpoly fillpoly graphresult setcolor
                    setfillstyle

 Пример:

 #include 
 #include 
 #include 
 #include 

 int main(void)
 {
 /* Запрос автоопределения */
 int graphdriver = DETECT, gmode, errorcode;
 int maxx,maxy;

 /* инициализация графики и локальных переменных */
 initgraph(&graphdriver,&gmode,"");

 /* получение результата инициализации */
 errorcode = graphresult();
 if(errorcode != grOk)  /* если ошибка */
 {
    printf("Ошибка :%s\n",grapherrormsg(errorcode));
    printf("Для останова нажмите любую клавишу\n");
    getch();
    exit(1);  /* завершение с кодом ошибки */
 }
 maxx = getmaxx();
 maxy = getmaxy();
 /* выбор цвета рисования */
 setcolor(getmaxcolor());
 /* выбор цвета заполнения */
 selectfillstyle(SOLID_FILL,getmaxcolor());
 /* нарисовать границу вокруг экрана */
 rectangle(0,0,maxx,maxy);
 /* нарисовать несколько окружностей */
 circle(maxx/3,maxy/2,50);
 circle(maxx/2,20,100);
 circle(maxx-20,maxy-50,75);
 circle(20,maxy-20,25);
 /* ожидать нажатия клавиши */
 getch();
 /* заполнить ограниченную область */
 floodfill(2,2,getmaxcolor());
 /* очистка */
 getch();
 closegraph();
 return 0;
 }