… | |
… | |
343 | { |
343 | { |
344 | uint16_t offs = linedraw_offs[t - 0x2500]; |
344 | uint16_t offs = linedraw_offs[t - 0x2500]; |
345 | uint32_t *a = linedraw_command + (offs >> 4); |
345 | uint32_t *a = linedraw_command + (offs >> 4); |
346 | uint32_t *b = a + (offs & 15); |
346 | uint32_t *b = a + (offs & 15); |
347 | |
347 | |
348 | int W = r->TermWin.fwidth * wcwidth (t); |
348 | int W = r->TermWin.fwidth; |
349 | int H = r->TermWin.fheight; |
349 | int H = r->TermWin.fheight; |
|
|
350 | |
|
|
351 | // support double-width (but not more) graphics chars |
|
|
352 | // TODO: do this outside the if/elsif.. statement for all cases |
|
|
353 | if (len && *text == NOCHAR) |
|
|
354 | W += r->TermWin.fwidth; |
350 | |
355 | |
351 | int x_[16]; |
356 | int x_[16]; |
352 | int y_[16]; |
357 | int y_[16]; |
353 | |
358 | |
354 | for (int i = 0; i <= 8; i++) |
359 | for (int i = 0; i <= 8; i++) |