@Override
Rectangle computeTrim(Theme theme, GC gc) {
if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
int hTheme = OS.OpenThemeData(0, getClassId());
int x = clientArea.x, y = clientArea.y, width = clientArea.width, height = clientArea.height;
if ((style & SWT.LEFT) != 0) {
x -= TABITEM_INSET;
width += TABITEM_INSET;
}
y -= TABITEM_INSET;
height += TABITEM_INSET;
RECT rect = new RECT ();
rect.left = x;
rect.right = x + width;
rect.top = y;
rect.bottom = y + height;
RECT extent = new RECT ();
int[] part = getPartId(DrawData.WIDGET_WHOLE);
OS.GetThemeBackgroundExtent(hTheme, gc.handle, part[0], part[1], rect, extent);
extent.left -= TABITEM_INSET2;
extent.top -= TABITEM_INSET2;
extent.right += TABITEM_INSET2;
OS.CloseThemeData(hTheme);
return new Rectangle(extent.left, extent.top, extent.right - extent.left, extent.bottom - extent.top);
}
return new Rectangle(0, 0, 0, 0);
}