hedgewars/uCursor.pas
author nemo
Sun, 12 Jun 2011 14:45:26 -0400
changeset 5237 963d787a25c2
parent 5199 5eae5da831e1
child 6580 6155187bf599
permissions -rw-r--r--
If 2 or more resolutions are available, use the 2nd in the list. This should (usually) be smaller than the desktop resolution, which should reduce noob fail (not realising part of interface is obscured)

unit uCursor;

interface

procedure init;
procedure updatePosition;

implementation

uses SDLh, uVariables;

procedure init;
begin
    SDL_WarpMouse(cScreenWidth div 2, cScreenHeight div 2);
end;

procedure updatePosition;
var x, y: LongInt;
begin
    SDL_GetMouseState(@x, @y);

    if(x <> cScreenWidth div 2) or (y <> cScreenHeight div 2) then
        begin
        CursorPoint.X:= CursorPoint.X + x - cScreenWidth div 2;
        CursorPoint.Y:= CursorPoint.Y - y + cScreenHeight div 2;

        if cHasFocus then SDL_WarpMouse(cScreenWidth div 2, cScreenHeight div 2);
        end
end;

end.