Add 'zimgui/' from commit 'a053e62c779b1ba303e21330b266a1b32d26b27a'

git-subtree-dir: zimgui
git-subtree-mainline: b0d2e231b0
git-subtree-split: a053e62c77
This commit is contained in:
2025-08-04 22:14:47 -04:00
8 changed files with 212 additions and 0 deletions

28
zimgui/demo/build.zig Normal file
View File

@@ -0,0 +1,28 @@
const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
// const cimgui = b.dependency("zimgui", .{}).artifact("cimgui");
const zimgui = b.dependency("zimgui", .{});
const exe = b.addExecutable(.{
.name = "demo",
.root_source_file = b.path("src/main.zig"),
.target = target,
.optimize = optimize,
});
exe.root_module.addImport("zimgui", zimgui.module("zimgui"));
exe.linkSystemLibrary2("glfw3", .{});
b.installArtifact(exe);
const run_cmd = b.addRunArtifact(exe);
run_cmd.step.dependOn(b.getInstallStep());
if (b.args) |args| {
run_cmd.addArgs(args);
}
const run_step = b.step("run", "Run the app");
run_step.dependOn(&run_cmd.step);
}

12
zimgui/demo/build.zig.zon Normal file
View File

@@ -0,0 +1,12 @@
.{
.name = "demo",
.version = "0.0.0",
.dependencies = .{
.zimgui = .{ .path=".." },
},
.paths = .{
"build.zig",
"build.zig.zon",
"src",
},
}

30
zimgui/demo/src/main.zig Normal file
View File

@@ -0,0 +1,30 @@
const std = @import("std");
const im = @import("zimgui");
const c = @cImport({
@cDefine("GLFW_INCLUDE_NONE", {});
@cInclude("GLFW/glfw3.h");
});
pub fn main() !void {
im.init();
defer im.deinit();
_ = c.glfwInit();
defer c.glfwTerminate();
const w = c.glfwCreateWindow(1280, 720, "hello", null, null);
defer c.glfwDestroyWindow(w);
while (c.glfwWindowShouldClose(w) != c.GLFW_TRUE) {
c.glfwPollEvents();
}
}
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());
}