CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
setfillstyle
setfillstyle
Функция Устанавливает шаблон и цвет заполнения.
Синтаксис #include <graphics.h>
void far setfillstyle(int pattern,int color);
Файл, содержащий graphics.h
прототип
Описание setfillstyle устанавливает текущие цвет и шаблон
заполнения. Для установки шаблона, определенного
пользователем не устанавливайте pattern равным 12
(USER_FILL) в setfillfile, а лучше используйте
функцию setfillpattern.
Перечисляемый тип fill_patterns, определенный в
graphics.h, задает имена встроенных шаблонов
заполнения и индикатор для шаблона, определяемого
пользователем.
--------------------------------------------------------------
имя значение описание
--------------------------------------------------------------
EMPTY_FILL 0 заполнеие цветом фона
SOLD_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.
Смотрите также bar, bar3d, fillpoly, floodfill,
getfillsettings, graphresult, pieslice,
sector, setfillpattern.
Пример:
#include <graphics.h>
#include <stdlib.h>
#include <string.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,style;
char stylestr[40];
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
for(style=EMPTY_FILL;style<USER_FILL;style++)
{
/* установить тип заполнения */
setfillstyle(style,getmaxcolor());
/* преобразовать в строку */
strcpy(stylestr,fname[style]);
/* заполнить экран с помощью этого шаблона */
bar (0,0,maxx,maxy);
/* вывести сообщение */
outtextxy(midx,midy,stylestr);
/* ждать нажатия клавиши */
getch();
cleardevice();
}
/* очистка */
getch();
closegraph();
return 0;
}
