return new Point (trim.width, trim.height);
return new Point (trim.width - trim.x, trim.height - trim.y);
public Point computeSize (int wHint, int hHint, boolean changed) {	checkWidget();	int minWidth = 0;	int minHeight = 0;	// preferred width of tab area to show all tabs	GC gc = new GC(this);	for (int i = 0; i < items.length; i++) {		minWidth += items[i].preferredWidth(gc);	}	gc.dispose();	// preferred size of controls in tab items	for (int i = 0; i < items.length; i++) {		Control control = items[i].getControl();		if (control != null && !control.isDisposed()){			Point size = control.computeSize (wHint, hHint);			minWidth = Math.max (minWidth, size.x);			minHeight = Math.max (minHeight, size.y);		}	}	if (minWidth == 0) minWidth = DEFAULT_WIDTH;	if (minHeight == 0) minHeight = DEFAULT_HEIGHT;	if (wHint != SWT.DEFAULT) minWidth  = wHint;	if (hHint != SWT.DEFAULT) minHeight = hHint;	Rectangle trim = computeTrim(0, 0, minWidth, minHeight);	return new Point (trim.width, trim.height);}