MODULE hello_window ; (* m2SDL example: open a window for ~2 seconds, then quit. Build: make examples or see Makefile. Run: ./build/examples/hello_window *) FROM SDL2 IMPORT SDL_Init, SDL_Quit, SDL_Delay, SDLInitVideo; FROM SDLVideo IMPORT SDL_CreateWindow, SDL_DestroyWindow, WindowShown, WindowPosUndefined; FROM SYSTEM IMPORT ADDRESS; FROM libc IMPORT printf; VAR win: ADDRESS; BEGIN IF SDL_Init(SDLInitVideo) # 0 THEN printf("SDL_Init failed\n"); HALT(1) END; win := SDL_CreateWindow("Hello from GNU Modula-2 + SDL2", WindowPosUndefined, WindowPosUndefined, 640, 480, WindowShown); IF win = NIL THEN printf("CreateWindow failed\n"); SDL_Quit; HALT(1) END; printf("window open for 2s...\n"); SDL_Delay(2000); SDL_DestroyWindow(win); SDL_Quit; printf("bye\n") END hello_window.