#include "lx.h" #include "proto.h" #include "internal.h" void lx_SetInputFocus(LX_CONN *xc, LX_XID focus, LX_XID revert, LX_TIME time) { unsigned char req[24]; int pr; if (xc->flags & XCF_FAIL) { lx__bad_call(xc,"lx_SetInputFocus"); return; } switch (focus) { case LX_FOCUS_None: focus = 0; break; case LX_FOCUS_PointerRoot: focus = 1; break; } switch (revert) { case LX_FOCUS_None: pr = 0; break; case LX_FOCUS_PointerRoot: pr = 1; break; case LX_FOCUS_Parent: pr = 2; break; default: lx__bad_call(xc,"lx_SetInputFocus"); return; break; } req[0] = XP_REQ_SetInputFocus; req[1] = pr; w_card16(&req[2],3); w_card32(&req[4],focus); w_card32(&req[8],time); lx__send_req(xc,&req[0],12); }