+ // Now draw the correct corners
+ for (int i = top; i < rows.size(); i++) {
+ if (rows.get(i).get(left).isVisible() == false) {
+ break;
+ }
+ for (int j = left; j < columns.size(); j++) {
+ if (columns.get(j).get(i).isVisible() == false) {
+ break;
+ }
+ if ((i == top) && (topBorder == Border.SINGLE)
+ && (columns.get(j).rightBorder == Border.SINGLE)
+ ) {
+ // Top tee
+ putCharXY(columns.get(j).getX() + columns.get(j).width,
+ (showColumnLabels ? COLUMN_LABEL_HEIGHT : 0),
+ '\u252c', borderColor);
+ }
+ if ((j == left) && (leftBorder == Border.SINGLE)
+ && (rows.get(i).bottomBorder == Border.SINGLE)
+ ) {
+ // Left tee
+ putCharXY((showRowLabels ? ROW_LABEL_WIDTH : 0),
+ rows.get(i).getY() + rows.get(i).height - 1,
+ '\u251c', borderColor);
+ }
+ if ((columns.get(j).rightBorder == Border.SINGLE)
+ && (rows.get(i).bottomBorder == Border.SINGLE)
+ ) {
+ // Intersection of single bars
+ putCharXY(columns.get(j).getX() + columns.get(j).width,
+ rows.get(i).getY() + rows.get(i).height - 1,
+ '\u253c', borderColor);
+ }
+ if ((j == left) && (leftBorder == Border.SINGLE)
+ && (rows.get(i).bottomBorder == Border.DOUBLE)
+ ) {
+ // Left tee: single bar vertical, double bar horizontal
+ putCharXY((showRowLabels ? ROW_LABEL_WIDTH : 0),
+ rows.get(i).getY() + rows.get(i).height - 1,
+ '\u255e', borderColor);
+ }
+ if ((j == left) && (leftBorder == Border.SINGLE)
+ && (rows.get(i).bottomBorder == Border.THICK)
+ ) {
+ // Left tee: single bar vertical, thick bar horizontal
+ putCharXY((showRowLabels ? ROW_LABEL_WIDTH : 0),
+ rows.get(i).getY() + rows.get(i).height - 1,
+ '\u251d', borderColor);
+ }
+ if ((columns.get(j).rightBorder == Border.SINGLE)
+ && (rows.get(i).bottomBorder == Border.DOUBLE)
+ ) {
+ // Intersection: single bar vertical, double bar
+ // horizontal
+ putCharXY(columns.get(j).getX() + columns.get(j).width,
+ rows.get(i).getY() + rows.get(i).height - 1,
+ '\u256a', borderColor);
+ }
+ if ((columns.get(j).rightBorder == Border.SINGLE)
+ && (rows.get(i).bottomBorder == Border.THICK)
+ ) {
+ // Intersection: single bar vertical, thick bar
+ // horizontal
+ putCharXY(columns.get(j).getX() + columns.get(j).width,
+ rows.get(i).getY() + rows.get(i).height - 1,
+ '\u253f', borderColor);
+ }
+ }
+ }