25 #include "../../gfx.h"
27 #if GFX_USE_GEVENT || defined(__DOXYGEN__)
33 typedef gU16 GEventType;
34 #define GEVENT_NULL 0x0000
35 #define GEVENT_EXIT 0x0001
38 #define GEVENT_GINPUT_FIRST 0x0100
39 #define GEVENT_GWIN_FIRST 0x0200
40 #define GEVENT_GADC_FIRST 0x0300
41 #define GEVENT_GAUDIO_FIRST 0x0340
42 #define GEVENT_USER_FIRST 0x8000
48 typedef union GEvent_u {
54 typedef void (*GEventCallbackFn)(
void *param, GEvent *pe);
57 typedef struct GListener {
60 GEventCallbackFn callback;
66 typedef struct GSource_t GSource, *GSourceHandle;
69 typedef struct GSourceListener_t {
192 void geventRegisterCallback(GListener *pl, GEventCallbackFn fn,
void *param);
void geventListenerInit(GListener *pl)
Create a Listener.
GEvent * geventGetEventBuffer(GSourceListener *psl)
Get the event buffer from the GSourceListener.
void geventDetachSource(GListener *pl, GSourceHandle gsh)
Detach a source from a listener.
void geventSendEvent(GSourceListener *psl)
Called by a source to indicate the listener's event buffer has been filled.
GEvent * geventEventWait(GListener *pl, gDelay timeout)
Wait for an event on a listener from an assigned source.
gBool geventAttachSource(GListener *pl, GSourceHandle gsh, gU32 flags)
Attach a source to a listener.
GSourceListener * geventGetSourceListener(GSourceHandle gsh, GSourceListener *lastlr)
Called by a source with a possible event to get a listener record.
void geventDetachSourceListeners(GSourceHandle gsh)
Detach any listener that has this source attached.
#define GEVENT_MAXIMUM_SIZE
Defines the maximum size of an event status variable.
void geventEventComplete(GListener *pl)
Release the GEvent buffer associated with a listener.