Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
al_emit_user_event(3)	   Library Functions Manual	 al_emit_user_event(3)

NAME
       al_emit_user_event - Allegro 5 API

SYNOPSIS
	      #include <allegro5/allegro.h>

	      bool al_emit_user_event(ALLEGRO_EVENT_SOURCE *src,
		 ALLEGRO_EVENT *event, void (*dtor)(ALLEGRO_USER_EVENT *))

DESCRIPTION
       Emit  an	 event	from  a	user event source.  The	event source must have
       been initialised	with al_init_user_event_source(3).  Returns  false  if
       the  event  source  isn't  registered  with any queues, hence the event
       wouldn't	have been delivered into any queues.

       Events are copied in and	out of event queues, so	 after	this  function
       returns	the  memory  pointed to	by event may be	freed or reused.  Some
       fields of the event being passed	in may be modified by the function.

       Reference counting will be performed if dtor is not NULL.   Whenever  a
       copy  of	the event is made, the reference count increases.  You need to
       call al_unref_user_event(3) to decrease the reference  count  once  you
       are   done   with   a   user   event   that   you  have	received  from
       al_get_next_event(3), al_peek_next_event(3), al_wait_for_event(3), etc.

       Once the	reference count	drops to zero dtor will	be called with a  copy
       of  the	event as an argument.  It should free the resources associated
       with the	event, but not the event itself	(since it is just a copy).

       If dtor is NULL then reference counting will not	be performed.	It  is
       safe,  but unnecessary, to call al_unref_user_event(3) on non-reference
       counted user events.

       You can use al_emit_user_event to emit both user	 and  non-user	events
       from  your user event source.  Note that	emitting input events will not
       update the corresponding	input device states.   For  example,  you  may
       emit an event of	type ALLEGRO_EVENT_KEY_DOWN(3),	but it will not	update
       the ALLEGRO_KEYBOARD_STATE(3) returned by al_get_keyboard_state(3).

SEE ALSO
       ALLEGRO_USER_EVENT(3), al_unref_user_event(3)

Allegro	reference manual				 al_emit_user_event(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=al_emit_user_event&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help