SDL: events: Add render category to SDL_EventCategory.

From c135386f58972e7b1a40be4b019dd775b36d845f Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Fri, 22 Nov 2024 13:49:11 -0500
Subject: [PATCH] events: Add render category to SDL_EventCategory.

---
 src/events/SDL_categories.c   | 8 +++++++-
 src/events/SDL_categories_c.h | 1 +
 src/events/SDL_events.c       | 1 +
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/events/SDL_categories.c b/src/events/SDL_categories.c
index 57fb8c49c815d..5f0853476f3ac 100644
--- a/src/events/SDL_categories.c
+++ b/src/events/SDL_categories.c
@@ -50,9 +50,12 @@ SDL_EventCategory SDL_GetEventCategory(Uint32 type)
     case SDL_EVENT_DID_ENTER_FOREGROUND:
     case SDL_EVENT_LOCALE_CHANGED:
     case SDL_EVENT_SYSTEM_THEME_CHANGED:
+        return SDL_EVENTCATEGORY_SYSTEM;
+
     case SDL_EVENT_RENDER_TARGETS_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:
         return SDL_EVENTCATEGORY_QUIT;
@@ -233,6 +236,9 @@ SDL_Window *SDL_GetWindowFromEvent(const SDL_Event *event)
     case SDL_EVENTCATEGORY_DROP:
         windowID = event->drop.windowID;
         break;
+    case SDL_EVENTCATEGORY_RENDER:
+        windowID = event->render.windowID;
+        break;
     default:
         // < 0  -> invalid event type (error is set by SDL_GetEventCategory)
         // else -> event has no associated window (not an error)
diff --git a/src/events/SDL_categories_c.h b/src/events/SDL_categories_c.h
index 5f82c00cd17a9..1f72c2aa611f3 100644
--- a/src/events/SDL_categories_c.h
+++ b/src/events/SDL_categories_c.h
@@ -62,6 +62,7 @@ typedef enum SDL_EventCategory
     SDL_EVENTCATEGORY_PAXIS,
     SDL_EVENTCATEGORY_DROP,
     SDL_EVENTCATEGORY_CLIPBOARD,
+    SDL_EVENTCATEGORY_RENDER,
 } SDL_EventCategory;
 
 extern SDL_EventCategory SDL_GetEventCategory(Uint32 type);
diff --git a/src/events/SDL_events.c b/src/events/SDL_events.c
index e6253ff07287f..a792a305b6e96 100644
--- a/src/events/SDL_events.c
+++ b/src/events/SDL_events.c
@@ -459,6 +459,7 @@ static void SDL_LogEvent(const SDL_Event *event)
         break
         SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_TARGETS_RESET);
         SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_DEVICE_RESET);
+        SDL_RENDEREVENT_CASE(SDL_EVENT_RENDER_DEVICE_LOST);
 
 #define SDL_DISPLAYEVENT_CASE(x)               \
     case x:                                    \