hedgewars/uCursor.pas
author nemo
Wed, 22 May 2013 22:46:49 -0400
changeset 9046 f8ea1b929b72
parent 8346 3443e0de2c9d
child 8444 75db7bb8dce8
permissions -rw-r--r--
So when I first upsized these, I neglected to remove the pixelated version when generating. Corrected that to avoid sharp edges. Also aggressively optimised for smoothing. Also took advantage of SVG to drag dino bones to water level for mikade.

unit uCursor;

interface

procedure init;
procedure resetPosition;
procedure updatePosition;
procedure handlePositionUpdate(x, y: LongInt);

implementation

uses SDLh, uVariables;

procedure init;
begin
    resetPosition();
end;

procedure resetPosition;
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
        handlePositionUpdate(x - cScreenWidth div 2, y - cScreenHeight div 2);

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

procedure handlePositionUpdate(x, y: LongInt);
begin
    CursorPoint.X:= CursorPoint.X + x;
    CursorPoint.Y:= CursorPoint.Y - y;
end;

end.