barRectWidth/2 + 1, barRectHeight + 1 - amountFull + 2);
paintString(g, 2, 2, barRectWidth, barRectHeight, amountFull, null);
}
} else {
Skin skin = xp.getSkin(progressBar, vertical ? Part.PP_CHUNKVERT : Part.PP_CHUNK);
int thickness;
if (vertical) {
thickness = barRectWidth - 5;
} else {
thickness = barRectHeight - 5;
}
int chunkSize = xp.getInt(progressBar, Part.PP_PROGRESS, null, Prop.PROGRESSCHUNKSIZE, 2);
int spaceSize = xp.getInt(progressBar, Part.PP_PROGRESS, null, Prop.PROGRESSSPACESIZE, 0);
int nChunks = (amountFull-4) / (chunkSize + spaceSize);
// See if we can squeeze in an extra chunk without spacing after
if (spaceSize > 0 && (nChunks * (chunkSize + spaceSize) + chunkSize) < (amountFull-4)) {
nChunks++;
}
for (int i = 0; i < nChunks; i++) {
if (vertical) {
skin.paintSkin(g,
3, barRectHeight - i * (chunkSize + spaceSize) - chunkSize - 2,
thickness, chunkSize, null);
} else {
if (isLeftToRight) {
skin.paintSkin(g,
4 + i * (chunkSize + spaceSize), 2,
chunkSize, thickness, null);
} else {
skin.paintSkin(g,
barRectWidth - (2 + (i+1) * (chunkSize + spaceSize)), 2,
chunkSize, thickness, null);
}
}
}