intermediate #1
@@ -24,15 +24,11 @@ pub fn main() !void {
|
|||||||
defer renderer.deinit();
|
defer renderer.deinit();
|
||||||
|
|
||||||
var container = try App.Container.init(allocator, .{
|
var container = try App.Container.init(allocator, .{
|
||||||
.border = .{
|
.border = .{ .separator = .{ .enabled = true } },
|
||||||
.color = .blue,
|
|
||||||
.corners = .rounded,
|
|
||||||
.sides = .all(),
|
|
||||||
.separator = .{ .enabled = true },
|
|
||||||
},
|
|
||||||
.layout = .{
|
.layout = .{
|
||||||
|
.gap = 2,
|
||||||
.padding = .all(5),
|
.padding = .all(5),
|
||||||
.direction = .vertical,
|
.direction = .horizontal,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
var box = try App.Container.init(allocator, .{
|
var box = try App.Container.init(allocator, .{
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ pub const Border = packed struct {
|
|||||||
if (this.sides.bottom) cells[last_row + col].style.fg = this.color;
|
if (this.sides.bottom) cells[last_row + col].style.fg = this.color;
|
||||||
}
|
}
|
||||||
// render left and right border
|
// render left and right border
|
||||||
for (1..size.rows - 1) |row| {
|
for (1..size.rows -| 1) |row| {
|
||||||
const idx = (row * size.cols);
|
const idx = (row * size.cols);
|
||||||
if (this.sides.left) {
|
if (this.sides.left) {
|
||||||
cells[idx].cp = frame[3]; // left
|
cells[idx].cp = frame[3]; // left
|
||||||
@@ -133,7 +133,7 @@ pub const Border = packed struct {
|
|||||||
};
|
};
|
||||||
switch (layout.direction) {
|
switch (layout.direction) {
|
||||||
.horizontal => {
|
.horizontal => {
|
||||||
offset += (layout.gap + 1) / 2;
|
offset += layout.gap / 2;
|
||||||
for (0..len - 1) |_| {
|
for (0..len - 1) |_| {
|
||||||
var cols = element_cols;
|
var cols = element_cols;
|
||||||
if (overflow > 0) {
|
if (overflow > 0) {
|
||||||
@@ -141,7 +141,7 @@ pub const Border = packed struct {
|
|||||||
cols += 1;
|
cols += 1;
|
||||||
}
|
}
|
||||||
offset += cols;
|
offset += cols;
|
||||||
for (1..size.rows - 1) |row| {
|
for (1..size.rows -| 1) |row| {
|
||||||
// TODO: support the line options
|
// TODO: support the line options
|
||||||
cells[row * size.cols + offset].cp = frame[3];
|
cells[row * size.cols + offset].cp = frame[3];
|
||||||
cells[row * size.cols + offset].style.fg = this.separator.color;
|
cells[row * size.cols + offset].style.fg = this.separator.color;
|
||||||
@@ -150,7 +150,7 @@ pub const Border = packed struct {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
.vertical => {
|
.vertical => {
|
||||||
offset += (layout.gap + 1) / 2;
|
offset += layout.gap / 2;
|
||||||
for (0..len - 1) |_| {
|
for (0..len - 1) |_| {
|
||||||
var rows = element_rows;
|
var rows = element_rows;
|
||||||
if (overflow > 0) {
|
if (overflow > 0) {
|
||||||
@@ -158,7 +158,7 @@ pub const Border = packed struct {
|
|||||||
rows += 1;
|
rows += 1;
|
||||||
}
|
}
|
||||||
offset += rows;
|
offset += rows;
|
||||||
for (1..size.cols - 1) |col| {
|
for (1..size.cols -| 1) |col| {
|
||||||
// TODO: support the line options
|
// TODO: support the line options
|
||||||
cells[offset * size.cols + col].cp = frame[1];
|
cells[offset * size.cols + col].cp = frame[1];
|
||||||
cells[offset * size.cols + col].style.fg = this.separator.color;
|
cells[offset * size.cols + col].style.fg = this.separator.color;
|
||||||
|
|||||||
Reference in New Issue
Block a user