Files
zern/examples/x11.zr
2025-12-22 21:21:15 +01:00

37 lines
901 B
Plaintext

// needs to be compiled with -m -C="-lX11"
extern XOpenDisplay
extern XDefaultRootWindow
extern XCreateSimpleWindow
extern XMapWindow
extern XSelectInput
extern XNextEvent
extern XBlackPixel
extern XWhitePixel
extern XSetForeground
extern XCreateGC
extern XDefaultScreen
extern XDrawString
func main[] : i64
let dpy: ptr = XOpenDisplay(0)
let screen: ptr = XDefaultScreen(dpy)
let white: ptr = XWhitePixel(dpy, screen)
let black: ptr = XBlackPixel(dpy, screen)
let win: ptr = XCreateSimpleWindow(dpy, XDefaultRootWindow(dpy), 0, 0, 200, 100, 0, black, white)
XSelectInput(dpy, win, 1 << 15)
XMapWindow(dpy, win)
let gc: ptr = XCreateGC(dpy, win, 0, 0)
XSetForeground(dpy, gc, black)
let ev: ptr = mem.alloc(256)
while true
XNextEvent(dpy, ev)
if ev[0] == 12
XDrawString(dpy, win, gc, 20, 50, "Hello, World!", 13)