module c3term; import std::io; alias RGFW_window = void; constdef RGFW_windowFlags : uint { RGFW_WINDOW_NO_BORDER = 1 << 0, RGFW_WINDOW_NO_RESIZE = 1 << 1, RGFW_WINDOW_ALLOW_DND = 1 << 2, RGFW_WINDOW_HIDE_MOUSE = 1 << 3, RGFW_WINDOW_FULLSCREEN = 1 << 4, RGFW_WINDOW_TRANSLUCENT = 1 << 5, RGFW_WINDOW_TRANSPARENT = RGFW_WINDOW_TRANSLUCENT, RGFW_WINDOW_CENTER = 1 << 6, RGFW_WINDOW_RAW_MOUSE = 1 << 7, RGFW_WINDOW_SCALE_TO_MONITOR = 1 << 8, RGFW_WINDOW_HIDE = 1 << 9, RGFW_WINDOW_MAXIMIZE = 1 << 10, RGFW_WINDOW_CENTER_CURSOR = 1 << 11, RGFW_WINDOW_FLOATING = 1 << 12, RGFW_WINDOW_FOCUS_ON_SHOW = 1 << 13, RGFW_WINDOW_MINIMIZE = 1 << 14, RGFW_WINDOW_FOCUS = 1 << 15, RGFW_WINDOW_CAPTURE_MOUSE = 1 << 16, RGFW_WINDOW_OPENGL = 1 << 17, RGFW_WINDOW_EGL = 1 << 18, RGFW_NO_DEINIT_ON_CLOSE = 1 << 19, RGFW_WINDOWED_FULLSCREEN = RGFW_WINDOW_NO_BORDER | RGFW_WINDOW_MAXIMIZE, RGFW_WINDOW_CAPTURE_RAW_MOUSE = RGFW_WINDOW_CAPTURE_MOUSE | RGFW_WINDOW_RAW_MOUSE, } extern fn RGFW_window* rgfw_createWindow(ZString, int, int, int, int, RGFW_windowFlags) @cname("RGFW_createWindow"); extern fn bool rgfw_window_shouldClose(RGFW_window*) @cname("RGFW_window_shouldClose"); extern fn bool rgfw_window_close(RGFW_window*) @cname("RGFW_window_close"); extern fn void rgfw_pollEvents() @cname("RGFW_pollEvents"); fn int main(String[] args) { io::printn("init"); RGFW_window* window = rgfw_createWindow("window title", 0, 0, 800, 400, RGFW_WINDOW_CENTER | RGFW_WINDOW_NO_RESIZE); while (!rgfw_window_shouldClose(window)) { rgfw_pollEvents(); } rgfw_window_close(window); io::printn("tschuess"); return(0); }