summaryrefslogtreecommitdiff
path: root/replay.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-04 00:57:06 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:07 -0300
commite36e946f9a56c4ab1d10cef3aace20fe7d274dfa (patch)
treebaccd0be04b9b901bb74b4f3647bdb531c8dd450 /replay.zig
parentf3f0e27372d8cf111269dde674d4581cf4cb0c41 (diff)
downloadpardes-e36e946f9a56c4ab1d10cef3aace20fe7d274dfa.tar.gz
pardes-e36e946f9a56c4ab1d10cef3aace20fe7d274dfa.zip
touch debug overlay: multi-touch circles with trails, finger event handling, 4x larger, fade trails, SDL GPU + WebGL overlay shaders, touch-action:none in HTML, --debug-overlay flag, pinch event dispatch for all SDL backends
Diffstat (limited to 'replay.zig')
-rw-r--r--replay.zig20
1 files changed, 19 insertions, 1 deletions
diff --git a/replay.zig b/replay.zig
index 19b894fe..04448eb9 100644
--- a/replay.zig
+++ b/replay.zig
@@ -82,6 +82,7 @@ pub const Command = struct {
winsize: ui.Winsize,
mouse: ui.Mouse,
paste: []const u8,
+ pinch: f32,
} = .nop;
};
@@ -293,6 +294,7 @@ fn render(
drag: Drag,
hover_col: u16,
hover_row: u16,
+ ov_pinch_scale: f32,
) !void {
var arena: std.heap.ArenaAllocator = .init(gpa);
defer arena.deinit();
@@ -317,6 +319,20 @@ fn render(
pane_ui.drawInteractionPreview(win, layout, rects, col_x, col_w, screen_h, drag, hover_col, hover_row, T().scroll_thumb);
+ // debug overlay with pinch scale
+ if (ov_pinch_scale != 1.0) {
+ var ov_buf: [64]u8 = undefined;
+ const s = std.fmt.bufPrint(&ov_buf, "pinch {d:6.4}", .{ov_pinch_scale}) catch "";
+ if (s.len > 0) {
+ const ow: u16 = 16;
+ const oh: u16 = 2;
+ const ox: u16 = if (screen_w > ow) screen_w - ow else 0;
+ const ov = win.child(.{ .x_off = ox, .y_off = TOPBAR_H, .width = ow, .height = oh, .border = .{ .where = .all } });
+ ov.fill(.{ .char = .{ .grapheme = " " }, .style = .{ .bg = rgbColor(T().scroll_track) } });
+ _ = ov.printSegment(.{ .text = s, .style = .{ .fg = rgbColor(accent) } }, .{});
+ }
+ }
+
try vx.render(writer);
}
@@ -424,6 +440,7 @@ const App = struct {
drag: Drag = .none,
hover_col: u16 = 0,
hover_row: u16 = 0,
+ ov_pinch_scale: f32 = 1.0,
fn init(
self: *App,
@@ -643,6 +660,7 @@ const App = struct {
if (key.matches('q', .{}) or key.matches(ui.Key.escape, .{}) or key.matches('c', .{ .ctrl = true })) return false;
},
.paste => |text| self.gpa.free(text),
+ .pinch => |scale| self.ov_pinch_scale = scale,
.quit, .close => return false,
else => {},
}
@@ -659,7 +677,7 @@ const App = struct {
p.rows = rows;
clampScroll(p);
}
- try render(&self.vx, self.gpa, self.tty.writer(), self.state, self.panes, &self.rects, &self.layout, &self.col_x, &self.col_w, self.screen_w, self.screen_h, self.active, self.drag, self.hover_col, self.hover_row);
+ try render(&self.vx, self.gpa, self.tty.writer(), self.state, self.panes, &self.rects, &self.layout, &self.col_x, &self.col_w, self.screen_w, self.screen_h, self.active, self.drag, self.hover_col, self.hover_row, self.ov_pinch_scale);
return true;
}
};