Функция Получает информацию о текущем шаблоне и цвете
заполнения.
Синтаксис #include <graphics.h>
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 использует текущий цвет
фона.
Возвращаемое Нет.
значение
Переносимость Функция уникальна для Borland C++. Она работает
только на компьютерах IBM PC и совместимых с ними,
оснащенных дисплейными адаптерами, поддерживающими
графический режим. Функция не совместима с
Windows.
Смотрите также getfillpattern, setfillpattern, setfillstyle.
Пример:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
/* имена поддерживаемых типов заполнения */
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",grapherrormessage(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;
} |