* If the mouse has moved, update its coordinates, and update the region flags. * @param mouseX New mouse X coordinate. * @param mouseY New mouse Y coordinate. */
| 266 | * @param mouseY New mouse Y coordinate. |
| 267 | */ |
| 268 | static void Mouse_CheckMovement(uint16 mouseX, uint16 mouseY) |
| 269 | { |
| 270 | if (g_mouseHiddenDepth == 0 && (g_mousePrevX != mouseX || g_mousePrevY != mouseY)) { |
| 271 | |
| 272 | if ((g_regionFlags & 0xC000) != 0xC000) { |
| 273 | GUI_Mouse_Hide(); |
| 274 | |
| 275 | if ((g_regionFlags & 0x8000) == 0) { |
| 276 | GUI_Mouse_Show(); |
| 277 | g_mousePrevX = mouseX; |
| 278 | g_mousePrevY = mouseY; |
| 279 | g_mouseLock = 0; |
| 280 | return; |
| 281 | } |
| 282 | } |
| 283 | |
| 284 | if (mouseX >= g_regionMinX && mouseX <= g_regionMaxX && |
| 285 | mouseY >= g_regionMinY && mouseY <= g_regionMaxY) { |
| 286 | g_regionFlags |= 0x4000; |
| 287 | } else { |
| 288 | GUI_Mouse_Show(); |
| 289 | } |
| 290 | } |
| 291 | |
| 292 | g_mousePrevX = mouseX; |
| 293 | g_mousePrevY = mouseY; |
| 294 | g_mouseLock = 0; |
| 295 | } |
| 296 | |
| 297 | /** |
| 298 | * Handle movement of the mouse. |
no test coverage detected