1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Program GetModeRange_Example;
{ This program demonstrates how to find all available graph modes }
uses graph;
const
{ Currently, only 4, 8, 15 and 16 bit modes are supported
but this may change in the future }
gdnames: array[D4bit..D16bit] of string[6] =
('4 bit','6 bit','8 bit','12 bit','15 bit','16 bit');
var
t: text;
line : string;
gd, c, low, high, res: integer;
begin
assign(t,'modes.txt');
rewrite(t);
close(t);
for gd := D4bit to D16bit do
begin
{ Get the available mode numbers for this driver }
getModeRange(gd,low,high);
append(t);
write(t,gdnames[gd]);
Writeln(t,': low modenr = ',low,', high modenr = ',high);
close(t);
{ If high is -1,
no resolutions are supported for this bitdepth }
if high = -1 then
begin
append(t);
writeln(t,' No modes supported!');
writeln(t);
close(t);
end
else
{ Enter all supported resolutions for this bitdepth
and write their characteristics to the file }
for c := low to high do
begin
append(t);
writeln(t,' testing mode nr ',c);
close(t);
initgraph(gd,c,'');
res := graphresult;
append(t);
{ An error occurred when entering the mode? }
if res <> grok then
writeln(t,grapherrormsg(res))
else
begin
write(t,'maxx: ',getmaxx,', maxy: ',getmaxy);
Writeln(t,', maxcolor: ',getmaxcolor);
closegraph;
end;
writeln(t);
close(t);
end;
append(t);
writeln(t);
close(t);
end;
Writeln('All supported modes are listed in modes.txt files');
end.
|