diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-04-04 19:22:04 +0300 |
|---|---|---|
| committer | Can Celik <ogulcancelik@gmail.com> | 2026-04-05 01:23:06 +0300 |
| commit | 41dd733ca7123c9ac4bfc6c781697a660e95b052 (patch) | |
| tree | 3fc91815ca139ef2e0b281bba0abda4ef15175f4 /vendor/libghostty-vt/src/font/sprite.zig | |
| parent | 55c138263e190a1e79d4b997bfb9397306c0ec1f (diff) | |
feat: finish ghostty pane backend integration
Diffstat (limited to 'vendor/libghostty-vt/src/font/sprite.zig')
| -rw-r--r-- | vendor/libghostty-vt/src/font/sprite.zig | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/src/font/sprite.zig b/vendor/libghostty-vt/src/font/sprite.zig new file mode 100644 index 00000000..cf86fa6d --- /dev/null +++ b/vendor/libghostty-vt/src/font/sprite.zig @@ -0,0 +1,45 @@ +const std = @import("std"); +const canvas = @import("sprite/canvas.zig"); +pub const Face = @import("sprite/Face.zig"); + +pub const Box = canvas.Box; +pub const Point = canvas.Point; +pub const Canvas = canvas.Canvas; +pub const Color = canvas.Color; + +/// Sprites are represented as special codepoints outside of the Unicode +/// codepoint range. Unicode maxes out at U+10FFFF (21 bits), and we use the +/// high 11 bits to hide our special characters. +/// +/// These characters are ONLY used for rendering and NEVER used written to +/// text files or any other exported format, so we don't use the Private Use +/// Area of Unicode. +pub const Sprite = enum(u32) { + // Start 1 above the maximum Unicode codepoint. + pub const start: u32 = std.math.maxInt(u21) + 1; + pub const end: u32 = std.math.maxInt(u32); + + underline = start, + underline_double, + underline_dotted, + underline_dashed, + underline_curly, + + strikethrough, + + overline, + + cursor_rect, + cursor_hollow_rect, + cursor_bar, + cursor_underline, + + test { + const testing = std.testing; + try testing.expectEqual(start, @intFromEnum(Sprite.underline)); + } +}; + +test { + @import("std").testing.refAllDecls(@This()); +} |
