aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/src/font/sprite.zig
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-04-04 19:22:04 +0300
committerCan Celik <ogulcancelik@gmail.com>2026-04-05 01:23:06 +0300
commit41dd733ca7123c9ac4bfc6c781697a660e95b052 (patch)
tree3fc91815ca139ef2e0b281bba0abda4ef15175f4 /vendor/libghostty-vt/src/font/sprite.zig
parent55c138263e190a1e79d4b997bfb9397306c0ec1f (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.zig45
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());
+}