mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
box-drawing: QUADRANTs
* U+2596 * U+2597 * U+2598 * U+2599 * U+259A * U+259B * U+259C * U+259D * U+259E * U+259F
This commit is contained in:
parent
bca7c75393
commit
ddc997dd5e
1 changed files with 86 additions and 10 deletions
|
|
@ -91,6 +91,11 @@ rectangle(uint8_t *buf, int x1, int y1, int x2, int y2, int stride)
|
|||
|
||||
#define rect(x1, y1, x2, y2) rectangle(buf, x1, y1, x2, y2, stride)
|
||||
|
||||
#define quad_upper_left() rect(0, 0, width / 2, height / 2)
|
||||
#define quad_upper_right() rect(width / 2, 0, width, height / 2)
|
||||
#define quad_lower_left() rect(0, height / 2, width / 2, height)
|
||||
#define quad_lower_right() rect(width / 2, height / 2, width, height)
|
||||
|
||||
static void
|
||||
draw_box_drawings_light_horizontal(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
|
|
@ -821,6 +826,76 @@ draw_right_one_eighth_block(uint8_t *buf, int width, int height, int stride, int
|
|||
rect(width - round(width / 8.), 0, width, height);
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_lower_left(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_lower_left();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_lower_right(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_lower_right();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_left(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_left();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_left_and_lower_left_and_lower_right(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_left();
|
||||
quad_lower_left();
|
||||
quad_lower_right();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_left_and_lower_right(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_left();
|
||||
quad_lower_right();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_left_and_upper_right_and_lower_left(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_left();
|
||||
quad_upper_right();
|
||||
quad_lower_left();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_left_and_upper_right_and_lower_right(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_left();
|
||||
quad_upper_right();
|
||||
quad_lower_right();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_right(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_right();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_right_and_lower_left(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_right();
|
||||
quad_lower_left();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_quadrant_upper_right_and_lower_left_and_lower_right(uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
quad_upper_right();
|
||||
quad_lower_left();
|
||||
quad_lower_right();
|
||||
}
|
||||
|
||||
static void
|
||||
draw_glyph(wchar_t wc, uint8_t *buf, int width, int height, int stride, int dpi)
|
||||
{
|
||||
|
|
@ -994,19 +1069,20 @@ draw_glyph(wchar_t wc, uint8_t *buf, int width, int height, int stride, int dpi)
|
|||
case 0x2590: draw_right_half_block(buf, width, height, stride, dpi); break;
|
||||
case 0x2594: draw_upper_one_eighth_block(buf, width, height, stride, dpi); break;
|
||||
case 0x2595: draw_right_one_eighth_block(buf, width, height, stride, dpi); break;
|
||||
case 0x2596: draw_quadrant_lower_left(buf, width, height, stride, dpi); break;
|
||||
case 0x2597: draw_quadrant_lower_right(buf, width, height, stride, dpi); break;
|
||||
case 0x2598: draw_quadrant_upper_left(buf, width, height, stride, dpi); break;
|
||||
case 0x2599: draw_quadrant_upper_left_and_lower_left_and_lower_right(buf, width, height, stride, dpi); break;
|
||||
case 0x259a: draw_quadrant_upper_left_and_lower_right(buf, width, height, stride, dpi); break;
|
||||
case 0x259b: draw_quadrant_upper_left_and_upper_right_and_lower_left(buf, width, height, stride, dpi); break;
|
||||
case 0x259c: draw_quadrant_upper_left_and_upper_right_and_lower_right(buf, width, height, stride, dpi); break;
|
||||
case 0x259d: draw_quadrant_upper_right(buf, width, height, stride, dpi); break;
|
||||
case 0x259e: draw_quadrant_upper_right_and_lower_left(buf, width, height, stride, dpi); break;
|
||||
case 0x259f: draw_quadrant_upper_right_and_lower_left_and_lower_right(buf, width, height, stride, dpi); break;
|
||||
|
||||
case 0x2591:
|
||||
case 0x2592:
|
||||
case 0x2593:
|
||||
case 0x2596:
|
||||
case 0x2597:
|
||||
case 0x2598:
|
||||
case 0x2599:
|
||||
case 0x259a:
|
||||
case 0x259b:
|
||||
case 0x259c:
|
||||
case 0x259d:
|
||||
case 0x259e:
|
||||
case 0x259f:
|
||||
LOG_WARN("unimplemented: box drawing: wc=%04lx", (long)wc);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue