src_c/event.c¶
The extension module pygame.event
pygame module for interacting with events and queues.
Header file: src_c/include/pygame.h
-
type pgEvent_Type¶
The pygame event object type
pygame.event.EventType
.
-
int pgEvent_Check(PyObject *x)¶
Return true if x is a pygame event instance
Will return false if x is a subclass of event. This is a macro. No check is made that x is not
NULL
.
-
PyObject *pgEvent_New(SDL_Event *event)¶
Return a new pygame event instance for the SDL event. If event is
NULL
then create an empty event object. On failure raise a Python exception and returnNULL
.
-
char *pgEvent_GetKeyDownInfo(void)¶
Return an array of bools (using char) of length SDL_NUM_SCANCODES with the most recent key presses.
-
char *pgEvent_GetKeyUpInfo(void)¶
Return an array of bools (using char) of length SDL_NUM_SCANCODES with the most recent key releases.
-
char *pgEvent_GetMouseButtonDownInfo(void)¶
Return an array of bools (using char) of length 5 with the most recent button presses.
-
char *pgEvent_GetMouseButtonUpInfo(void)¶
Return an array of bools (using char) of length 5 with the most recent button releases.
-
int pg_post_event(Uint32 type, PyObject *dict)¶
Posts a pygame event that is an
SDL_USEREVENT
on the SDL side. This function takes a python dict, which can be NULL too. This function does not need GIL to be held if dict is NULL, but needs GIL otherwise. Just like the SDLSDL_PushEvent
function, returns 1 on success, 0 if the event was not posted due to it being blocked, and -1 on failure.
-
int pg_post_event_dictproxy(Uint32 type, pgEventDictProxy *dict_proxy)¶
Posts a pygame event that is an
SDL_USEREVENT
on the SDL side, can also optionally take a dictproxy instance. Using this dictproxy API is especially useful when multiple events that need to be posted share the same dict attribute, like in the case of event timers. This way, the number of python increfs and decrefs are reduced, and callers of this function don't need to hold GIL for every event posted, the GIL only needs to be held during the creation of the dictproxy instance, and when it is freed. Just like the SDLSDL_PushEvent
function, returns 1 on success, 0 if the event was not posted due to it being blocked, and -1 on failure.
Edit on GitHub