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

时间:2015-12-26 08:26:06

标签: c++ sdl-2

我理解select CT.CustomerCode, C.CustomerName, sale1 = case when (ct.TransTypeID = 11) and (sum(ct.OVAmount - ct.OVDiscount) != 0) then sum(ct.OVAmount - ct.OVDiscount) - sum(ct.OVAmount - ct.OVDiscount) else 0 end, C.CountryCode, C.CityCode from CustomerTransactions CT inner join Customers C ON CT.CustomerCode = C.CustomerCode where ct.TransDate >= '2015-01-01' and ct.TransDate <= '2015-12-31' and ct.TransTypeID in (10, 11) group by ct.CustomerCode, c.CustomerName, c.CountryCode, c.CityCode 检查事件队列中是否存在类型。但是,我不明白S SDL_HasEvent(Uint32 type)的作用。
在SDL2.0 wiki中声明我们使用DL_GetEventState(Uint32 type)来查询指定SDL_GetEventState()的当前处理状态。我认为这两个功能是一样的。任何人都可以向我解释第二个功能的作用吗?非常感谢你。

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:3)

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