1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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);
}
|