aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/src/terminal/kitty/graphics_render.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/terminal/kitty/graphics_render.zig
parent55c138263e190a1e79d4b997bfb9397306c0ec1f (diff)
feat: finish ghostty pane backend integration
Diffstat (limited to 'vendor/libghostty-vt/src/terminal/kitty/graphics_render.zig')
-rw-r--r--vendor/libghostty-vt/src/terminal/kitty/graphics_render.zig27
1 files changed, 27 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/src/terminal/kitty/graphics_render.zig b/vendor/libghostty-vt/src/terminal/kitty/graphics_render.zig
new file mode 100644
index 00000000..946b537a
--- /dev/null
+++ b/vendor/libghostty-vt/src/terminal/kitty/graphics_render.zig
@@ -0,0 +1,27 @@
+const std = @import("std");
+const testing = std.testing;
+const terminal = @import("../main.zig");
+
+/// A render placement is a way to position a Kitty graphics image onto
+/// the screen. It is broken down into the fields that make it easier to
+/// position the image using a renderer.
+pub const Placement = struct {
+ /// The top-left corner of the image in grid coordinates.
+ top_left: terminal.Pin,
+
+ /// The offset in pixels from the top-left corner of the grid cell.
+ offset_x: u32 = 0,
+ offset_y: u32 = 0,
+
+ /// The source rectangle of the image to render. This doesn't have to
+ /// match the size the destination size and the renderer is expected
+ /// to scale the image to fit the destination size.
+ source_x: u32 = 0,
+ source_y: u32 = 0,
+ source_width: u32 = 0,
+ source_height: u32 = 0,
+
+ /// The final width/height of the image in pixels.
+ dest_width: u32 = 0,
+ dest_height: u32 = 0,
+};