summaryrefslogtreecommitdiff
path: root/src/inspector/page.zig
diff options
context:
space:
mode:
authorMitchell Hashimoto <mitchell.hashimoto@gmail.com>2024-03-14 11:04:13 -0700
committerMitchell Hashimoto <mitchell.hashimoto@gmail.com>2024-03-22 20:28:05 -0700
commitdae4c3e52d2ad2c1b1a167e075dba83a72af7d20 (patch)
treea3beb4d32fa758b15ae3f00ef32db2c3f022428b /src/inspector/page.zig
parentaadd0d3d48afa3c6d604556d6b94c7aa03a20a39 (diff)
inspector: forgot another new file
Diffstat (limited to 'src/inspector/page.zig')
-rw-r--r--src/inspector/page.zig169
1 files changed, 169 insertions, 0 deletions
diff --git a/src/inspector/page.zig b/src/inspector/page.zig
new file mode 100644
index 000000000..29e76be78
--- /dev/null
+++ b/src/inspector/page.zig
@@ -0,0 +1,169 @@
+const std = @import("std");
+const assert = std.debug.assert;
+const Allocator = std.mem.Allocator;
+const cimgui = @import("cimgui");
+const terminal = @import("../terminal/main.zig");
+
+pub fn render(page: *const terminal.Page) void {
+ cimgui.c.igPushID_Ptr(page);
+ defer cimgui.c.igPopID();
+
+ _ = cimgui.c.igBeginTable(
+ "##page_state",
+ 2,
+ cimgui.c.ImGuiTableFlags_None,
+ .{ .x = 0, .y = 0 },
+ 0,
+ );
+ defer cimgui.c.igEndTable();
+
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Memory Size");
+ }
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d bytes", page.memory.len);
+ cimgui.c.igText("%d VM pages", page.memory.len / std.mem.page_size);
+ }
+ }
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Unique Styles");
+ }
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", page.styles.count(page.memory));
+ }
+ }
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Grapheme Entries");
+ }
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", page.graphemeCount());
+ }
+ }
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Capacity");
+ }
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ _ = cimgui.c.igBeginTable(
+ "##capacity",
+ 2,
+ cimgui.c.ImGuiTableFlags_None,
+ .{ .x = 0, .y = 0 },
+ 0,
+ );
+ defer cimgui.c.igEndTable();
+
+ const cap = page.capacity;
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Columns");
+ }
+
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", @as(u32, @intCast(cap.cols)));
+ }
+ }
+
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Rows");
+ }
+
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", @as(u32, @intCast(cap.rows)));
+ }
+ }
+
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Unique Styles");
+ }
+
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", @as(u32, @intCast(cap.styles)));
+ }
+ }
+
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Grapheme Bytes");
+ }
+
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", cap.grapheme_bytes);
+ }
+ }
+ }
+ }
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Size");
+ }
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ _ = cimgui.c.igBeginTable(
+ "##size",
+ 2,
+ cimgui.c.ImGuiTableFlags_None,
+ .{ .x = 0, .y = 0 },
+ 0,
+ );
+ defer cimgui.c.igEndTable();
+
+ const size = page.size;
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Columns");
+ }
+
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", @as(u32, @intCast(size.cols)));
+ }
+ }
+ {
+ cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0);
+ {
+ _ = cimgui.c.igTableSetColumnIndex(0);
+ cimgui.c.igText("Rows");
+ }
+
+ {
+ _ = cimgui.c.igTableSetColumnIndex(1);
+ cimgui.c.igText("%d", @as(u32, @intCast(size.rows)));
+ }
+ }
+ }
+ } // size table
+}