end;
PrepareVesaMode :=R es;
i f Res the n be gin
w ith Screen do b e g in
W idth ;= M e tric s [In d e x ].W id th ;
H e igh t := M e tric s [In d e x ].H e ig h t;
B yte sP e rS ca n lin e : =M odeInfо . B yte sP erS ca nline;
B its P e rP ix e l := M o d e ln fo .B its P e rP ix e l;
end;
DefaultW indow ;
end;
end;
Функция SetMode обеспечивает установку текстового ре-
жима и графических режимов VGA, VESA. При этом в ней вы-
полняется инициализация процедурных переменных P u tP ix -
e lP ro c , G e tP ix e lP ro c , RGBToColor, а также константы ба-
зовых цветов. Функция возвращает tru e в случае успеха,
fu n c tio n SetMode ( Index : word ) : boolean;
begin
SetMode := fa ls e ;
Move( M e tric s [In d e x ] , Screen,
S iz e o f( TVESAGraphMode ) ) ;
case Index o f
0: be g in
asm
mov a x , S creen. Mode; in t lOh
end;
P u tP ixe lP ro c := N ilP ro c ;
G etP ixe lP roc := N ilF u n c ;
end;
l r be gin
asm
mov ax,Screen.M ode; in t lOh
end;
P u tP ixe lP ro c := P u tP ix e l8 B its V g a ;
G etP ixe lP roc : = G e tP ixe l8 B itsV g a ;
w ith Screen do be g in
W idth := M e tric s [In d e x ]-W id th ;
H e igh t := M e tric s [In d e x ].H e ig h t;
B ytesP erS canline := W idth;
B its P e rP ix e l := 8;
end;
procedure E xitG ra p h ;
be g in
i f SetMode ( VESAText ) th e n ;
end;
При установке видеорежима позиция и границы текуще-
го окна совпадают с границами экрана дисплея. Для зада-
ния новых параметров окна достаточно создать следующую
процедуру:
procedure SetWindow ( M in x, M inY, MaxX, MaxY : word ) ;
be g in
w ith W inRect do be g in
i f M inX >S creen.W idth-1 the n M in X := S cre e n .W id th -1 ;
L e f t : =MinX;
i f M inY >S creen.H eight-1 the n M inY := S creen.H eight-1;
Top: =MinY;
i f M axX>Screen.W idth-1 th e n M axX :=S creen.W idth-1;
R ig h t: =MaxX;
i f M axY >S creen.H eight-1 then M axY :=S creen.H eight-
1;
Bottom := MaxY;
W idth := ( R ig h t- L e ft) +1;
H e ig h t := (B ottom -T op)+1;
end;
end;
При вызове данной процедуры параметры текущего ок-
на задаются в глобальных координатах всего экрана (в пик-
селях), после чего вывод графики в акне производится в ло-
кальных координатах относительно верхнего левого угла ок-
на (0,0). Если возникнет необходимость вернуться к исходно-
му окну, то это легко осуществить с помощью следующей
процедуры:
procedure D efaultW indow ;
be gin
w ith WinRect do b e gin
L e ft := 0;
Top : = 0;
R ig h t := S cree n.W idth-1 ;
Bottom := S c re e n .H e ig h t-1 ;
W idth : = S creen.W idth,
H e igh t := S cre e n .H e ig h t;
end;
clG ra y := 15;
DefaultW indow ;
end;
2. .6 : i f PrepareVesaMode ( Ind ex ) the n b e g in
P u tP ixe lP ro c := P u tP ixe l8 B itsV e sa ;
G etP ixe lP roc := G e tP ixe l8 B itsV e sa ;
end
e ls e e x it;
7 .. 11: i f PrepareVesaMode ( Index ) th e n b e g in
P u tP ixe lP ro c := P u tP ix e ll6 B its V e s a ;
G etP ixe lP roc := G e tP ix e ll6 B its V e s a ;
RGBToColor : = RGBTol6BitS;
P rep are C olors;
end
e ls e e x it;
e ls e i f PrepareVesaMode ( Ind ex ) the n be g in
P u tP ixe lP ro c := P u tP ixe l2 4 B itsV e sa ;
G etP ixe lP roc := G etP ixe l24 B itsV esa ;
RGBToColor := RGBTo24Bits;
P rep are C olors;
end
e ls e e x it;
end; {case}
SetMode := tru e ;
end;
Следующие две подпрограммы реали-
зуют привычный интерфейс включения/вы-
ключения видеорежима,
fu n c tio n In itG ra p h ( Modelndex :
word ) : boolean;
begin
In itG ra p h : = SetMode ( Modelndex );
end;
end;
Нижеприведенные две процедуры предназначены для чте-
ния/установки текущей палитры для 256-цветных режимов
отображения. Для этого используются функции $1017 и $1012
BlOS'a соответственно.
procedure G e tP a le tte ( v a r P a le tte ) ; assem bler;
asm
m ovax,1017h; m ovb x,0 ; mov cx,256
le s d x ,P a le tte ; in t 10h
end;
procedure S e tP a le tte ( v a r P a le tte ) ; assem bler;
asm
m ovax,1012h; m ovb x,0 ; mov c x ,256
le s d x ,P a le tte ; in t 10h
end;
О кончание на стр. 42
ІНТЕРНЕТ
н а в с і
с м а к и
виділені лінии
реєстрація доменів
швидкість до 2 мегабіт/сек
ца, com.ua, com, net та інші
L
1_
розміщення серверів (colocation)
комутований доступ (діалап)
від 25 у.о.
від 4 у.о.
L
L
професійний хостинг сайтів
реєстрація AS, PI
CGI,Peri,PHP.SSH .
..
інші послуги провайдерам
Ф
СХЖ CALL
Ш Е Е Ш Т DATA CENTER
www.colocall.net
(044)461 79 88
предыдущая страница 41 Мой Компьютер 2005 14 читать онлайн следующая страница 43 Мой Компьютер 2005 14 читать онлайн Домой Выключить/включить текст