|
|
1.1 ! root 1: #include "copyright.h" ! 2: ! 3: /* $Header: XSendEvent.c,v 11.6 87/09/11 08:06:40 toddb Exp $ */ ! 4: /* Copyright Massachusetts Institute of Technology 1986 */ ! 5: ! 6: #define NEED_EVENTS ! 7: #include "Xlibint.h" ! 8: ! 9: extern _XEventToWire(); ! 10: /* ! 11: * In order to avoid all images requiring _XEventToWire, we install the ! 12: * event converter here if it has never been installed. ! 13: */ ! 14: XSendEvent(dpy, w, propagate, event_mask, event) ! 15: register Display *dpy; ! 16: Window w; ! 17: Bool propagate; ! 18: unsigned long event_mask; /* CARD32 */ ! 19: XEvent *event; ! 20: { ! 21: register xSendEventReq *req; ! 22: xEvent ev; ! 23: register (**fp)(); ! 24: ! 25: LockDisplay (dpy); ! 26: GetReq(SendEvent, req); ! 27: req->destination = w; ! 28: req->propagate = propagate; ! 29: req->eventMask = event_mask; ! 30: ! 31: /* call through display to find proper conversion routine */ ! 32: ! 33: fp = &dpy->wire_vec[event->type & 0177]; ! 34: if (*fp == NULL) *fp = _XEventToWire; ! 35: (**fp)(dpy, event, &ev); ! 36: req->event = ev; ! 37: ! 38: UnlockDisplay(dpy); ! 39: SyncHandle(); ! 40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.