'Mouse.bas 'By: Dan Jones (Exodus) 'Taught to me by: Daniel Lenski (moxfyre) '$INCLUDE: 'qb.bi' DECLARE SUB Mouse (action$, a1%, a2%, a3%, a4%) DIM SHARED Regs AS RegType SCREEN 12 Mouse "init", 0, 0, 0, 0 Mouse "show", 0, 0, 0, 0 SUB Mouse (action$, a1%, a2%, a3%, a4%) 'Regs.AX=0.........Initialize 'Regs.AX=1.........Show 'Regs.AX=2.........Hide 'Regs.AX=3.........Get 'Regs.AX=4.........Position 'Regs.AX=7.........Area Vert 'Regs.AX=8.........Area Hori SELECT CASE action$ CASE "init" Regs.AX = 0 CALL INTERRUPT(&H33, Regs, Regs) IF Regs.AX <> -1 THEN SCREEN 0 PRINT : PRINT "Mouse Driver Could Not Be Loaded" END END IF CASE "show" Regs.AX = 1 CALL INTERRUPT(&H33, Regs, Regs) CASE "hide" Regs.AX = 2 CALL INTERRUPT(&H33, Regs, Regs) CASE "get" Regs.AX = 3 CALL INTERRUPT(&H33, Regs, Regs) MouseB% = Regs.BX MouseX% = Regs.CX MouseY% = Regs.DX CASE "position" Regs.AX = 4 CALL INTERRUPT(&H33, Regs, Regs) Regs.CX = a1% Regs.DX = a2% CASE "area" Regs.AX = 7 Regs.CX = a1% Regs.DX = a2% CALL INTERRUPT(&H33, Regs, Regs) Regs.AX = 8 Regs.CX = a3% Regs.DX = a4% CALL INTERRUPT(&H33, Regs, Regs) CASE "coord" LOCATE (1): PRINT "X:" + STR$(MouseX%) + " " + "Y:" + STR$(MouseY%) CASE ELSE SCREEN 0 PRINT "Error!! Wrong Mouse Command" END SELECT END SUB