Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)



XAnyEvent(3X11)     RISC/os Reference Manual      XAnyEvent(3X11)



NAME
     XAnyEvent, XEvent - generic X event structures

STRUCTURES
     All the event structures declared in <X11/Xlib.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 identifies it.  For example, when the X server
     reports a GraphicsExpose event to a client application, it
     sends an XGraphicsExposeEvent structure with the type member
     set to GraphicsExpose.  The display member is set to a
     pointer to the display the event was read on.  The
     send_event member is set to True if the event came from a
     SendEvent 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 XEvent 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;



                         Printed 1/24/91         Release 4 Page 1





XAnyEvent(3X11)     RISC/os Reference Manual      XAnyEvent(3X11)



          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 XEvent 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
     Bool that indicates if the event was sent by a different
     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 information 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)
     Xlib - C Language X Interface













Release 4 Page 2         Printed 1/24/91



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026