SynGame/allegro-5.0.10-mingw-4.7.0/include/allegro5/internal/aintern_events.h

49 lines
1.3 KiB
C

#ifndef __al_included_allegro5_aintern_events_h
#define __al_included_allegro5_aintern_events_h
#include "allegro5/internal/aintern_thread.h"
#include "allegro5/internal/aintern_vector.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct ALLEGRO_EVENT_SOURCE_REAL ALLEGRO_EVENT_SOURCE_REAL;
struct ALLEGRO_EVENT_SOURCE_REAL
{
_AL_MUTEX mutex;
_AL_VECTOR queues;
intptr_t data;
};
typedef struct ALLEGRO_USER_EVENT_DESCRIPTOR
{
void (*dtor)(ALLEGRO_USER_EVENT *event);
int refcount;
} ALLEGRO_USER_EVENT_DESCRIPTOR;
AL_FUNC(void, _al_init_events, (void));
AL_FUNC(void, _al_event_source_init, (ALLEGRO_EVENT_SOURCE*));
AL_FUNC(void, _al_event_source_free, (ALLEGRO_EVENT_SOURCE*));
AL_FUNC(void, _al_event_source_lock, (ALLEGRO_EVENT_SOURCE*));
AL_FUNC(void, _al_event_source_unlock, (ALLEGRO_EVENT_SOURCE*));
AL_FUNC(void, _al_event_source_on_registration_to_queue, (ALLEGRO_EVENT_SOURCE*, ALLEGRO_EVENT_QUEUE*));
AL_FUNC(void, _al_event_source_on_unregistration_from_queue, (ALLEGRO_EVENT_SOURCE*, ALLEGRO_EVENT_QUEUE*));
AL_FUNC(bool, _al_event_source_needs_to_generate_event, (ALLEGRO_EVENT_SOURCE*));
AL_FUNC(void, _al_event_source_emit_event, (ALLEGRO_EVENT_SOURCE *, ALLEGRO_EVENT*));
AL_FUNC(void, _al_event_queue_push_event, (ALLEGRO_EVENT_QUEUE*, const ALLEGRO_EVENT*));
#ifdef __cplusplus
}
#endif
#endif
/* vi ts=8 sts=3 sw=3 et */