roo_e/thirdparty/grx249/pascal/blt_test.pas
2022-05-16 17:59:47 -05:00

59 lines
1.5 KiB
ObjectPascal

{$X+}
Program Blt_Test;
uses GRX;
procedure TestFunc;
var
x, y, ww, wh, ii, jj, c : Integer;
begin
x := GrSizeX;
y := GrSizeY;
ww := round((x-10)/32);
wh := round((y-10)/8);
GrSetRGBcolorMode;
for ii := 0 to 7 do
for jj := 0 to 31 do begin
c := ii*32+jj;
{gives the same color independently of BPP: not all drivers have good BPP=8}
c := GrAllocColor(c and 2#11100000,(c and 2#11100) shl 3, (c and 2#11) shl 6);
GrFilledBox(5+jj*ww,5+ii*wh,5+jj*ww+ww-1,5+ii*wh+wh-1,c);
end;
end; { TestFunc }
var
x, y, xv, yv, BPP,
m : Integer;
begin
x := 1000;
y := 1000;
xv := 1280;
yv := 1024;
BPP:= 24;
(* m := GrSetMode(Gr_Width_Height_BPP_Graphics,x,y,bpp,0,0); *)
m := GrSetMode(Gr_Custom_BPP_Graphics,x,y,BPP,xv,yv);
TestFunc;
GrCircle(400,400,200,GrWhite);
GrCircle(400,400,205,GrWhite);
GrLineNC(0, 0, GrScreenX-1, GrScreenY-1, GrWhite);
GrLineNC(0, GrScreenY-1, GrScreenX-1, 0, GrWhite);
GrKeyRead;
GrTextXY(0,0,'GrScreenContext',GrWhite,GrBlack);
GrBitBltNC(GrScreenContext, 200, 200, GrScreenContext, 0, 0, 200, 200, GrWrite);
GrKeyRead;
GrBitBltNC(GrScreenContext, 300, 300, GrScreenContext, 0, 0, 200, 200, GrOr);
GrKeyRead;
GrBitBltNC(GrScreenContext, 400, 400, GrScreenContext, 0, 0, 200, 200, GrAnd);
GrKeyRead;
GrBitBltNC(GrScreenContext, 500, 500, GrScreenContext, 0, 0, 200, 200, GrXor);
GrKeyRead;
GrBitBltNC(GrScreenContext, 600, 600, GrScreenContext, 0, 0, 200, 200, GrImage);
GrKeyRead;
end.