{"action":"created","issue":{"url":"https://api.github.com/repos/UltraStar-Deluxe/USDX/issues/45","repository_url":"https://api.github.com/repos/UltraStar-Deluxe/USDX","labels_url":"https://api.github.com/repos/UltraStar-Deluxe/USDX/issues/45/labels{/name}","comments_url":"https://api.github.com/repos/UltraStar-Deluxe/USDX/issues/45/comments","events_url":"https://api.github.com/repos/UltraStar-Deluxe/USDX/issues/45/events","html_url":"https://github.com/UltraStar-Deluxe/USDX/pull/45","id":164745008,"number":45,"title":"Update cursor on screen change","user":{"login":"RattleSN4K3","id":6833006,"avatar_url":"https://avatars.githubusercontent.com/u/6833006?v=3","gravatar_id":"","url":"https://api.github.com/users/RattleSN4K3","html_url":"https://github.com/RattleSN4K3","followers_url":"https://api.github.com/users/RattleSN4K3/followers","following_url":"https://api.github.com/users/RattleSN4K3/following{/other_user}","gists_url":"https://api.github.com/users/RattleSN4K3/gists{/gist_id}","starred_url":"https://api.github.com/users/RattleSN4K3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RattleSN4K3/subscriptions","organizations_url":"https://api.github.com/users/RattleSN4K3/orgs","repos_url":"https://api.github.com/users/RattleSN4K3/repos","events_url":"https://api.github.com/users/RattleSN4K3/events{/privacy}","received_events_url":"https://api.github.com/users/RattleSN4K3/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-07-11T01:27:18Z","updated_at":"2016-07-11T04:55:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/UltraStar-Deluxe/USDX/pulls/45","html_url":"https://github.com/UltraStar-Deluxe/USDX/pull/45","diff_url":"https://github.com/UltraStar-Deluxe/USDX/pull/45.diff","patch_url":"https://github.com/UltraStar-Deluxe/USDX/pull/45.patch"},"body":"Enforces mouse-over selection without the need to move the mouse.\r\n\r\nBy using the mouse to navigate through the menus, returning back to the previous screen wouldn't update the mouse-over selection once the new screen is faded in. In case you open a menu and immediately switch back and already adjusting your mouse location in order to push on another button from the original screen, it won't select the button unless you move the mouse. With this change, once the old screen is fully faded out, the mouse-over selection will adjust where the current/last position is located.\r\n\r\nThere is a slight lag due to the fading process taking place (and preventing any input). Without screen fading enabled, the selection is updated directly (with a small noticable delay though).\r\n\r\nOriginal (cursor needs to move in order to select the button)\r\n![original](https://cloud.githubusercontent.com/assets/6833006/16717372/66120fa2-4715-11e6-9b25-f049254330bc.gif)\r\n\r\nWith cursor update (button selection updates without moving)\r\n![withcursorupdate](https://cloud.githubusercontent.com/assets/6833006/16717383/a1f1b144-4715-11e6-9e4a-40f3b90ebe63.gif)\r\n\r\n\r\nDue to private accessibility of the current/last cursor position, it is stored from the last polled event and used to simulate the _same_ mouse movement. A proper solution could be using an API call to receive the mouse position (or slightly change the existing code)."},"comment":{"url":"https://api.github.com/repos/UltraStar-Deluxe/USDX/issues/comments/231642076","html_url":"https://github.com/UltraStar-Deluxe/USDX/pull/45#issuecomment-231642076","issue_url":"https://api.github.com/repos/UltraStar-Deluxe/USDX/issues/45","id":231642076,"user":{"login":"basisbit","id":10870269,"avatar_url":"https://avatars.githubusercontent.com/u/10870269?v=3","gravatar_id":"","url":"https://api.github.com/users/basisbit","html_url":"https://github.com/basisbit","followers_url":"https://api.github.com/users/basisbit/followers","following_url":"https://api.github.com/users/basisbit/following{/other_user}","gists_url":"https://api.github.com/users/basisbit/gists{/gist_id}","starred_url":"https://api.github.com/users/basisbit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basisbit/subscriptions","organizations_url":"https://api.github.com/users/basisbit/orgs","repos_url":"https://api.github.com/users/basisbit/repos","events_url":"https://api.github.com/users/basisbit/events{/privacy}","received_events_url":"https://api.github.com/users/basisbit/received_events","type":"User","site_admin":false},"created_at":"2016-07-11T04:55:21Z","updated_at":"2016-07-11T04:55:21Z","body":"can't we use [SDL_GetMouseState](https://wiki.libsdl.org/SDL_GetMouseState) to retrieve the position instead of emulating the mouse-move?"}}
{"actor":{"display_login":"basisbit"}}