hello_window.mod 916 B

1234567891011121314151617181920212223242526272829303132333435
  1. MODULE hello_window ;
  2. (*
  3. m2SDL example: open a window for ~2 seconds, then quit.
  4. Build: make examples or see Makefile.
  5. Run: ./build/examples/hello_window
  6. *)
  7. FROM SDL2 IMPORT SDL_Init, SDL_Quit, SDL_Delay, SDLInitVideo;
  8. FROM SDLVideo IMPORT SDL_CreateWindow, SDL_DestroyWindow,
  9. WindowShown, WindowPosUndefined;
  10. FROM SYSTEM IMPORT ADDRESS;
  11. FROM libc IMPORT printf;
  12. VAR win: ADDRESS;
  13. BEGIN
  14. IF SDL_Init(SDLInitVideo) # 0 THEN
  15. printf("SDL_Init failed\n");
  16. HALT(1)
  17. END;
  18. win := SDL_CreateWindow("Hello from GNU Modula-2 + SDL2",
  19. WindowPosUndefined, WindowPosUndefined,
  20. 640, 480, WindowShown);
  21. IF win = NIL THEN
  22. printf("CreateWindow failed\n");
  23. SDL_Quit;
  24. HALT(1)
  25. END;
  26. printf("window open for 2s...\n");
  27. SDL_Delay(2000);
  28. SDL_DestroyWindow(win);
  29. SDL_Quit;
  30. printf("bye\n")
  31. END hello_window.