events: Add render category to SDL_EventCategory.

This commit is contained in:
Ryan C. Gordon
2024-11-22 13:49:11 -05:00
parent 615c935d11
commit c135386f58
3 changed files with 9 additions and 1 deletions

View File

@@ -50,9 +50,12 @@ SDL_EventCategory SDL_GetEventCategory(Uint32 type)
case SDL_EVENT_DID_ENTER_FOREGROUND: case SDL_EVENT_DID_ENTER_FOREGROUND:
case SDL_EVENT_LOCALE_CHANGED: case SDL_EVENT_LOCALE_CHANGED:
case SDL_EVENT_SYSTEM_THEME_CHANGED: case SDL_EVENT_SYSTEM_THEME_CHANGED:
return SDL_EVENTCATEGORY_SYSTEM;
case SDL_EVENT_RENDER_TARGETS_RESET: case SDL_EVENT_RENDER_TARGETS_RESET:
case SDL_EVENT_RENDER_DEVICE_RESET: case SDL_EVENT_RENDER_DEVICE_RESET:
return SDL_EVENTCATEGORY_SYSTEM; case SDL_EVENT_RENDER_DEVICE_LOST:
return SDL_EVENTCATEGORY_RENDER;
case SDL_EVENT_QUIT: case SDL_EVENT_QUIT:
return SDL_EVENTCATEGORY_QUIT; return SDL_EVENTCATEGORY_QUIT;
@@ -233,6 +236,9 @@ SDL_Window *SDL_GetWindowFromEvent(const SDL_Event *event)
case SDL_EVENTCATEGORY_DROP: case SDL_EVENTCATEGORY_DROP:
windowID = event->drop.windowID; windowID = event->drop.windowID;
break; break;
case SDL_EVENTCATEGORY_RENDER:
windowID = event->render.windowID;
break;
default: default:
// < 0 -> invalid event type (error is set by SDL_GetEventCategory) // < 0 -> invalid event type (error is set by SDL_GetEventCategory)
// else -> event has no associated window (not an error) // else -> event has no associated window (not an error)

View File

@@ -62,6 +62,7 @@ typedef enum SDL_EventCategory
SDL_EVENTCATEGORY_PAXIS, SDL_EVENTCATEGORY_PAXIS,
SDL_EVENTCATEGORY_DROP, SDL_EVENTCATEGORY_DROP,
SDL_EVENTCATEGORY_CLIPBOARD, SDL_EVENTCATEGORY_CLIPBOARD,
SDL_EVENTCATEGORY_RENDER,
} SDL_EventCategory; } SDL_EventCategory;
extern SDL_EventCategory SDL_GetEventCategory(Uint32 type); extern SDL_EventCategory SDL_GetEventCategory(Uint32 type);

View File

@@ -459,6 +459,7 @@ static void SDL_LogEvent(const SDL_Event *event)
break break
SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_TARGETS_RESET); SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_TARGETS_RESET);
SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_DEVICE_RESET); SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_DEVICE_RESET);
SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_DEVICE_LOST);
#define SDL_DISPLAYEVENT_CASE(x) \ #define SDL_DISPLAYEVENT_CASE(x) \
case x: \ case x: \