this repo has no description
13
fork

Configure Feed

Select the types of activity you want to include in your feed.

get main example working, and image partially working

authored by

Jeffrey C. Ollie and committed by
Tim Culverhouse
332ecf21 b1a2c949

+28 -31
+20 -15
examples/image.zig
··· 8 8 winsize: vaxis.Winsize, 9 9 }; 10 10 11 - pub fn main() !void { 12 - var gpa = std.heap.GeneralPurposeAllocator(.{}){}; 13 - defer { 14 - const deinit_status = gpa.deinit(); 15 - if (deinit_status == .leak) { 16 - log.err("memory leak", .{}); 17 - } 18 - } 19 - const alloc = gpa.allocator(); 11 + pub fn main(init: std.process.Init) !void { 12 + std.log.warn("YYYYY", .{}); 13 + const io = init.io; 14 + const alloc = init.gpa; 20 15 21 16 var buffer: [1024]u8 = undefined; 22 - var tty = try vaxis.Tty.init(&buffer); 17 + std.log.warn("ZZZZ", .{}); 18 + var tty = try vaxis.Tty.init(io, &buffer); 23 19 defer tty.deinit(); 20 + std.log.warn("1111", .{}); 24 21 25 - var vx = try vaxis.init(alloc, .{}); 22 + var vx = try vaxis.init(io, alloc, init.environ_map, .{}); 26 23 defer vx.deinit(alloc, tty.writer()); 24 + std.log.warn("2222", .{}); 27 25 28 - var loop: vaxis.Loop(Event) = .{ .tty = &tty, .vaxis = &vx }; 29 - try loop.init(); 30 - 26 + var loop: vaxis.Loop(Event) = .init(io, &tty, &vx); 27 + std.log.warn("AAAA", .{}); 31 28 try loop.start(); 32 29 defer loop.stop(); 33 30 31 + std.log.warn("BBBB", .{}); 34 32 try vx.enterAltScreen(tty.writer()); 33 + std.log.warn("CCCC", .{}); 35 34 try vx.queryTerminal(tty.writer(), 1 * std.time.ns_per_s); 36 35 36 + std.log.warn("DDDD", .{}); 37 37 var read_buffer: [1024 * 1024]u8 = undefined; // 1MB buffer 38 - var img1 = try vaxis.zigimg.Image.fromFilePath(alloc, "examples/zig.png", &read_buffer); 38 + var img1 = try vaxis.zigimg.Image.fromFilePath(alloc, io, "examples/zig.png", &read_buffer); 39 + std.log.warn("EEEE", .{}); 39 40 defer img1.deinit(alloc); 40 41 42 + std.log.warn("FFFF", .{}); 41 43 const imgs = [_]vaxis.Image{ 42 44 try vx.transmitImage(alloc, tty.writer(), &img1, .rgba), 43 45 // var img1 = try vaxis.zigimg.Image.fromFilePath(alloc, "examples/zig.png"); 44 46 // try vx.loadImage(alloc, tty.writer(), .{ .path = "examples/zig.png" }), 45 47 try vx.loadImage(alloc, tty.writer(), .{ .path = "examples/vaxis.png" }), 46 48 }; 49 + std.log.warn("GGGG", .{}); 47 50 defer vx.freeImage(tty.writer(), imgs[0].id); 51 + std.log.warn("HHHH", .{}); 48 52 defer vx.freeImage(tty.writer(), imgs[1].id); 53 + std.log.warn("JJJJ", .{}); 49 54 50 55 var n: usize = 0; 51 56
+8 -16
examples/main.zig
··· 3 3 const Cell = vaxis.Cell; 4 4 5 5 const log = std.log.scoped(.main); 6 - pub fn main() !void { 7 - var gpa = std.heap.GeneralPurposeAllocator(.{}){}; 8 - defer { 9 - const deinit_status = gpa.deinit(); 10 - //fail test; can't try in defer as defer is executed after we return 11 - if (deinit_status == .leak) { 12 - log.err("memory leak", .{}); 13 - } 14 - } 15 - const alloc = gpa.allocator(); 6 + pub fn main(init: std.process.Init) !void { 7 + const io = init.io; 8 + const alloc = init.gpa; 16 9 17 10 var buffer: [1024]u8 = undefined; 18 - var tty = try vaxis.Tty.init(&buffer); 11 + var tty = try vaxis.Tty.init(io, &buffer); 19 12 defer tty.deinit(); 20 13 21 - var vx = try vaxis.init(alloc, .{}); 14 + var vx = try vaxis.init(io, alloc, init.environ_map, .{}); 22 15 defer vx.deinit(alloc, tty.writer()); 23 16 24 - var loop: vaxis.Loop(Event) = .{ .tty = &tty, .vaxis = &vx }; 25 - try loop.init(); 17 + var loop: vaxis.Loop(Event) = .init(io, &tty, &vx); 26 18 27 19 try loop.start(); 28 20 defer loop.stop(); ··· 41 33 // queue which can serve as the primary event queue for an application 42 34 while (true) { 43 35 // nextEvent blocks until an event is in the queue 44 - const event = loop.nextEvent(); 45 - log.debug("event: {}", .{event}); 36 + const event = try loop.nextEvent(); 37 + // log.debug("event: {}", .{event}); 46 38 // exhaustive switching ftw. Vaxis will send events if your Event 47 39 // enum has the fields for those events (ie "key_press", "winsize") 48 40 switch (event) {