


XAnyEvent(3X11)						      XAnyEvent(3X11)
X11R5									X11R5



NAME
  XAnyEvent, XEvent - generic X	event structures

STRUCTURES
  All the event	structures declared in <_X_1_1/_X_l_i_b._h> have the following common
  members:

  typedef struct {
	  int type;
	  unsigned long	serial;	  /* # of last request processed by server */
	  Bool send_event;	  /* true if this came from a SendEvent	request	*/
	  Display *display;	  /* Display the event was read	from */
	  Window window;
  } XAnyEvent;

  The type member is set to the	event type constant name that uniquely iden-
  tifies it.  For example, when	the X server reports a _G_r_a_p_h_i_c_s_E_x_p_o_s_e event
  to a client application, it sends an _X_G_r_a_p_h_i_c_s_E_x_p_o_s_e_E_v_e_n_t structure with
  the type member set to _G_r_a_p_h_i_c_s_E_x_p_o_s_e.  The display member is	set to a
  pointer to the display the event was read on.	 The send_event	member is set
  to _T_r_u_e if the event came from a _S_e_n_d_E_v_e_n_t protocol request.	The serial
  member is set	from the serial	number reported	in the protocol	but expanded
  from the 16-bit least-significant bits to a full 32-bit value.  The window
  member is set	to the window that is most useful to toolkit dispatchers.

  The _X_E_v_e_n_t structure is a union of the individual structures declared	for
  each event type:

  typedef union	_XEvent	{
	  int type;	  /* must not be changed */
	  XAnyEvent xany;
	  XKeyEvent xkey;
	  XButtonEvent xbutton;
	  XMotionEvent xmotion;
	  XCrossingEvent xcrossing;
	  XFocusChangeEvent xfocus;
	  XExposeEvent xexpose;
	  XGraphicsExposeEvent xgraphicsexpose;
	  XNoExposeEvent xnoexpose;
	  XVisibilityEvent xvisibility;
	  XCreateWindowEvent xcreatewindow;
	  XDestroyWindowEvent xdestroywindow;
	  XUnmapEvent xunmap;
	  XMapEvent xmap;
	  XMapRequestEvent xmaprequest;
	  XReparentEvent xreparent;
	  XConfigureEvent xconfigure;
	  XGravityEvent	xgravity;
	  XResizeRequestEvent xresizerequest;
	  XConfigureRequestEvent xconfigurerequest;
	  XCirculateEvent xcirculate;
	  XCirculateRequestEvent xcirculaterequest;
	  XPropertyEvent xproperty;
	  XSelectionClearEvent xselectionclear;
	  XSelectionRequestEvent xselectionrequest;
	  XSelectionEvent xselection;
	  XColormapEvent xcolormap;
	  XClientMessageEvent xclient;
	  XMappingEvent	xmapping;
	  XErrorEvent xerror;
	  XKeymapEvent xkeymap;
	  long pad[24];
  } XEvent;

  An _X_E_v_e_n_t structure's	first entry always is the type member, which is	set
  to the event type.  The second member	always is the serial number of the
  protocol request that	generated the event.  The third	member always is
  send_event, which is a _B_o_o_l that indicates if	the event was sent by a	dif-
  ferent client.  The fourth member always is a	display, which is the display
  that the event was read from.	 Except	for keymap events, the fifth member
  always is a window, which has	been carefully selected	to be useful to
  toolkit dispatchers.	To avoid breaking toolkits, the	order of these first
  five entries is not to change.  Most events also contain a time member,
  which	is the time at which an	event occurred.	 In addition, a	pointer	to
  the generic event must be cast before	it is used to access any other infor-
  mation in the	structure.

SEE ALSO
  XButtonEvent(3X11), XCreateWindowEvent(3X11),	XCirculateEvent(3X11),
  XCirculateRequestEvent(3X11),	XColormapEvent(3X11), XConfigureEvent(3X11),
  XConfigureRequestEvent(3X11),	XCrossingEvent(3X11),
  XDestroyWindowEvent(3X11), XErrorEvent(3X11),	XExposeEvent(3X11),
  XFocusChangeEvent(3X11), XGraphicsExposeEvent(3X11), XGravityEvent(3X11),
  XKeymapEvent(3X11), XMapEvent(3X11), XMapRequestEvent(3X11),
  XPropertyEvent(3X11),	XReparentEvent(3X11), XResizeRequestEvent(3X11),
  XSelectionClearEvent(3X11), XSelectionEvent(3X11),
  XSelectionRequestEvent(3X11),	XUnmapEvent(3X11), XVisibilityEvent(3X11)
  _X_l_i_b - _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e




































