Функция Получает информацию о текущем шаблоне и
цвете заполнения.
Синтаксис #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 и совместимых с ни-
ми, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также getfillpatternsetfillpatternsetfillstyle
Пример:
#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;
}