headerPaintVShadows (gc, orderedColumns [i].getX (), 0, orderedColumns [i].width, height);
headerPaintVShadows (gc, orderedColumns [i].getX (), 0, orderedColumns [i].width, headerSize.y);
void headerOnPaint (Event event) {	TableColumn[] orderedColumns = getOrderedColumns ();	int numColumns = orderedColumns.length;	GC gc = event.gc;	Rectangle clipping = gc.getClipping ();	int startColumn = -1, endColumn = -1;	if (numColumns > 0) {		startColumn = computeColumnIntersect (clipping.x, 0);		if (startColumn != -1) {	/* the clip x is within a column's bounds */			endColumn = computeColumnIntersect (clipping.x + clipping.width, startColumn);			if (endColumn == -1) endColumn = numColumns - 1;		}	} else {		startColumn = endColumn = 0;	}	/* paint the column header shadow that spans the full header width */	Point headerSize = header.getSize ();	headerPaintHShadows (gc, 0, 0, headerSize.x, headerSize.y);	/* if all damage is to the right of the last column then finished */	if (startColumn == -1) return;		/* paint each of the column headers */	if (numColumns == 0) return;	/* no headers to paint */	int height = getClientArea ().height;	for (int i = startColumn; i <= endColumn; i++) {		headerPaintVShadows (gc, orderedColumns [i].getX (), 0, orderedColumns [i].width, height);		orderedColumns [i].paint (gc);	}}