From c09e4b71ab5ece86466b524898041e595435f712 Mon Sep 17 00:00:00 2001 From: mivirl Date: Mon, 26 May 2025 23:42:53 +0000 Subject: [PATCH] Add blank setting for border characters --- examples/termbox2-demo/main.c | 4 ++++ renderers/termbox2/clay_renderer_termbox2.c | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/examples/termbox2-demo/main.c b/examples/termbox2-demo/main.c index 26107a6..57c1dd5 100644 --- a/examples/termbox2-demo/main.c +++ b/examples/termbox2-demo/main.c @@ -261,6 +261,10 @@ void component_termbox_settings(void) border_chars = "CLAY_TB_BORDER_CHARS_UNICODE"; break; } + case CLAY_TB_BORDER_CHARS_BLANK: { + border_chars = "CLAY_TB_BORDER_CHARS_BLANK"; + break; + } case CLAY_TB_BORDER_CHARS_NONE: { border_chars = "CLAY_TB_BORDER_CHARS_NONE"; break; diff --git a/renderers/termbox2/clay_renderer_termbox2.c b/renderers/termbox2/clay_renderer_termbox2.c index b8e631d..b9bcd5f 100644 --- a/renderers/termbox2/clay_renderer_termbox2.c +++ b/renderers/termbox2/clay_renderer_termbox2.c @@ -61,6 +61,7 @@ enum border_chars { CLAY_TB_BORDER_CHARS_DEFAULT, CLAY_TB_BORDER_CHARS_ASCII, CLAY_TB_BORDER_CHARS_UNICODE, + CLAY_TB_BORDER_CHARS_BLANK, CLAY_TB_BORDER_CHARS_NONE, }; @@ -134,6 +135,7 @@ void Clay_Termbox_Set_Border_Mode(enum border_mode border_mode); - CLAY_TB_BORDER_CHARS_DEFAULT - same as BORDER_UNICODE - CLAY_TB_BORDER_CHARS_ASCII - Uses ascii characters: '+', '|', '-' - CLAY_TB_BORDER_CHARS_UNICODE - Uses unicode box drawing characters + - CLAY_TB_BORDER_CHARS_BLANK - Draws background colors only - CLAY_TB_BORDER_CHARS_NONE - Don't draw borders */ void Clay_Termbox_Set_Border_Chars(enum border_chars border_chars); @@ -192,6 +194,7 @@ static inline Clay_Dimensions Clay_Termbox_MeasureText( - DEFAULT - ASCII - UNICODE + - BLANK - NONE - CLAY_TB_TRANSPARENCY - 1 @@ -758,6 +761,8 @@ void Clay_Termbox_Initialize( new_border_chars = CLAY_TB_BORDER_CHARS_ASCII; } else if (0 == strcmp("UNICODE", env_border_chars)) { new_border_chars = CLAY_TB_BORDER_CHARS_UNICODE; + } else if (0 == strcmp("BLANK", env_border_chars)) { + new_border_chars = CLAY_TB_BORDER_CHARS_BLANK; } else if (0 == strcmp("NONE", env_border_chars)) { new_border_chars = CLAY_TB_BORDER_CHARS_NONE; } @@ -1006,6 +1011,10 @@ void Clay_Termbox_Render(Clay_RenderCommandArray commands) } break; } + case CLAY_TB_BORDER_CHARS_BLANK: { + ch = ' '; + break; + } } color_pair color_bg_new = clay_tb_get_transparency_color(