add: int imageXOffset = 0, imageYOffset = 0; int textXOffset = 0, textYOffset = 0;
context: DrawMenuEntryLabel(    TkMenu *menuPtr,			/* The menu we are drawing */    TkMenuEntry *mePtr,			/* The entry we are drawing */    Drawable d,				/* What we are drawing into */    GC gc,				/* The gc we are drawing into */    Tk_Font tkfont,			/* The precalculated font */    CONST Tk_FontMetrics *fmPtr,	/* The precalculated font metrics */    int x,				/* left edge */    int y,				/* right edge */    int width,				/* width of entry */    int height)				/* height of entry */{    int baseline;    int indicatorSpace =  mePtr->indicatorSpace;    int activeBorderWidth;    int leftEdge;    int imageHeight, imageWidth;    Tk_GetPixelsFromObj(menuPtr->interp, menuPtr->tkwin,	    menuPtr->activeBorderWidthPtr, &activeBorderWidth);    leftEdge = x + indicatorSpace + activeBorderWidth;    /*     * Draw label or bitmap or image for entry.     */    baseline = y + (height + fmPtr->ascent - fmPtr->descent) / 2;    if (mePtr->image != NULL) {    	Tk_SizeOfImage(mePtr->image, &imageWidth, &imageHeight);    	if ((mePtr->selectImage != NULL)	    	&& (mePtr->entryFlags & ENTRY_SELECTED)) {	    Tk_RedrawImage(mePtr->selectImage, 0, 0,		    imageWidth, imageHeight, d, leftEdge,	            (int) (y + (mePtr->height - imageHeight)/2));    	} else {	    Tk_RedrawImage(mePtr->image, 0, 0, imageWidth,		    imageHeight, d, leftEdge,		    (int) (y + (mePtr->height - imageHeight)/2));    	}    } else if (mePtr->bitmapPtr != NULL) {    	int width, height;	Pixmap bitmap = Tk_GetBitmapFromObj(menuPtr->tkwin, mePtr->bitmapPtr);        Tk_SizeOfBitmap(menuPtr->display, bitmap, &width, &height);    	XCopyPlane(menuPtr->display, bitmap, d,	gc, 0, 0, (unsigned) width, 		(unsigned) height, leftEdge,		(int) (y + (mePtr->height - height)/2), 1);    } else {    	if (mePtr->labelLength > 0) {	    char *label = Tcl_GetStringFromObj(mePtr->labelPtr, NULL);	    /* Win 95/98 systems draw disabled menu text with a	     * 3D highlight, unless the menu item is highlighted */	    if ((mePtr->state == ENTRY_DISABLED) &&	            ((mePtr->entryFlags & ENTRY_PLATFORM_FLAG1) == 0)){	        COLORREF oldFgColor = gc->foreground;		gc->foreground = GetSysColor(COLOR_3DHILIGHT);	        Tk_DrawChars(menuPtr->display, d, gc, tkfont, label, 		        mePtr->labelLength, leftEdge + textXOffset + 1, 		        baseline + textYOffset + 1);		gc->foreground = oldFgColor;	    }	    Tk_DrawChars(menuPtr->display, d, gc, tkfont, label, 		    mePtr->labelLength, leftEdge, baseline);	    DrawMenuUnderline(menuPtr, mePtr, d, gc, tkfont, fmPtr, x, y,		    width, height);    	}    }    if (mePtr->state == ENTRY_DISABLED) {	if (menuPtr->disabledFgPtr == NULL) {	    XFillRectangle(menuPtr->display, d, menuPtr->disabledGC, x, y,		    (unsigned) width, (unsigned) height);	} else if ((mePtr->image != NULL) 		&& (menuPtr->disabledImageGC != None)) {	    XFillRectangle(menuPtr->display, d, menuPtr->disabledImageGC,		    leftEdge,		    (int) (y + (mePtr->height - imageHeight)/2),		    (unsigned) imageWidth, (unsigned) imageHeight);	}    }}