// Draw the border if it exists
super.draw(toolkit);
/* Get the absolute origin of this component.
*/
Point origin = getLocationOnScreen();
Insets insets = super.getInsets();
origin.translate(insets.left, insets.top);
int colorpair = getCursesColor();
int offset = ((_value - _minimum) * _width) / _maximum;
if ( ! isIndeterminate()) {
for (int i=0; i< offset; i++) {
toolkit.setCursor(origin.addOffset(i, 0));
toolkit.addChar(' ', Toolkit.A_REVERSE, colorpair);
}
for (int k=offset; k<_width; k++) {
toolkit.setCursor(origin.addOffset(k,0));
toolkit.addChar(Toolkit.ACS_CKBOARD, 0, colorpair);
}
}
else {
for (int i=0; i< _width; i++) {
toolkit.setCursor(origin.addOffset(i, 0));
toolkit.addChar(' ', 0, colorpair);
}
toolkit.setCursor(origin.addOffset(offset, 0));
toolkit.addChar(' ', Toolkit.A_REVERSE, colorpair);
}
// Display the progress string if required
if (isStringPainted()) {
offset = (getSize().width - _string.length()) / 2;
toolkit.setCursor(origin.addOffset(offset, 0));
toolkit.addString(_string, 0, colorpair);
}
}