diff --git a/lib/minifb/src/minifb.zig b/lib/minifb/src/minifb.zig index e31f2ef..ef7ea3e 100644 --- a/lib/minifb/src/minifb.zig +++ b/lib/minifb/src/minifb.zig @@ -20,8 +20,18 @@ pub const Window = struct{ pub const State = enum {ok, exit}; - pub fn open(title: [*:0]const u8, width: u32, height: u32) !Window { - const cwin: ?*minifb_c.mfb_window = minifb_c.mfb_open(@as([*c]const u8, title), width, height); + pub const OpenFlags = packed struct { + resizable: bool = false, + fullscreen: bool = false, + fullscreenDesktop: bool = false, + borderless: bool = false, + alwaysOnTop: bool = false, + }; + + pub fn open(title: [*:0]const u8, width: u32, height: u32, flags: OpenFlags) !Window { + const intFlags: u32 = @bitCast(u5, flags); + const cTitle = @as([*c]const u8, title); + const cwin: ?*minifb_c.mfb_window = minifb_c.mfb_open_ex(cTitle, width, height, intFlags); if (cwin) |value| { return Window {.cwin=value}; } else { diff --git a/src/main.zig b/src/main.zig index 14b84a6..0d1a42a 100644 --- a/src/main.zig +++ b/src/main.zig @@ -41,6 +41,7 @@ const State = struct { buf.drawRectangle(.{.x=0,.y=0}, .{.x=Width, .y=Height}, grey(@floatToInt(u8, bgValue))); buf.drawRectangle(.{.x=Width/3, .y=Height/3}, .{.x=2*Width/3, .y=2*Height/3}, mfb.rgb(255,0,0)); + buf.drawRectangle(.{.x=0,.y=0}, .{.x=10,.y=10}, mfb.rgb(0,0,255)); } }; @@ -96,8 +97,7 @@ pub fn main() !void { var gp_allocator = std.heap.GeneralPurposeAllocator(.{}){}; const alloc = &gp_allocator.allocator; - std.log.info("All your codebase are belong to us.", .{}); - var win = mfb.Window.open("Hello minifb-zig", Width, Height) catch unreachable; + var win = mfb.Window.open("Hello minifb-zig", Width, Height, .{.resizable=true}) catch unreachable; mfb.setTargetFPS(7); var state = try State.init(3);