From 7d078590b90457d7c306f51231ef29ffa9958369 Mon Sep 17 00:00:00 2001 From: Aaron Ruan Date: Wed, 25 Jun 2025 22:50:08 +0800 Subject: [PATCH] Add support for adjusting thickness of underline cursor Signed-off-by: Aaron Ruan --- src/font/sprite.zig | 1 + src/font/sprite/Face.zig | 1 + src/font/sprite/cursor.zig | 6 ++++++ src/renderer/generic.zig | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/font/sprite.zig b/src/font/sprite.zig index 6485d6008..0ec4acce3 100644 --- a/src/font/sprite.zig +++ b/src/font/sprite.zig @@ -32,6 +32,7 @@ pub const Sprite = enum(u32) { cursor_rect, cursor_hollow_rect, cursor_bar, + cursor_underline, // Note: we don't currently put the box drawing glyphs in here because // there are a LOT and I'm lazy. What I want to do is spend more time diff --git a/src/font/sprite/Face.zig b/src/font/sprite/Face.zig index af0c0af6a..29be7937e 100644 --- a/src/font/sprite/Face.zig +++ b/src/font/sprite/Face.zig @@ -174,6 +174,7 @@ const Kind = enum { .cursor_rect, .cursor_hollow_rect, .cursor_bar, + .cursor_underline, => .cursor, }, diff --git a/src/font/sprite/cursor.zig b/src/font/sprite/cursor.zig index d63db624a..8a5f9a6b9 100644 --- a/src/font/sprite/cursor.zig +++ b/src/font/sprite/cursor.zig @@ -43,6 +43,12 @@ pub fn renderGlyph( .width = thickness, .height = height, }, .on), + Sprite.cursor_underline => canvas.rect(.{ + .x = 0, + .y = height -| thickness, + .width = width, + .height = thickness, + }, .on), else => unreachable, } diff --git a/src/renderer/generic.zig b/src/renderer/generic.zig index 9589cb44b..6ddc2e1e2 100644 --- a/src/renderer/generic.zig +++ b/src/renderer/generic.zig @@ -2868,7 +2868,7 @@ pub fn Renderer(comptime GraphicsAPI: type) type { .block => .cursor_rect, .block_hollow => .cursor_hollow_rect, .bar => .cursor_bar, - .underline => .underline, + .underline => .cursor_underline, .lock => unreachable, };