chor: upgrade to latest zig; remove zg dependency
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 55s
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 55s
This commit is contained in:
@@ -1,5 +1,14 @@
|
||||
//! Interface for Element's which describe the contents of a `Container`.
|
||||
|
||||
// TODO following features need to be implemented here
|
||||
// - support for dynamic layouts? it can already be done, but the way you do this is pretty annoying
|
||||
// -> currently you need to swap out the entire `Container` accordingly before rendering
|
||||
// -> this might be necessary for size depending layout options, etc.
|
||||
// -> maybe this can be implemented / supported similarly as to how the scrollable `Element`'s are implemented
|
||||
|
||||
// FIX known issues:
|
||||
// - hold fewer instances of the `Allocator`
|
||||
|
||||
pub fn Element(Event: type) type {
|
||||
return struct {
|
||||
ptr: *anyopaque = undefined,
|
||||
@@ -1292,13 +1301,15 @@ test "alignment center" {
|
||||
var container: Container(event.SystemEvent) = try .init(allocator, .{}, .{});
|
||||
defer container.deinit();
|
||||
|
||||
const aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
var aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
.rectangle = .{ .fill = .green },
|
||||
.size = .{
|
||||
.dim = .{ .x = 12, .y = 5 },
|
||||
.grow = .fixed,
|
||||
},
|
||||
}, .{});
|
||||
defer aligned_container.deinit();
|
||||
|
||||
var alignment: Alignment(event.SystemEvent) = .init(aligned_container, .center);
|
||||
try container.append(try .init(allocator, .{}, alignment.element()));
|
||||
|
||||
@@ -1316,13 +1327,15 @@ test "alignment left" {
|
||||
var container: Container(event.SystemEvent) = try .init(allocator, .{}, .{});
|
||||
defer container.deinit();
|
||||
|
||||
const aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
var aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
.rectangle = .{ .fill = .green },
|
||||
.size = .{
|
||||
.dim = .{ .x = 12, .y = 5 },
|
||||
.grow = .fixed,
|
||||
},
|
||||
}, .{});
|
||||
defer aligned_container.deinit();
|
||||
|
||||
var alignment: Alignment(event.SystemEvent) = .init(aligned_container, .{
|
||||
.h = .start,
|
||||
.v = .center,
|
||||
@@ -1343,13 +1356,15 @@ test "alignment right" {
|
||||
var container: Container(event.SystemEvent) = try .init(allocator, .{}, .{});
|
||||
defer container.deinit();
|
||||
|
||||
const aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
var aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
.rectangle = .{ .fill = .green },
|
||||
.size = .{
|
||||
.dim = .{ .x = 12, .y = 5 },
|
||||
.grow = .fixed,
|
||||
},
|
||||
}, .{});
|
||||
defer aligned_container.deinit();
|
||||
|
||||
var alignment: Alignment(event.SystemEvent) = .init(aligned_container, .{
|
||||
.h = .end,
|
||||
.v = .center,
|
||||
@@ -1370,13 +1385,15 @@ test "alignment top" {
|
||||
var container: Container(event.SystemEvent) = try .init(allocator, .{}, .{});
|
||||
defer container.deinit();
|
||||
|
||||
const aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
var aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
.rectangle = .{ .fill = .green },
|
||||
.size = .{
|
||||
.dim = .{ .x = 12, .y = 5 },
|
||||
.grow = .fixed,
|
||||
},
|
||||
}, .{});
|
||||
defer aligned_container.deinit();
|
||||
|
||||
var alignment: Alignment(event.SystemEvent) = .init(aligned_container, .{
|
||||
.h = .center,
|
||||
.v = .start,
|
||||
@@ -1397,13 +1414,15 @@ test "alignment bottom" {
|
||||
var container: Container(event.SystemEvent) = try .init(allocator, .{}, .{});
|
||||
defer container.deinit();
|
||||
|
||||
const aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
var aligned_container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||
.rectangle = .{ .fill = .green },
|
||||
.size = .{
|
||||
.dim = .{ .x = 12, .y = 5 },
|
||||
.grow = .fixed,
|
||||
},
|
||||
}, .{});
|
||||
defer aligned_container.deinit();
|
||||
|
||||
var alignment: Alignment(event.SystemEvent) = .init(aligned_container, .{
|
||||
.h = .center,
|
||||
.v = .end,
|
||||
@@ -1424,7 +1443,7 @@ test "input element" {
|
||||
accept: []u21,
|
||||
});
|
||||
const testing = @import("testing.zig");
|
||||
const Queue = @import("queue").Queue(Event, 256);
|
||||
const Queue = @import("queue.zig").Queue(Event, 256);
|
||||
|
||||
var container: Container(Event) = try .init(allocator, .{}, .{});
|
||||
defer container.deinit();
|
||||
@@ -1435,38 +1454,39 @@ test "input element" {
|
||||
};
|
||||
var queue: Queue = .{};
|
||||
|
||||
var input_element: Input(Event, Queue)(.accept) = .init(allocator, &queue, .init(.black));
|
||||
defer input_element.deinit();
|
||||
|
||||
const input_container: Container(Event) = try .init(allocator, .{
|
||||
.rectangle = .{ .fill = .green },
|
||||
.size = .{
|
||||
.dim = .{ .x = 12, .y = 2 },
|
||||
.grow = .fixed,
|
||||
},
|
||||
}, .{});
|
||||
var input_element: Input(Event, Queue)(.accept) = .init(input_container, &queue, .{.black});
|
||||
defer input_element.deinit();
|
||||
}, input_element.element());
|
||||
|
||||
try container.append(try .init(allocator, .{}, input_element.element()));
|
||||
try container.append(input_container);
|
||||
|
||||
var renderer: testing.Renderer = .init(allocator, size);
|
||||
defer renderer.deinit();
|
||||
|
||||
container.resize(size);
|
||||
container.reposition(.{});
|
||||
try renderer.render(Container(event.SystemEvent), &container);
|
||||
try renderer.render(Container(Event), &container);
|
||||
// try testing.expectEqualCells(.{}, renderer.size, @import("test/element/input.without.text.zon"), renderer.screen);
|
||||
|
||||
// press 'a' 15 times
|
||||
for (0..15) |_| try container.handle(.{
|
||||
.key = .{ .cp = 'a' },
|
||||
});
|
||||
try renderer.render(Container(event.SystemEvent), &container);
|
||||
try renderer.render(Container(Event), &container);
|
||||
// try testing.expectEqualCells(.{}, renderer.size, @import("test/element/input.with.text.zon"), renderer.screen);
|
||||
|
||||
// press 'a' 15 times
|
||||
for (0..15) |_| try container.handle(.{
|
||||
.key = .{ .cp = 'a' },
|
||||
});
|
||||
try renderer.render(Container(event.SystemEvent), &container);
|
||||
try renderer.render(Container(Event), &container);
|
||||
// try testing.expectEqualCells(.{}, renderer.size, @import("test/element/input.with.text.overflow.zon"), renderer.screen);
|
||||
|
||||
// test the accepting of the `Element`
|
||||
@@ -1494,7 +1514,7 @@ test "button" {
|
||||
accept,
|
||||
});
|
||||
const testing = @import("testing.zig");
|
||||
const Queue = @import("queue").Queue(Event, 256);
|
||||
const Queue = @import("queue.zig").Queue(Event, 256);
|
||||
|
||||
const size: Point = .{
|
||||
.x = 30,
|
||||
@@ -1543,12 +1563,13 @@ test "progress" {
|
||||
progress: u8,
|
||||
});
|
||||
const testing = @import("testing.zig");
|
||||
const Queue = @import("queue").Queue(Event, 256);
|
||||
const Queue = @import("queue.zig").Queue(Event, 256);
|
||||
|
||||
const size: Point = .{
|
||||
.x = 30,
|
||||
.y = 20,
|
||||
};
|
||||
var queue: Queue = .{};
|
||||
|
||||
var container: Container(Event) = try .init(allocator, .{
|
||||
.layout = .{
|
||||
@@ -1558,7 +1579,7 @@ test "progress" {
|
||||
}, .{});
|
||||
defer container.deinit();
|
||||
|
||||
var progress: Progress(Event, Queue)(.progress) = .init(&.{}, .{
|
||||
var progress: Progress(Event, Queue)(.progress) = .init(&queue, .{
|
||||
.percent = .{ .enabled = true },
|
||||
.fg = .green,
|
||||
.bg = .grey,
|
||||
|
||||
Reference in New Issue
Block a user