Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

_graphgetmem

CuBook05

Функция

Пользователь захватывает графическую память.
 
Синтаксис

#include <graphics.h>
void far _graphgetmem(unsigned size);
 
Прототип

graphics.h
 
Описание

Графическая библиотека вызывает _graphgetmem (но не пользовательская программа) для выделения памяти для внутренних буферов, графических драйверов и шрифтов. Вы можете управлять распределением памяти графической библиотекой посредством простого определения вашей собственной версии _graphgetmem (вы должны определить ее так, как показано в описании). Начальная версия этой программы просто вызывает malloc.
 
Возвращаемое значение

Нет.
 
Переносимость

Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows.
 
Пример

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include<alloc.h>

#define NONSENSE -50

int main(void)
{
/* Инициация ошибки */
int graphdriver = NONSENSE, gmode, errorcode;
int midx,midy;

/* обнуление текстового экрана */
clrscr();
printf("Для инициализации графики нажмите любую клавишу...");
getch();
clrscr();

/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();

/* выдать соответствующее ошибке сообщение */
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
/* вывести сообщение */
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(midx,midy,"Для выхода из графического режима
нажмите любую клавишу ");
/* очистка */
getch();
closegraph();
return 0;
}
/* вызывается ядром графической системы для выделения памяти */
void far *far _graphgetmem(unsigned size)
{
printf("Вызвана _graphgetmem для выделения %d байт\n",size);
printf("Нажмите любую клавишу:");
getch();
printf("\n");
/* выделить память */
return farmalloc(size);
}
/* вызывается ядром графической системы для освобождения памяти */
void far _graphfreemem(void far *ptr, unsigned size)
{
printf("Вызвана _graphfreemem для освобождения %d байт\n",size);
printf("Нажмите любую клавишу:");
getch();
printf("\n");
/* освободить память */
return farfree(ptr);
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий