#include "lx.h" #include "proto.h" #include "internal.h" static void do_CreateGlyphCursor( const char *call, LX_CONN *xc, LX_XID srcfont, LX_XID maskfont, int srcchar, int maskchar, int fr, int fg, int fb, int br, int bg, int bb ) { LX_XID cid; unsigned char req[32]; if ( (xc->flags & XCF_FAIL) || (srcchar < 0) || (srcchar > 65535) || (maskchar < 0) || (maskchar > 65535) || (fr < 0) || (fr > 65535) || (fg < 0) || (fg > 65535) || (fb < 0) || (fb > 65535) || (br < 0) || (br > 65535) || (bg < 0) || (bg > 65535) || (bb < 0) || (bb > 65535) ) { lx__bad_call(xc,call); return; } cid = lx__new_resource_id(xc); req[0] = XP_REQ_CreateGlyphCursor; req[1] = 0; w_card16(&req[2],8); w_card32(&req[4],cid); w_card32(&req[8],srcfont); w_card32(&req[12],(maskfont==LX_FONT_None)?0:maskfont); w_card16(&req[16],srcchar); w_card16(&req[18],maskchar); w_card16(&req[20],fr); w_card16(&req[22],fr); w_card16(&req[24],fg); w_card16(&req[26],fb); w_card16(&req[28],br); w_card16(&req[30],bg); lx__send_req(xc,&req[0],32); } void lx_CreateGlyphCursor( LX_CONN *xc, LX_XID srcfont, LX_XID maskfont, int srcchar, int maskchar, int fr, int fg, int fb, int br, int bg, int bb ) { do_CreateGlyphCursor("lx_CreateGlyphCursor",xc,srcfont,maskfont,srcchar,maskchar,fr,fg,fb,br,bg,bb); } void lx_CreateGlyphCursor_rgb(LX_CONN *xc, LX_XID srcfont, LX_XID maskfont, int srcchar, int maskchar, LX_RGB fg, LX_RGB bg) { do_CreateGlyphCursor("lx_CreateGlyphCursor_rgb",xc,srcfont,maskfont,srcchar,maskchar,fg.r,fg.g,fg.b,bg.r,bg.g,bg.b); }