Browse Source

events: Add render category to SDL_EventCategory.

Ryan C. Gordon 4 months ago
parent
commit
c135386f58
3 changed files with 9 additions and 1 deletions
  1. 7 1
      src/events/SDL_categories.c
  2. 1 0
      src/events/SDL_categories_c.h
  3. 1 0
      src/events/SDL_events.c

+ 7 - 1
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)

+ 1 - 0
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);

+ 1 - 0
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:                                    \