Event name

The other day I used regex to create this. I figure someone else may want to use this function. Enjoy

const char* GetSDLEventName(u32 type) {
	switch (type) {
		case SDL_EVENT_FIRST:  return "FIRST";
		case SDL_EVENT_QUIT:  return "QUIT";
		case SDL_EVENT_TERMINATING:  return "TERMINATING";
		case SDL_EVENT_LOW_MEMORY:  return "LOW_MEMORY";
		case SDL_EVENT_WILL_ENTER_BACKGROUND:  return "WILL_ENTER_BACKGROUND";
		case SDL_EVENT_DID_ENTER_BACKGROUND:  return "DID_ENTER_BACKGROUND";
		case SDL_EVENT_WILL_ENTER_FOREGROUND:  return "WILL_ENTER_FOREGROUND";
		case SDL_EVENT_DID_ENTER_FOREGROUND:  return "DID_ENTER_FOREGROUND";
		case SDL_EVENT_LOCALE_CHANGED:  return "LOCALE_CHANGED";
		case SDL_EVENT_SYSTEM_THEME_CHANGED:  return "SYSTEM_THEME_CHANGED";
		case SDL_EVENT_DISPLAY_ORIENTATION:  return "DISPLAY_ORIENTATION";
		case SDL_EVENT_DISPLAY_ADDED:  return "DISPLAY_ADDED";
		case SDL_EVENT_DISPLAY_REMOVED:  return "DISPLAY_REMOVED";
		case SDL_EVENT_DISPLAY_MOVED:  return "DISPLAY_MOVED";
		case SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED:  return "DISPLAY_DESKTOP_MODE_CHANGED";
		case SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED:  return "DISPLAY_CURRENT_MODE_CHANGED";
		case SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED:  return "DISPLAY_CONTENT_SCALE_CHANGED";
		case SDL_EVENT_WINDOW_SHOWN:  return "WINDOW_SHOWN";
		case SDL_EVENT_WINDOW_HIDDEN:  return "WINDOW_HIDDEN";
		case SDL_EVENT_WINDOW_EXPOSED:  return "WINDOW_EXPOSED";
		case SDL_EVENT_WINDOW_MOVED:  return "WINDOW_MOVED";
		case SDL_EVENT_WINDOW_RESIZED:  return "WINDOW_RESIZED";
		case SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED:  return "WINDOW_PIXEL_SIZE_CHANGED";
		case SDL_EVENT_WINDOW_METAL_VIEW_RESIZED:  return "WINDOW_METAL_VIEW_RESIZED";
		case SDL_EVENT_WINDOW_MINIMIZED:  return "WINDOW_MINIMIZED";
		case SDL_EVENT_WINDOW_MAXIMIZED:  return "WINDOW_MAXIMIZED";
		case SDL_EVENT_WINDOW_RESTORED:  return "WINDOW_RESTORED";
		case SDL_EVENT_WINDOW_MOUSE_ENTER:  return "WINDOW_MOUSE_ENTER";
		case SDL_EVENT_WINDOW_MOUSE_LEAVE:  return "WINDOW_MOUSE_LEAVE";
		case SDL_EVENT_WINDOW_FOCUS_GAINED:  return "WINDOW_FOCUS_GAINED";
		case SDL_EVENT_WINDOW_FOCUS_LOST:  return "WINDOW_FOCUS_LOST";
		case SDL_EVENT_WINDOW_CLOSE_REQUESTED:  return "WINDOW_CLOSE_REQUESTED";
		case SDL_EVENT_WINDOW_HIT_TEST:  return "WINDOW_HIT_TEST";
		case SDL_EVENT_WINDOW_ICCPROF_CHANGED:  return "WINDOW_ICCPROF_CHANGED";
		case SDL_EVENT_WINDOW_DISPLAY_CHANGED:  return "WINDOW_DISPLAY_CHANGED";
		case SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED:  return "WINDOW_DISPLAY_SCALE_CHANGED";
		case SDL_EVENT_WINDOW_SAFE_AREA_CHANGED:  return "WINDOW_SAFE_AREA_CHANGED";
		case SDL_EVENT_WINDOW_OCCLUDED:  return "WINDOW_OCCLUDED";
		case SDL_EVENT_WINDOW_ENTER_FULLSCREEN:  return "WINDOW_ENTER_FULLSCREEN";
		case SDL_EVENT_WINDOW_LEAVE_FULLSCREEN:  return "WINDOW_LEAVE_FULLSCREEN";
		case SDL_EVENT_WINDOW_DESTROYED:  return "WINDOW_DESTROYED";
		case SDL_EVENT_WINDOW_HDR_STATE_CHANGED:  return "WINDOW_HDR_STATE_CHANGED";
		case SDL_EVENT_KEY_DOWN:  return "KEY_DOWN";
		case SDL_EVENT_KEY_UP:  return "KEY_UP";
		case SDL_EVENT_TEXT_EDITING:  return "TEXT_EDITING";
		case SDL_EVENT_TEXT_INPUT:  return "TEXT_INPUT";
		case SDL_EVENT_KEYMAP_CHANGED:  return "KEYMAP_CHANGED";
		case SDL_EVENT_KEYBOARD_ADDED:  return "KEYBOARD_ADDED";
		case SDL_EVENT_KEYBOARD_REMOVED:  return "KEYBOARD_REMOVED";
		case SDL_EVENT_TEXT_EDITING_CANDIDATES:  return "TEXT_EDITING_CANDIDATES";
		case SDL_EVENT_MOUSE_MOTION:  return "MOUSE_MOTION";
		case SDL_EVENT_MOUSE_BUTTON_DOWN:  return "MOUSE_BUTTON_DOWN";
		case SDL_EVENT_MOUSE_BUTTON_UP:  return "MOUSE_BUTTON_UP";
		case SDL_EVENT_MOUSE_WHEEL:  return "MOUSE_WHEEL";
		case SDL_EVENT_MOUSE_ADDED:  return "MOUSE_ADDED";
		case SDL_EVENT_MOUSE_REMOVED:  return "MOUSE_REMOVED";
		case SDL_EVENT_JOYSTICK_AXIS_MOTION:  return "JOYSTICK_AXIS_MOTION";
		case SDL_EVENT_JOYSTICK_BALL_MOTION:  return "JOYSTICK_BALL_MOTION";
		case SDL_EVENT_JOYSTICK_HAT_MOTION:  return "JOYSTICK_HAT_MOTION";
		case SDL_EVENT_JOYSTICK_BUTTON_DOWN:  return "JOYSTICK_BUTTON_DOWN";
		case SDL_EVENT_JOYSTICK_BUTTON_UP:  return "JOYSTICK_BUTTON_UP";
		case SDL_EVENT_JOYSTICK_ADDED:  return "JOYSTICK_ADDED";
		case SDL_EVENT_JOYSTICK_REMOVED:  return "JOYSTICK_REMOVED";
		case SDL_EVENT_JOYSTICK_BATTERY_UPDATED:  return "JOYSTICK_BATTERY_UPDATED";
		case SDL_EVENT_JOYSTICK_UPDATE_COMPLETE:  return "JOYSTICK_UPDATE_COMPLETE";
		case SDL_EVENT_GAMEPAD_AXIS_MOTION:  return "GAMEPAD_AXIS_MOTION";
		case SDL_EVENT_GAMEPAD_BUTTON_DOWN:  return "GAMEPAD_BUTTON_DOWN";
		case SDL_EVENT_GAMEPAD_BUTTON_UP:  return "GAMEPAD_BUTTON_UP";
		case SDL_EVENT_GAMEPAD_ADDED:  return "GAMEPAD_ADDED";
		case SDL_EVENT_GAMEPAD_REMOVED:  return "GAMEPAD_REMOVED";
		case SDL_EVENT_GAMEPAD_REMAPPED:  return "GAMEPAD_REMAPPED";
		case SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN:  return "GAMEPAD_TOUCHPAD_DOWN";
		case SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION:  return "GAMEPAD_TOUCHPAD_MOTION";
		case SDL_EVENT_GAMEPAD_TOUCHPAD_UP:  return "GAMEPAD_TOUCHPAD_UP";
		case SDL_EVENT_GAMEPAD_SENSOR_UPDATE:  return "GAMEPAD_SENSOR_UPDATE";
		case SDL_EVENT_GAMEPAD_UPDATE_COMPLETE:  return "GAMEPAD_UPDATE_COMPLETE";
		case SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED:  return "GAMEPAD_STEAM_HANDLE_UPDATED";
		case SDL_EVENT_FINGER_DOWN:  return "FINGER_DOWN";
		case SDL_EVENT_FINGER_UP:  return "FINGER_UP";
		case SDL_EVENT_FINGER_MOTION:  return "FINGER_MOTION";
		case SDL_EVENT_FINGER_CANCELED:  return "FINGER_CANCELED";
		case SDL_EVENT_CLIPBOARD_UPDATE:  return "CLIPBOARD_UPDATE";
		case SDL_EVENT_DROP_FILE:  return "DROP_FILE";
		case SDL_EVENT_DROP_TEXT:  return "DROP_TEXT";
		case SDL_EVENT_DROP_BEGIN:  return "DROP_BEGIN";
		case SDL_EVENT_DROP_COMPLETE:  return "DROP_COMPLETE";
		case SDL_EVENT_DROP_POSITION:  return "DROP_POSITION";
		case SDL_EVENT_AUDIO_DEVICE_ADDED:  return "AUDIO_DEVICE_ADDED";
		case SDL_EVENT_AUDIO_DEVICE_REMOVED:  return "AUDIO_DEVICE_REMOVED";
		case SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED:  return "AUDIO_DEVICE_FORMAT_CHANGED";
		case SDL_EVENT_SENSOR_UPDATE:  return "SENSOR_UPDATE";
		case SDL_EVENT_PEN_PROXIMITY_IN:  return "PEN_PROXIMITY_IN";
		case SDL_EVENT_PEN_PROXIMITY_OUT:  return "PEN_PROXIMITY_OUT";
		case SDL_EVENT_PEN_DOWN:  return "PEN_DOWN";
		case SDL_EVENT_PEN_UP:  return "PEN_UP";
		case SDL_EVENT_PEN_BUTTON_DOWN:  return "PEN_BUTTON_DOWN";
		case SDL_EVENT_PEN_BUTTON_UP:  return "PEN_BUTTON_UP";
		case SDL_EVENT_PEN_MOTION:  return "PEN_MOTION";
		case SDL_EVENT_PEN_AXIS:  return "PEN_AXIS";
		case SDL_EVENT_CAMERA_DEVICE_ADDED:  return "CAMERA_DEVICE_ADDED";
		case SDL_EVENT_CAMERA_DEVICE_REMOVED:  return "CAMERA_DEVICE_REMOVED";
		case SDL_EVENT_CAMERA_DEVICE_APPROVED:  return "CAMERA_DEVICE_APPROVED";
		case SDL_EVENT_CAMERA_DEVICE_DENIED:  return "CAMERA_DEVICE_DENIED";
		case SDL_EVENT_RENDER_TARGETS_RESET:  return "RENDER_TARGETS_RESET";
		case SDL_EVENT_RENDER_DEVICE_RESET:  return "RENDER_DEVICE_RESET";
		case SDL_EVENT_RENDER_DEVICE_LOST:  return "RENDER_DEVICE_LOST";
		case SDL_EVENT_PRIVATE0:  return "PRIVATE0";
		case SDL_EVENT_PRIVATE1:  return "PRIVATE1";
		case SDL_EVENT_PRIVATE2:  return "PRIVATE2";
		case SDL_EVENT_PRIVATE3:  return "PRIVATE3";
		case SDL_EVENT_POLL_SENTINEL:  return "POLL_SENTINEL";
		case SDL_EVENT_USER:  return "USER";
		case SDL_EVENT_LAST:  return "LAST";
		case SDL_EVENT_ENUM_PADDING:  return "ENUM_PADDING";
		default: return "User Event";
	}
}

Nice. My only small complaint is that it returns “User Event” for all unknown events. I think it makes more sense to only return “User Event” for values from SDL_EVENT_USER and above, and “Unknown Event” for the rest.

Too bad discourse doesnt have an :100: button.
I’m too lazy to change it since I likely won’t use the above after I fix a couple this this week