Функция Изменяет размер внутреннего графического буфера.
Синтаксис #include
unsigned far setgraphbufsize(unsigned bufsize);
Файл, содержащий graphics.h
прототип
Описание Некоторые графические функции (такие как
floodfill) используют буфер памяти, который выде-
ляется при вызове initgraph и отменяется при вы-
зове closegraph. По умолчанию размер этого, выде-
ляемого с помощью _graphgetmem, буфера равен 4096
байт.
Вы можете сделать этот буфер меньше (для сбереже-
ния памяти) или больше (если, например, при обра-
щении к floodfill возвращается ошибка -7:Out of
flood memory).
setgraphbufsize сообщает initgraph сколько памяти
выделить для этого встроенного графического буфе-
ра, когда она обращается к _graphgetmem.
Замечание. Вы должны вызывать setgraphbufsize до
вызова initgraph. Если же initgraph вызван, то
все обращения к setgraphbufsize будут игнориро-
ваться до вызова closegraph.
Возвращаемое setgraphbufsize возвращает предыдущий раз-
значение мер встроенного буфера.
Переносимость Функция уникальна для Turbo C++. Она работает
только на компьютерах IBM PC и совместимых с ни-
ми, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также closegraph_graphfreemem_graphgetmeminitgraphsector
Пример:
#include
#include
#include
#include
#define BUFSIZE 1000 /* размер внутреннего буфера */
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int x,y,oldsize;
char msg[80];
oldsize = setgraphbufsize(BUFSIZE);
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
x = getmaxx()/2;
y = getmaxy()/2;
/* вывести информацию */
sprintf(msg,"Размер графического буфера: %d",BUFSIZE);
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(x,y,msg);
sprintf(msg,"Старый размер графического буфера: %d",oldsize);
outtextxy(x,y+textheigth("W"),msg);
/* очистка */
getch();
closegraph();
return 0;
}