#include "lx.h" #include "proto.h" #include "internal.h" void lx_WarpPointer(LX_CONN *xc, LX_XID src, LX_XID dst, int sx, int sy, int sw, int sh, int dx, int dy) { unsigned char req[24]; if ( (xc->flags & XCF_FAIL) || (sx < -32768) || (sx > 32767) || (sy < -32768) || (sy > 32767) || (sw < 0) || (sw > 65535) || (sh < 0) || (sh > 65535) || (dx < -32768) || (dx > 32767) || (dy < -32768) || (dy > 32767) ) { lx__bad_call(xc,"lx_WarpPointer"); return; } lx__nochain(xc); if (src == LX_WINDOW_None) src = 0; if (dst == LX_WINDOW_None) dst = 0; req[0] = XP_REQ_WarpPointer; req[1] = 0; w_card16(&req[2],6); w_card32(&req[4],src); w_card32(&req[8],dst); w_int16(&req[12],sx); w_int16(&req[14],sy); w_card16(&req[16],sw); w_card16(&req[18],sh); w_int16(&req[20],dx); w_int16(&req[22],dy); lx__send_req(xc,&req[0],-1); }