[Back to MOUSE SWAG index] [Back to Main SWAG index] [Original]

    {
    Here it comes (from Polish Computer Magazine ,,Bajtek'', just litlle enhanced
    by me): }

    unit Mouse;

    interface

    uses Dos;

    function InitMouseOk : boolean;
    function GetButton : byte;
    function GetX : byte;
    function GetY : byte;
    procedure GetMousePos(var x,y : integer);
    procedure MouseShow;
    procedure MouseHide;

    implementation

    var r : registers;

    function InitMouseOk;
    begin
      r.ax:=0;
      intr($33,r);
      InitMouseOk:=boolean(r.al)
    end;

    function GetButton;
    begin
      r.ax:=5;
      intr($33,r);
      GetButton:=r.al
    end;

    function GetX;
    var x : byte;
    begin
      r.ax:=3;
      intr($33,r);
      x:=r.cx shr 3;
      GetX:=x
    end;

    function GetY;
    var y : byte;
    begin
      r.ax:=3;
      intr($33,r);
      y:=r.dx shr 3;
      GetY:=y
    end;

    procedure GetMousePos;
    begin
      r.ax:=3;
      intr($33,r);
      x:=r.cx shr 3;
      y:=r.dx shr 3
    end;

    procedure MouseShow;
    begin
      r.ax:=1;
      intr($33,r)
    end;

    procedure MouseHide;
    begin
      r.ax:=2;
      intr($33,r)
    end;

    end.

[Back to MOUSE SWAG index] [Back to Main SWAG index] [Original]