Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
_graphfreemem----------------------------------------------------------------- Назначение Перераспределяет графическую память пользовате- ля. Синтаксис #include void far _graphfreemem(void far *ptr, unsigned size); Прототип в graphics.h Замечания Графическая библиотека вызывает функцию _graphfreemem для освобождения памяти, ранее распределенной с помощью graphgetmem. С помощью разработки вашей собственной функции _graphfreemem, вы можете изменить управление распределением памяти для графической библиоте- ки (в этом случае вы обязаны объявить свою функцию точно так, как это показано в Использо- вании). Версия данной функции, принятая по умолчанию, просто вызывает free. Возвращаемое Нет. значение Переносимость Данная функция работает только на IBM PC и сов- местимых моделях при наличии соответствующих графических адаптеров. Смотри также _graphgetmem, setgraphbufsize Пример /* пример пользовательской процедуры по управлению распределением графической памяти */ #include #include #include #include #include main() { int errorcode; int graphdriver; int graphmode; graphdriver = DETECT; initgraph(&graphdriver, &graphmode, "c:\\"; errorcode = graphresult(); if (errorcode != grOK) { printf (Ошибка графики: %s\n", grapherrormsg(errorcode); exit(1); } settextstyle(GOTHIC_FONT, HORIZ_DIR, 4); outtextxy(100, 100, "Тест BGI"); getche(); closegraph(); } void far _graphfreemem(void far *ptr, unsigned size) { printf("Вызвана _graphfreemem [size = %d] - - нажмите клавишу", size); getch(); printf("\n"); farfree(ptr); } void far *far _graphgetmem(unsigned size) { printf("Вызвана _graphgetmem [size = %d] - - нажмите клавишу", size); getch(); printf("\n"); return(farmalloc(size)); /* используется "удаленная куча" */ } ----------------------------------------------------------------- _graphgetmem----------------------------------------------------------------- Назначение Распределяет графическую память пользователя. Синтаксис #include void far *far _graphgetmem(unsigned size); Прототип в graphics.h Замечания Графическая библиотека вызывает _graphgetmem для получения памяти для внутренних буферов, графических драйверов и наборов символов. С по- мощью написания вашей собственной версии функ- ции _graphgetmem вы можете изменить управление распределением памяти для графической библиоте- ки (в этом случае вы обязаны объявить свою функцию точно так, как это указано в Использо- вании). Версия данной функции, принятая по умолчанию, просто вызывает malloc. Возвращаемое Нет. значение Переносимость Данная функция работает только на IBM PC и сов- местимых моделях при наличии соответствующих графических адаптеров. Смотри также _graphfreemem, initgraph, setgraphbufsize Пример Смотри _graphfreemem ----------------------------------------------------------------- graphresult----------------------------------------------------------------- Назначение Возвращает код ошибки последней графической операции. Синтаксис #include int far graphresult(void); Прототип в grapics.h Замечания graphresult возвращает код ошибки последней графической операции и устанавливает уровень ошибки в gr0k. В нижеследующей таблице приводятся коды ошибок, возвращаемых graphresult, и значение соответс- твующих констант перечисленного типа graph_error (определенны в graphics.h). ----------------------------------------------------------------- Код Константа Сообщение, соответ- Значение ошибки graph_errorствующее коду ошибки ----------------------------------------------------------------- 0 grOK No error Нет ошибки -1 grNoInitGraph (BGI) graphics not Графика (BGI) не installed (use установлена initgraph) (используйте initgraph) -2 grNotDetect Graphics hardware Не определена not detected графическая аппаратура -3 grFileNotFound Device driver file Не найден файл- not found драйвер -4 grInvalidDriver Invalid device dri- Некорректный файл- ver file драйвер -5 grNoLoadMem Not enough memory Не хватает памяти to load driver для загрузки драйвера -6 grNoScanMem Out of memory in Выход за пределы scan fill памяти при сканирующем заполнении -7 grNoFloadMem Out of memory in Выход за пределы flood fill памяти при лавинном заполнении -8 grFontNotFound Font file not found Не найден шрифтовой файл -9 grNoFontMem Not enough memory Не хватает памяти to load found для загрузки шрифта -10 grInvalidMode Invalid graphics mode Недопустимый для for select driver выбранного драйвера графический режим -11 grError Graphics error Графическая ошибка -12 grIOerror Graphics I/O error Ошибка графического ввода/вывода -13 grInvalidFont Invalid font file Некорректный шрифтовой файл -14 grInvalidFontNum Invalid font number Некорректный номер шрифта -15 grInvalidDeviceNum Invalid device number Некорректный номер устройства -18 grInvalidVersionnum Invalid version Некорректный номер number версии ----------------------------------------------------------------- Отметим, что после вызова graphresult значение кода ошибки сбрасывается в 0. Поэтому перед об- работкой значения graphresult вы должны сохра- нить его во временной переменной. Возвращаемое graphresult возвращает номер текущей графичес- значение кой ошибки, который представляет собой целое в диапазоне от 0 до -18. Переносимость Данная функция работает только на IBM PC и сов- местимых моделях при наличии соответствующих графических адаптеров. Смотри также detectgraph, drawpoly, fillpoly, flodfill, grapgerrormsg, initgraph, registerbggidriver, registerbgifont, setgrapfmode, setveiwport ----------------------------------------------------------------- |