getfillsettings

 Функция            Получает информацию о текущем шаблоне и
                    цвете заполнения.

 Синтаксис          #include 
                    void far getfillsettings(struct
                              fillsettingstype far *fillinfo);

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

 Описание           getfillsettings заполняет структуру
                    fillsettingstype, на которую указывает fillinfo
                    информацией о текущем шаблоне и цвете заполнения.
                    fillsettingstype определяется в graphics.h следу-
                    ющим образом:

                    struct fillsettingstype{
                     int pattern; /* текущий шаблон заполнения */
                     int color;   /* текущий цвет заполнения */
                    };

                    Функции bar, bar3d, fillpoly, floodfill и
                    pieslice целиком заполняют область текущим шабло-
                    ном заполнения в текущем цвете заполнения. Сущес-
                    твует 11 видов шаблонов заполнения (сплошное,
                    крестообразное, точечное и т. д.) Символические
                    имена для встроенных шаблонов обеспечиваются пе-
                    речисляемым типом fill_patterns в graphics.h.
                    (смотри таблицу, приведенную ниже). Кроме этого,
                    вы можете определить свои собственные шаблоны.

                    Если pattern равен 12 (USER_FILL), то в данное
                    время используется шаблон, определяемый пользова-
                    телем; в противном случае pattern задает номер
                    встроенного шаблона. Перечисляемый тип
                    fill_patterns, заданный в graphics.h задает имя
                    встроенного шаблона заполнения и индикатор для
                    шаблона, определяемого пользователем.


 имя             значение            описание

   EMPTY_FILL          0        заполнение цветом фона
   SOLID_FILL          1        сплошное заполнение цветом
                                заполнения
   LINE_FILL           2        заполнение ______
   LSTLASH_FILL        3        заполнение //////
   SLASH_FILL          4        заполнение /// толстой линией
   BKSLASH_FILL        5        заполнение \\\ толстой линией
   LTBKSLASH_FILL      6        заполнение \\\\
   HATCH_FILL          7        светлая штриховка сеткой
   XHATCH_FILL         8        крестообразная штриховка
   INTERLEAVE_FILL     9        тканеобразная штриховка
   WIDE_DOT_FILL       10       заполнение редкими точками
   CLOSE_DOT_FILL      11       заполнение частыми точками
   USER_FILL           12       шаблон заполнения, определяемый
                                пользователем


                    Все, кроме EMPTY_FILL заполняют текущим цветом
                    заполнения; EMPTY_FILL использует текущий цвет
                    фона.

 Возвращаемое       Нет.
 значение

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

 Смотрите также     getfillpattern setfillpattern setfillstyle

 Пример:

 #include 
 #include 
 #include 
 #include 

 /* имена поддерживаемых типов заполнения */
 char *fname[] = {"EMPTY_FILL",
                  "SOLID_FILL",
                  "LINE_FILL",
                  "LSTLASH_FILL",
                  "SLASH_FILL",
                  "BKSLASH_FILL",
                  "LTBKSLASH_FILL",
                  "HATCH_FILL",
                  "XHATCH_FILL",
                  "INTERLEAVE_FILL",
                  "WIDE_DOT_FILL",
                  "CLOSE_DOT_FILL",
                  "USER_FILL"
                 };

 int main(void)
 {
 /* Запрос автоопределения */
 int graphdriver = DETECT, gmode, errorcode;
 struct fillsettingstype fillinfo;
 int maxx,maxy;
 char patstr[40],colstr[40];

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

 /* получение результата инициализации */
 errorcode = graphresult();
 if(errorcode != grOk)  /* если ошибка */
 {
    printf("Ошибка :%s\n",grapherrormsg(errorcode));
    printf("Для останова нажмите любую клавишу\n");
    getch();
    exit(1);  /* завершение с кодом ошибки */
 }
 maxx = getmaxx()/2;
 maxy = getmaxy()/2;
 /* получить информацию о текущем шаблоне и цвете */
 getfillsettings(*fillinfo);
 /* преобразовать в строку */
 sprintf(patstr,"Тип заполнения :%s.",fname[fillinfo.pattern]);
 sprintf(colstr,"Цвет :%d",fillinfo.color);
 /* вывести информацию */
 settextjustify(CENTER_TEXT,CENTER_TEXT);
 outtextxy(midx,midy,patstr);
 outtextxy(midx,midy+2*textheight("W"),colstr);
 /* очистка */
 getch();
 closegraph();
 return 0;
 }