59 lines
1.5 KiB
ObjectPascal
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.
|
|
|