From 5c148e1aa5e7698dacc4360571eb38e7eb2a1a52 Mon Sep 17 00:00:00 2001 From: Yves Biener Date: Sat, 15 Feb 2025 11:25:20 +0100 Subject: [PATCH] fix(cotainer/border): seperator placement without border's and gap --- examples/container.zig | 10 +++------- src/container.zig | 10 +++++----- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/examples/container.zig b/examples/container.zig index 3515c5b..5ad7c53 100644 --- a/examples/container.zig +++ b/examples/container.zig @@ -24,15 +24,11 @@ pub fn main() !void { defer renderer.deinit(); var container = try App.Container.init(allocator, .{ - .border = .{ - .color = .blue, - .corners = .rounded, - .sides = .all(), - .separator = .{ .enabled = true }, - }, + .border = .{ .separator = .{ .enabled = true } }, .layout = .{ + .gap = 2, .padding = .all(5), - .direction = .vertical, + .direction = .horizontal, }, }); var box = try App.Container.init(allocator, .{ diff --git a/src/container.zig b/src/container.zig index fd0396b..9206ebf 100644 --- a/src/container.zig +++ b/src/container.zig @@ -83,7 +83,7 @@ pub const Border = packed struct { if (this.sides.bottom) cells[last_row + col].style.fg = this.color; } // render left and right border - for (1..size.rows - 1) |row| { + for (1..size.rows -| 1) |row| { const idx = (row * size.cols); if (this.sides.left) { cells[idx].cp = frame[3]; // left @@ -133,7 +133,7 @@ pub const Border = packed struct { }; switch (layout.direction) { .horizontal => { - offset += (layout.gap + 1) / 2; + offset += layout.gap / 2; for (0..len - 1) |_| { var cols = element_cols; if (overflow > 0) { @@ -141,7 +141,7 @@ pub const Border = packed struct { cols += 1; } offset += cols; - for (1..size.rows - 1) |row| { + for (1..size.rows -| 1) |row| { // TODO: support the line options cells[row * size.cols + offset].cp = frame[3]; cells[row * size.cols + offset].style.fg = this.separator.color; @@ -150,7 +150,7 @@ pub const Border = packed struct { } }, .vertical => { - offset += (layout.gap + 1) / 2; + offset += layout.gap / 2; for (0..len - 1) |_| { var rows = element_rows; if (overflow > 0) { @@ -158,7 +158,7 @@ pub const Border = packed struct { rows += 1; } offset += rows; - for (1..size.cols - 1) |col| { + for (1..size.cols -| 1) |col| { // TODO: support the line options cells[offset * size.cols + col].cp = frame[1]; cells[offset * size.cols + col].style.fg = this.separator.color;