static void GrSetSelectionOwnerWrapper(void *r) { nxSetSelectionOwnerReq *req = r; GrSetSelectionOwner(req->wid, GetReqData(req)); }
/* FIXME: fails with size > 64k if sizeof(int) == 2*/ static void GrAreaWrapper(void *r) { nxAreaReq *req = r; GrArea(req->drawid, req->gcid, req->x, req->y, req->width, req->height, GetReqData(req), req->pixtype); }
static void GrTextWrapper(void *r) { nxTextReq *req = r; GrText(req->drawid, req->gcid, req->x, req->y, GetReqData(req), req->count, req->flags); }
static void GrSendClientDataWrapper(void *r) { nxSendClientDataReq *req = r; GrSendClientData(req->wid, req->did, req->serial, req->len, GetReqVarLen(req), GetReqData(req)); }
static void GrDrawImageFromFileWrapper(void *r) { nxDrawImageFromFileReq *req = r; GrDrawImageFromFile(req->drawid, req->gcid, req->x, req->y, req->width, req->height, GetReqData(req), req->flags); }
/* FIXME: fails with bitmapsize > 64k if sizeof(int) == 2*/ static void GrBitmapWrapper(void *r) { nxBitmapReq *req = r; GrBitmap(req->drawid, req->gcid, req->x, req->y, req->width, req->height, GetReqData(req)); }
/* FIXME: fails with pointtable size > 64k if sizeof(int) == 2*/ static void GrFillPolyWrapper(void *r) { nxPolyReq *req = r; int count; count = GetReqVarLen(req) / sizeof(GR_POINT); GrFillPoly(req->drawid, req->gcid, count, (GR_POINT *)GetReqData(req)); }
static void GrSetGCDashWrapper(void *r) { nxSetGCDashReq *req = r; char *buffer = ALLOCA(req->count); memcpy((void *) buffer, GetReqData(req), req->count); GrSetGCDash(req->gcid, buffer, req->count); FREEA(buffer); }
static void GrLoadImageFromFileWrapper(void *r) { nxLoadImageFromFileReq *req = r; GR_IMAGE_ID id; id = GrLoadImageFromFile(GetReqData(req), req->flags); GsWriteType(current_fd, GrNumLoadImageFromFile); GsWrite(current_fd, &id, sizeof(id)); }
static void GrCreateFontExWrapper(void *r) { nxCreateFontExReq *req = r; GR_FONT_ID fontid; fontid = GrCreateFontEx(GetReqData(req), req->height, req->width, NULL); GsWriteType(current_fd, GrNumCreateFontEx); GsWrite(current_fd, &fontid, sizeof(fontid)); }
static void GrNewBitmapRegionWrapper(void *r) { GR_REGION_ID region; nxNewBitmapRegionReq *req = r; region = GrNewBitmapRegion(GetReqData(req), req->width, req->height); GsWriteType(current_fd, GrNumNewBitmapRegion); GsWrite(current_fd, ®ion, sizeof(region)); }
static void GrSetWMPropertiesWrapper(void *r) { nxSetWMPropertiesReq *req = r; GR_WM_PROPERTIES *props = GetReqData(req); if(GetReqVarLen(req) - sizeof(GR_WM_PROPERTIES)) props->title = (GR_CHAR *)props + sizeof(GR_WM_PROPERTIES); else props->title = NULL; GrSetWMProperties(req->windowid, props); }
static void GrGetGCTextSizeWrapper(void *r) { nxGetGCTextSizeReq *req = r; GR_SIZE retwidth, retheight, retbase; GrGetGCTextSize(req->gcid, GetReqData(req), req->charcount, req->flags, &retwidth, &retheight, &retbase); GsWriteType(current_fd,GrNumGetGCTextSize); GsWrite(current_fd, &retwidth, sizeof(retwidth)); GsWrite(current_fd, &retheight, sizeof(retheight)); GsWrite(current_fd, &retbase, sizeof(retbase)); }
static void GrSetGCStippleWrapper(void *r) { nxSetGCStippleReq *req = r; GR_BITMAP *buffer; buffer = ALLOCA(GR_BITMAP_SIZE(req->width, req->height) * sizeof(GR_BITMAP)); memcpy((void *) buffer, GetReqData(req), GR_BITMAP_SIZE(req->width, req->height) * sizeof(GR_BITMAP)); GrSetGCStipple(req->gcid, (GR_BITMAP *)buffer, req->width, req->height); FREEA(buffer); }
static void GrNewPolygonRegionWrapper(void *r) { GR_REGION_ID region; nxNewPolygonRegionReq *req = r; int count; /* FIXME: unportable method, depends on sizeof(int) in GR_POINT*/ count = GetReqVarLen(req) / sizeof(GR_POINT); region = GrNewPolygonRegion(req->mode, count, (GR_POINT *)GetReqData(req)); GsWriteType(current_fd, GrNumNewPolygonRegion); GsWrite(current_fd, ®ion, sizeof(region)); }
static void GrNewCursorWrapper(void *r) { nxNewCursorReq *req = r; int varlen; char * bitmap; GR_CURSOR_ID cursorid; varlen = GetReqVarLen(req); bitmap = GetReqData(req); cursorid = GrNewCursor(req->width, req->height, req->hotx, req->hoty, req->fgcolor, req->bgcolor, (GR_BITMAP *)bitmap, (GR_BITMAP *)(bitmap+varlen/2)); GsWriteType(current_fd, GrNumNewCursor); GsWrite(current_fd, &cursorid, sizeof(cursorid)); }
static void GrImageBufferSendWrapper(void *r) { int csize; imagelist_t *buffer; nxImageBufferSendReq *req = r; buffer = findImageBuffer(req->buffer_id); if (!buffer) return; if (buffer->offset + req->size >= buffer->size) csize = buffer->size - buffer->offset; else csize = req->size; if (!csize) return; memcpy((void *) (((char *)buffer->data) + buffer->offset), GetReqData(req), csize); buffer->offset += csize; }
static void GrDrawImageBitsWrapper(void *r) { nxDrawImageBitsReq *req = r; char * addr; int imagesize; GR_IMAGE_HDR hdr; hdr.width = req->width; hdr.height = req->height; hdr.planes = req->planes; hdr.bpp = req->bpp; hdr.pitch = req->pitch; hdr.bytesperpixel = req->bytesperpixel; hdr.compression = req->compression; hdr.palsize = req->palsize; hdr.transcolor = req->transcolor; addr = GetReqData(req); hdr.imagebits = (MWUCHAR *)addr; imagesize = hdr.pitch * hdr.height; hdr.palette = (MWPALENTRY *)(addr + imagesize); GrDrawImageBits(req->drawid, req->gcid, req->x, req->y, &hdr); }
static void GrImageBufferSendWrapper(void *r) { int csize = 0; imagelist_t *buffer = 0; nxImageBufferSendReq *req = r; for(buffer = imageListHead; buffer; buffer = buffer->next) if (buffer->id == req->buffer_id) break; if (!buffer) return; if (buffer->offset + req->size >= buffer->size) csize = buffer->size - buffer->offset; else csize = req->size; if (!csize) return; memcpy((void *) (buffer->data + buffer->offset), GetReqData(req), csize); buffer->offset += csize; }