add: case WTEX_IGRADIENT: image = RRenderInterwovenGradient(width, height, texture->igradient.colors1, texture->igradient.thickness1, texture->igradient.colors2, texture->igradient.thickness2); break;
context: wTextureRenderImage(WTexture *texture, int width, int height,		    int relief){    RImage *image = NULL;    RColor color1;    int d;    int subtype;        switch (texture->any.type) {     case WTEX_SOLID:	image = RCreateImage(width, height, False);		color1.red = texture->solid.normal.red >> 8;	color1.green = texture->solid.normal.green >> 8;	color1.blue = texture->solid.normal.blue >> 8;        color1.alpha = 255;        	RClearImage(image, &color1);	break;	     case WTEX_PIXMAP:	if (texture->pixmap.subtype == WTP_TILE) {            image = RMakeTiledImage(texture->pixmap.pixmap, width, height);        } else if (texture->pixmap.subtype == WTP_CENTER) {            color1.red = texture->pixmap.normal.red>>8;            color1.green = texture->pixmap.normal.green>>8;            color1.blue = texture->pixmap.normal.blue>>8;            color1.alpha = 255;            image = RMakeCenteredImage(texture->pixmap.pixmap, width, height,                                       &color1);        } else {            image = RScaleImage(texture->pixmap.pixmap, width, height);        }	break;	     case WTEX_HGRADIENT:	subtype = RGRD_HORIZONTAL;	goto render_gradient;	     case WTEX_VGRADIENT:	subtype = RGRD_VERTICAL;	goto render_gradient;	     case WTEX_DGRADIENT:	subtype = RGRD_DIAGONAL;     render_gradient:	image = RRenderGradient(width, height, &texture->gradient.color1, 				&texture->gradient.color2, subtype);	break;	     case WTEX_MHGRADIENT:	subtype = RGRD_HORIZONTAL;	goto render_mgradient;     case WTEX_MVGRADIENT:	subtype = RGRD_VERTICAL;	goto render_mgradient;	     case WTEX_MDGRADIENT:	subtype = RGRD_DIAGONAL;     render_mgradient:	image = RRenderMultiGradient(width, height, 				     &(texture->mgradient.colors[1]),				     subtype);	break;     case WTEX_THGRADIENT:	subtype = RGRD_HORIZONTAL;	goto render_tgradient;     case WTEX_TVGRADIENT:	subtype = RGRD_VERTICAL;	goto render_tgradient;     case WTEX_TDGRADIENT:	subtype = RGRD_DIAGONAL;     render_tgradient:	{	    RImage *grad;	    image = RMakeTiledImage(texture->tgradient.pixmap, width, height);	    if (!image)		break;	    grad = RRenderGradient(width, height, &texture->tgradient.color1,				   &texture->tgradient.color2, subtype);	    if (!grad) {		RDestroyImage(image);		image = NULL;		break;	    }	    RCombineImagesWithOpaqueness(image, grad,					 texture->tgradient.opacity);	    RDestroyImage(grad);	}	break;#ifdef TEXTURE_PLUGIN     case WTEX_FUNCTION:#ifdef HAVE_DLFCN_H	if (texture->function.render) {            image = texture->function.render (	        texture->function.argc, texture->function.argv,		width, height, relief);	}#endif	if (!image) {	    RErrorCode = RERR_INTERNAL;	}        break;#endif /* TEXTURE_PLUGIN */     default:	puts("ERROR in wTextureRenderImage()");	image = NULL;	break;    }    if (!image) {	RColor gray;	wwarning(_("could not render texture: %s"), RMessageForError(RErrorCode));	image = RCreateImage(width, height, False);       	gray.red = 190;	gray.green = 190;	gray.blue = 190;        gray.alpha = 255;	RClearImage(image, &gray);    }    /* render bevel */        switch (relief) {    case WREL_ICON:	d = RBEV_RAISED3;	break;     case WREL_RAISED:	d = RBEV_RAISED2;	break;	     case WREL_SUNKEN:	d = RBEV_SUNKEN;	break;	     case WREL_FLAT:	d = 0;	break;     case WREL_MENUENTRY:	d = -WREL_MENUENTRY;	break;     default:	d = 0;    }        if (d > 0) {	RBevelImage(image, d);    } else if (d < 0) {	bevelImage(image, -d);    }        return image;}