fpc/docs/graphex/modrange.pp
2000-07-08 21:54:29 +00:00

65 lines
1.6 KiB
ObjectPascal

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;
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;
end.