diff options
Diffstat (limited to 'src/main.zig')
-rw-r--r-- | src/main.zig | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/src/main.zig b/src/main.zig index c8a3f67..88d56d3 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,24 +1,32 @@ const std = @import("std"); +const sdl = @import("sdl2"); +const Px = @import("Px.zig"); pub fn main() !void { - // Prints to stderr (it's a shortcut based on `std.io.getStdErr()`) - std.debug.print("All your {s} are belong to us.\n", .{"codebase"}); + var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); + defer arena.deinit(); - // stdout is for the actual output of your application, for example if you - // are implementing gzip, then only the compressed bytes should be sent to - // stdout, not any debugging messages. - const stdout_file = std.io.getStdOut().writer(); - var bw = std.io.bufferedWriter(stdout_file); - const stdout = bw.writer(); + try sdl.init(.{ + .video = true, + .events = true, + }); + defer sdl.quit(); - try stdout.print("Run `zig build test` to run the tests.\n", .{}); + var window = try sdl.createWindow( + "zig-px", + .{ .centered = {} }, + .{ .centered = {} }, + 640, + 480, + .{ .vis = .shown }, + ); + defer window.destroy(); - try bw.flush(); // don't forget to flush! -} + var renderer = try sdl.createRenderer(window, null, .{ .accelerated = true }); + defer renderer.destroy(); + + var px = try Px.init(arena.allocator(), renderer, 256, 256); + defer px.deinit(); -test "simple test" { - var list = std.ArrayList(i32).init(std.testing.allocator); - defer list.deinit(); // try commenting this out and see if zig detects the memory leak! - try list.append(42); - try std.testing.expectEqual(@as(i32, 42), list.pop()); + px.cls(0); } |