UNIT MOUSE; INTERFACE TYPE TBS = SET OF (LEFT,RIGHT); PROCEDURE SHOWMOUSE; PROCEDURE HIDEMOUSE; PROCEDURE ALLREGION; PROCEDURE GETMOUSE(X,Y:INTEGER;BUTTON:TBS); PROCEDURE SETMOUSE(X,Y:INTEGER); IMPLEMENTATION USES CRT,GRAPH,DOPFORGR; PROCEDURE SHOWMOUSE; BEGIN ASM MOV AX, 0001H INT 33H END; END; PROCEDURE HIDEMOUSE; BEGIN ASM MOV AX, 0002H INT 33H END; END; PROCEDURE ALLREGION; BEGIN ASM MOV AX, 0007H MOV CX,0 MOV DX,640 INT 33H MOV AX, 0008H MOV CX, 0 MOV DX, 480 INT 33H END; END; PROCEDURE GETMOUSE(X,Y:INTEGER;BUTTON:TBS); VAR BUT,TMPX,TMPY:INTEGER; BEGIN ASM MOV AX, 0003H INT 33H MOV TMPX,CX MOV TMPY,DX MOV BUT, BX END; X:=TMPX; Y:=TMPY; BUTTON:=[]; IF (BUT AND 1) = 1 THEN BUTTON:=BUTTON+[LEFT]; IF (BUT AND 2) = 2 THEN BUTTON:=BUTTON+[RIGHT]; END; PROCEDURE SETMOUSE(X,Y:INTEGER); BEGIN ASM MOV AX, 0004H MOV CX, X MOV DX, Y INT 33H END; END; END.