// Copyright status: this file is in the public domain. #include "lx.h" #include "proto.h" #include "internal.h" void lx_CopyPlane(LX_CONN *xc, LX_XID src, LX_XID dst, LX_XID gc, int sx, int sy, int dx, int dy, int w, int h, unsigned int bit) { unsigned char req[32]; if ( (xc->flags & XCF_FAIL) || (sx < -3278) || (sx > 32767) || (sy < -3278) || (sy > 32767) || (dx < -3278) || (dx > 32767) || (dy < -3278) || (dy > 32767) || (w < 0) || (w > 65535) || (h < 0) || (h > 65535) ) { lx__bad_call(xc,"lx_CopyPlane"); return; } lx__nochain(xc); req[0] = XP_REQ_CopyPlane; req[1] = 0; // unused w_card16(&req[2],8); w_card32(&req[4],src); w_card32(&req[8],dst); w_card32(&req[12],gc); w_int16(&req[16],sx); w_int16(&req[18],sy); w_int16(&req[20],dx); w_int16(&req[22],dy); w_card16(&req[24],w); w_card16(&req[26],h); w_card32(&req[28],bit); lx__send_req(xc,&req[0],-1); }