int y = (size.y / 2) + (int) (radius / 1.2 * Math.sin(-angleRad));
String label = String.format("%,.2f%%", (double) slice.getValue() / total * 100); //$NON-NLS-1$
Point extend = gc.stringExtent(label);
gc.setForeground(Colors.getTextColor(slice.getColor()));
gc.drawString(label, x - extend.x / 2, y - extend.y / 2, true);
// label
x = (size.x / 2) + (int) ((radius + 10) * Math.cos(-angleRad));
y = (size.y / 2) + (int) ((radius + 10) * Math.sin(-angleRad));