mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
Fix show, hide, focus and unfocus window/flags states for SDL2 (#4610)
This commit is contained in:
@ -1427,7 +1427,7 @@ void PollInputEvents(void)
|
|||||||
|
|
||||||
// Window events are also polled (Minimized, maximized, close...)
|
// Window events are also polled (Minimized, maximized, close...)
|
||||||
|
|
||||||
#ifndef PLATFORM_DESKTOP_SDL3
|
#ifndef PLATFORM_DESKTOP_SDL3
|
||||||
// SDL3 states:
|
// SDL3 states:
|
||||||
// The SDL_WINDOWEVENT_* events have been moved to top level events,
|
// The SDL_WINDOWEVENT_* events have been moved to top level events,
|
||||||
// and SDL_WINDOWEVENT has been removed.
|
// and SDL_WINDOWEVENT has been removed.
|
||||||
@ -1437,7 +1437,7 @@ void PollInputEvents(void)
|
|||||||
{
|
{
|
||||||
switch (event.window.event)
|
switch (event.window.event)
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
case SDL_WINDOWEVENT_RESIZED:
|
case SDL_WINDOWEVENT_RESIZED:
|
||||||
case SDL_WINDOWEVENT_SIZE_CHANGED:
|
case SDL_WINDOWEVENT_SIZE_CHANGED:
|
||||||
{
|
{
|
||||||
@ -1466,6 +1466,7 @@ void PollInputEvents(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case SDL_WINDOWEVENT_ENTER:
|
case SDL_WINDOWEVENT_ENTER:
|
||||||
{
|
{
|
||||||
CORE.Input.Mouse.cursorOnScreen = true;
|
CORE.Input.Mouse.cursorOnScreen = true;
|
||||||
@ -1474,6 +1475,7 @@ void PollInputEvents(void)
|
|||||||
{
|
{
|
||||||
CORE.Input.Mouse.cursorOnScreen = false;
|
CORE.Input.Mouse.cursorOnScreen = false;
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case SDL_WINDOWEVENT_MINIMIZED:
|
case SDL_WINDOWEVENT_MINIMIZED:
|
||||||
{
|
{
|
||||||
if ((CORE.Window.flags & FLAG_WINDOW_MINIMIZED) == 0) CORE.Window.flags |= FLAG_WINDOW_MINIMIZED;
|
if ((CORE.Window.flags & FLAG_WINDOW_MINIMIZED) == 0) CORE.Window.flags |= FLAG_WINDOW_MINIMIZED;
|
||||||
@ -1496,13 +1498,26 @@ void PollInputEvents(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case SDL_WINDOWEVENT_HIDDEN:
|
case SDL_WINDOWEVENT_HIDDEN:
|
||||||
case SDL_WINDOWEVENT_FOCUS_LOST:
|
{
|
||||||
|
if ((CORE.Window.flags & FLAG_WINDOW_HIDDEN) == 0) CORE.Window.flags |= FLAG_WINDOW_HIDDEN;
|
||||||
|
} break;
|
||||||
case SDL_WINDOWEVENT_SHOWN:
|
case SDL_WINDOWEVENT_SHOWN:
|
||||||
|
{
|
||||||
|
if ((CORE.Window.flags & FLAG_WINDOW_HIDDEN) > 0) CORE.Window.flags &= ~FLAG_WINDOW_HIDDEN;
|
||||||
|
} break;
|
||||||
|
|
||||||
case SDL_WINDOWEVENT_FOCUS_GAINED:
|
case SDL_WINDOWEVENT_FOCUS_GAINED:
|
||||||
#if defined(PLATFORM_DESKTOP_SDL3)
|
{
|
||||||
break;
|
if ((CORE.Window.flags & FLAG_WINDOW_UNFOCUSED) > 0) CORE.Window.flags &= ~FLAG_WINDOW_UNFOCUSED;
|
||||||
#else
|
} break;
|
||||||
|
case SDL_WINDOWEVENT_FOCUS_LOST:
|
||||||
|
{
|
||||||
|
if ((CORE.Window.flags & FLAG_WINDOW_UNFOCUSED) == 0) CORE.Window.flags |= FLAG_WINDOW_UNFOCUSED;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
#ifndef PLATFORM_DESKTOP_SDL3
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|||||||
Reference in New Issue
Block a user