author | Wuzzy <almikes@aol.com> |
Mon, 10 Apr 2017 20:56:01 +0200 | |
changeset 12221 | 5b525d041fb4 |
parent 10017 | de822cd3df3a |
child 12664 | 545e1198e8b9 |
permissions | -rw-r--r-- |
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.