SDL_HasEvent() 和 SDL_GetEventState() 有什么区别?

What is the difference between SDL_HasEvent() and SDL_GetEventState()?

我了解 SDL_HasEvent(Uint32 type) 检查事件队列中是否存在类型。但是,我不明白 SDL_GetEventState(Uint32 type) 的作用。
SDL2.0 wiki中有说明,我们使用SDL_GetEventState()来查询指定SDL_EventType的当前处理状态。我认为这两个功能是相同的。任何人都可以向我解释第二个功能的作用吗?非常感谢。

SDL_GetEventState与SDL_EventState函数相关。 SDL_EventState 函数允许您按类型启用和禁用事件。换句话说:

SDL_HasEvent 告诉您事件队列是否包含某种类型的事件。 SDL_GetEventState 告诉您事件队列是否忽略了某种类型的事件。

SDL_GetEventState 会告诉您 SDL 当前是否正在处理或忽略给定类型的事件,而不是队列是否实际包含这些事件。您可以使用 SDL_EventState 关闭整个类别的事件。