fabapp/src/main.zig

42 lines
1.4 KiB
Zig
Raw Normal View History

2023-10-04 14:20:49 +02:00
const std = @import("std");
2023-10-13 15:53:58 +02:00
const raylib = @import("raylib.zig");
2023-10-04 14:20:49 +02:00
const sqlite = @cImport({
@cInclude("sqlite3.h");
});
2023-10-04 14:20:49 +02:00
pub fn main() !void {
2023-10-04 14:20:49 +02:00
const screen_width = 800;
const screen_height = 450;
2023-10-13 18:16:41 +02:00
raylib.InitWindow(screen_width, screen_height, "FabApp");
2023-10-04 14:20:49 +02:00
raylib.SetTargetFPS(60);
2023-10-13 18:16:41 +02:00
var file_dialog_state = raylib.InitGuiWindowFileDialog(raylib.GetWorkingDirectory());
2023-10-04 14:20:49 +02:00
while (!raylib.WindowShouldClose()) {
raylib.BeginDrawing();
defer raylib.EndDrawing();
raylib.ClearBackground(raylib.RAYWHITE);
2023-10-13 18:16:41 +02:00
{
if (file_dialog_state.windowActive) raylib.GuiLock();
defer raylib.GuiUnlock();
const button_size = 200;
if (raylib.GuiButton(.{ .x = (screen_width - button_size) / 2, .y = (screen_height - button_size) / 2, .width = 200, .height = 200 }, "Load db file") == 1) {
file_dialog_state.windowActive = true;
}
}
raylib.GuiWindowFileDialog(&file_dialog_state);
// // if (GuiButton((Rectangle){ 20, 20, 140, 30 }, GuiIconText(ICON_FILE_OPEN, "Open Image"))) fileDialogState.windowActive = true;
2023-10-04 14:20:49 +02:00
}
raylib.CloseWindow();
2023-10-04 14:20:49 +02:00
}
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());
}