116
C.3. Описание модуля UniGRAPH
procedure SetCharSet(pages: CharPgSet; addr: pointer);
Действие: Процедура устанавливает для пользования другими процедурами
дефинированные пользователем символы в графическом режиме, отменяя
стандартные. Параметром PAGES задается множество, в котором должны
быть определены номера групп по 32 символам, чья дефиниция будет
использована. Например, следующий фрагмент программы позволяет нам
дефинировать 3 группы по 32 символам (группа 0 - $00..$1F, группа 6 - $C0..$Df
и группа 7 - $E0..$FF) и использовать их:
...
var ChSetBuff: pointer;
begin
...
ChSetBuff:= AllctCharSet(3, true {/false});
DefineCharSet;
 { процедура, созданная программистом  для
 дефинирования символов, например, чтением с дискета }
SetCharSet([0, 6, 7], ChSetBuff);
 { с этого момента при
использовании WRITE для изображения символов в графическом 
режиме будут использованы символы, дефинированные пользователем }
...
procedure SetGRcolor(color: byte; mode: byte);
Действие: Устанавливает цвет при рисовании (COLOR) и способ рисования (MODE).
Параметром COLOR устанавливается для пользования другими процедурами
цвет (число, допустимое для использованного видеорежима). Параметром
MODE устанавливается способ, по которому будет выполняться рисование
одной точки в зависимости от существующего и заказываемого состояния этой
точки на экране. Значения, которые MODE может принимать, числа от 0 до 15.
Каждое число представляет собою код, которым определяется функция (N),
которая надо применить над существующим состоянием (S) и заказываемым
состоянием (P) при ее использовании другими процедурами. Значение 0 и 1 ее
аргументов P и S обозначают, соответственно, свечение и несвечение точки.
*
m_draw =
0;
{ N = P }
*
m_xor =
1;
{ N = S xor P }
*
m_set =
2;
{ N = 1 }
*
m_notP =
3;
{ N = not P }
*
m_clear = 
4;
{ N = 0 }
*
m_none =
5;
{ N = S }
*
m_reverse =
7;
{ N = not S }
*
m_or =
8;
{ N = S or P }
*
m_notSandP =
9;
{ N = not S and P }
*
m_notSorP =
10;
{ N = not S or P }
*
m_not_SandP=
11;
{ N = not (S and P) }
*
m_SandnotP =
12;
{ N = S and not P }
*
m_and =
13;
{ N = S and P }
procedure SetVmode(ModeNo, Pallette: shortcard);
Действие: Переключает указанный видеорежим. Номер видеорежима (ModeNo)
экспортируется как константа и может принимать значения, имеющие
следующий смысл:
*
text_bw40 =
0;
{ черно-белый/цветной текстовой экран 40x25 }
<<  <  GO  >  >>

Вернуться к началу сайта