- } //horizontal stickiness
- break; //ascii horizontally grouped
- case 3:
- switch (type & 240) {
- case 48:
- addstr("||"); break; //middle
- case 64: case 80: case 96:
- addstr("[="); break; //left end
- case 112:
- addstr("|="); break;
- case 128: case 144: case 160:
- addstr("=]"); break; //right end
- case 176:
- addstr("=|"); break;
- case 192: case 208: case 224:
- addstr("=="); break;
- default:
- addstr("[]"); break; //top/bottom/mid
- } //neighbours
- break; //ascii semi-grouped
- case 7:
- switch (type & 240) {
- case 16: addch(ACS_ULCORNER); addch(ACS_URCORNER); break;//top end
- case 32: addch(ACS_LLCORNER); addch(ACS_LRCORNER); break;//bottom end
- case 48: addch(ACS_VLINE); addch(ACS_VLINE); break; //vertical middle
- case 64: addch('['); addch(ACS_HLINE); break; //left end
- case 80: addch(ACS_ULCORNER); addch(ACS_TTEE); break; //top left corner
- case 96: addch(ACS_LLCORNER); addch(ACS_BTEE); break; //bottom left corner
- case 112: addch(ACS_LTEE); addch(ACS_PLUS); break; //vertical+right
- case 128: addch(ACS_HLINE); addch(']'); break; //right end
- case 144: addch(ACS_TTEE); addch(ACS_URCORNER); break; //top right corner
- case 160: addch(ACS_BTEE); addch(ACS_LRCORNER); break; //bottom right corner
- case 176: addch(ACS_PLUS); addch(ACS_RTEE); break; //vertical+left
- case 192: addch(ACS_HLINE); addch(ACS_HLINE); break; //horizontal middle
- case 208: addch(ACS_TTEE); addch(ACS_TTEE); break; //horizontal+down
- case 224: addch(ACS_BTEE); addch(ACS_BTEE); break; //horizontal+up
- default: addstr("[]"); break;
- } //neighbours
- break; //curses grouped
- default:
+ } // horizontal stickiness
+ break;
+ case 3: // curses grouped
+ switch (type & 0xF0) {
+ case 0x10: addch(ACS_ULCORNER); addch(ACS_URCORNER); break; // top end
+ case 0x20: addch(ACS_LLCORNER); addch(ACS_LRCORNER); break; // bottom end
+ case 0x30: addch(ACS_VLINE); addch(ACS_VLINE); break; // vertical middle
+ case 0x40: addch('['); addch(ACS_HLINE); break; // left end
+ case 0x50: addch(ACS_ULCORNER); addch(ACS_TTEE); break; // top left corner
+ case 0x60: addch(ACS_LLCORNER); addch(ACS_BTEE); break; // bottom left corner
+ case 0x70: addch(ACS_LTEE); addch(ACS_PLUS); break; // vertical+right
+ case 0x80: addch(ACS_HLINE); addch(']'); break; // right end
+ case 0x90: addch(ACS_TTEE); addch(ACS_URCORNER); break; // top right corner
+ case 0xA0: addch(ACS_BTEE); addch(ACS_LRCORNER); break; // bottom right corner
+ case 0xB0: addch(ACS_PLUS); addch(ACS_RTEE); break; // vertical+left
+ case 0xC0: addch(ACS_HLINE); addch(ACS_HLINE); break; // horizontal middle
+ case 0xD0: addch(ACS_TTEE); addch(ACS_TTEE); break; // horizontal+down
+ case 0xE0: addch(ACS_BTEE); addch(ACS_BTEE); break; // horizontal+up
+ default: addstr("[]"); break; // all/none
+ } // neighbours
+ break;
+ default: // non-grouped