hedgewars/uCursor.pas
author koda
Wed, 02 Jan 2013 11:11:49 +0100
branchwebgl
changeset 8340 46a9fde631f4
parent 8330 aaefa587e277
child 8444 75db7bb8dce8
permissions -rw-r--r--
install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars

unit uCursor;

interface

procedure init;
procedure resetPosition;
procedure updatePosition;

implementation

uses SDLh, uVariables;

{$IFDEF WEBGL}
var offsetx, offsety : Integer;
{$ENDIF}

procedure init;
begin
    resetPosition();
end;

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

procedure updatePosition;
var x, y: LongInt;
{$IFDEF WEBGL}
    tx, ty : LongInt;
{$ENDIF}
begin
    SDL_GetMouseState(@x, @y);

{$IFDEF WEBGL}
    tx := x;
    ty := y;
    x := x + offsetx;
    y := y + offsety;
{$ENDIF}

    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
            begin
            {$IFNDEF WEBGL}
            SDL_WarpMouse(cScreenWidth div 2, cScreenHeight div 2);
            {$ELSE}
            offsetx := cScreenWidth div 2 - tx;
            offsety := cScreenHeight div 2 - ty;
            {$ENDIF}
            end;
        end
end;

end.