events: Changed SDL_GetEventState from a macro to a function.

Fixes #6773.
main
Ryan C. Gordon 2022-12-08 00:08:51 -05:00
parent 9a6bcca6b8
commit 7ca0d15d64
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
6 changed files with 31 additions and 4 deletions

View File

@ -56,6 +56,8 @@ The `timestamp_us` member of the sensor events has been renamed `sensor_timestam
You should set the `event.common.timestamp` field before passing an event to `SDL_PushEvent()`. If the timestamp is 0 it will be filled in with `SDL_GetTicksNS()`.
SDL_GetEventState used to be a macro, now it's a real function, but otherwise functions identically.
## SDL_gamecontroller.h

View File

@ -1097,7 +1097,7 @@ extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter,
#define SDL_ENABLE 1
/**
* Set the state of processing events by type.
* Set or query the state of processing events by type.
*
* `state` may be any of the following:
*
@ -1116,8 +1116,26 @@ extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter,
* \sa SDL_GetEventState
*/
extern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint32 type, int state);
/**
* Query the state of processing events by type.
*
* This is equivalent to calling `SDL_EventState(type, SDL_QUERY)`.
*
* In SDL3, this is a proper function, but in SDL2, this was a macro.
*
* \param type the type of event; see SDL_EventType for details
* \returns `SDL_DISABLE` or `SDL_ENABLE`, representing the processing state
* of the event before this function makes any changes to it.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_EventState
*/
extern DECLSPEC Uint8 SDLCALL SDL_GetEventState(Uint32 type);
/* @} */
#define SDL_GetEventState(type) SDL_EventState(type, SDL_QUERY)
/**
* Allocate a set of user-defined events, and return the beginning event

View File

@ -864,6 +864,7 @@ SDL3_0.0.0 {
SDL_GetPowerInfo;
SDL_GetTicksNS;
SDL_DelayNS;
SDL_GetEventState;
# extra symbols go here (don't modify this line)
local: *;
};

View File

@ -888,3 +888,4 @@
#define SDL_memset4 SDL_memset4_REAL
#define SDL_GetTicksNS SDL_GetTicksNS_REAL
#define SDL_DelayNS SDL_DelayNS_REAL
#define SDL_GetEventState SDL_GetEventState_REAL

View File

@ -964,3 +964,4 @@ SDL_DYNAPI_PROC(int,SDL_GetWindowWMInfo,(SDL_Window *a, SDL_SysWMinfo *b, Uint32
SDL_DYNAPI_PROC(void*,SDL_memset4,(void *a, Uint32 b, size_t c),(a,b,c),return)
SDL_DYNAPI_PROC(Uint64,SDL_GetTicksNS,(void),(),return)
SDL_DYNAPI_PROC(void,SDL_DelayNS,(Uint64 a),(a),)
SDL_DYNAPI_PROC(Uint8,SDL_GetEventState,(Uint32 a),(a),return)

View File

@ -1388,8 +1388,12 @@ Uint8 SDL_EventState(Uint32 type, int state)
return current_state;
}
Uint32
SDL_RegisterEvents(int numevents)
Uint8 SDL_GetEventState(Uint32 type)
{
return SDL_EventState(type, SDL_QUERY);
}
Uint32 SDL_RegisterEvents(int numevents)
{
Uint32 event_base;