{programme de test pour le logiciel mousedtv }
program test_curseur;
uses crt,dos;
Type
dessin_curseur = record
contx,conty : integer;
mask_ecran : array[0..15] of word;
mask_curseur : array[0..15] of word;
end;
{ ------------- mettre les consts -------------- }
const main: dessin_curseur = (contx:0; conty:0;
mask_ecran: (65407,65087,65087,54335,
32831,32831,32831,15,
7,7,7,7,
7,15,15,32783);
mask_curseur: (128,320,320,11072,
21824,21824,21824,32880,
32840,32840,32840,32776,
32776,32784,32784,32752));
const tetemort: dessin_curseur = (contx:0; conty:0;
mask_ecran: (65535,57359,57335,42011,
44253,44253,42013,49149,
54779,57339,57335,57231,
54655,54655,49279,65535);
mask_curseur: (0,8176,8200,23524,
21282,21282,23522,16386,
10756,8196,8200,8304,
10880,10880,16256,0));
var status,nbbouton:integer;
Procedure GraphMode; {set 320x200x256 mode}
begin
Asm
Mov AH,00
Mov AL,13h
Int 10h
end;
end;
procedure mousestatus(var status,nbbouton:integer);
var regs: REGISTERS;
BEGIN
with regs do
BEGIN
ax:=0;
intr($33,regs);
status:=ax;
nbbouton:=bx;
END;
END;
procedure montrepointeur;
var regs: REGISTERS;
BEGIN
with regs do
BEGIN
ax:=1;
intr($33,regs);
END;
END;
Procedure change_souris(var p:dessin_curseur);
Var reg : registers;
begin
with reg,p do
begin
ax:=9;
bx:=contx;
cx:=conty;
dx:=ofs(mask_ecran[00]);
es:=seg(mask_ecran[00]);
end;
intr($33,reg);
end;
begin
mousestatus(status,nbbouton);
if status=0 then begin writeln('souris requise');halt(1);end;
graphmode;
montrepointeur;
change_souris(main);
readkey;
change_souris(tetemort);
readkey;
textmode(co80);
end.