3 type viomodeinfo
=record
4 cb
:word; { length of the entire data structure }
5 fbType
, { bit mask of mode being set }
6 color
: byte; { number of colors (power of 2) }
7 col
, { number of text columns }
8 row
, { number of text rows }
9 hres
, { horizontal resolution }
10 vres
: word; { vertical resolution }
11 fmt_ID
, { attribute format }
12 attrib
: byte; { number of attributes }
16 partial_length
:longint;
17 ext_data_addr
:pointer;
19 Pviomodeinfo
=^viomodeinfo
;
21 function _VioGetMode (var Amodeinfo
:viomodeinfo
;viohandle
:word):word;[C
];
22 function _VioSetMode (var Amodeinfo
:viomodeinfo
;viohandle
:word):word;[C
];
27 mode
.cb
:=sizeof(mode
);
28 writeln('getmode= ',_viogetmode(mode
,0));
29 writeln('cb= ',mode
.cb
);
30 writeln('fbtype= ',mode
.fbtype
);
31 writeln('color= ',mode
.color
);
32 writeln('col= ',mode
.col
);
33 writeln('row= ',mode
.row
);
34 writeln('hres= ',mode
.hres
);
35 writeln('vres= ',mode
.vres
);
36 writeln('fmt_ID= ',mode
.fmt_ID
);
37 writeln('attrib= ',mode
.attrib
);
38 writeln('buf_addr= ',mode
.buf_addr
);
39 writeln('buf_length= ',mode
.buf_length
);
40 writeln('full_length= ',mode
.full_length
);
41 writeln('partial_length= ',mode
.partial_length
);