Ultima attività 4 weeks ago

sdl.nv Raw Playground
1||:: init sdl
2 :: create a window :window dimensions: #800 #600
3 :: sleep #5
4 :: quit
5
6| :SDL: Init | `@c` [
7 if(SDL_Init(SDL_INIT_EVERYTHING) < 0) {
8 printf("Error initializing SDL: %s\\n", SDL_GetError());
9 exit(-1);
10 }
11]
12
13| :SDL: RenderClear :renderer: $0? | `@c` [ SDL_RenderClear((SDL_Renderer*)$(0)); ]
14| :SDL: RenderPresent :renderer: $0? | `@c` [ SDL_RenderPresent((SDL_Renderer*)$(0)); ]
15| :SDL: DestroyRenderer :renderer: $0 | `@c` [ SDL_DestroyRenderer((SDL_Renderer*)$(0)); ]
16| :SDL: DestroyWindow :window: $0 | `@c` [ SDL_DestroyWindow((SDL_Window*)$(0)); ]
17| :SDL: SetRenderDrawColor :renderer: $0? :color: # $r # $g # $b # $a |
18 `@c` [ SDL_SetRenderDrawColor((SDL_Renderer*)$(0), $(1), $(2), $(3), $(4)); ]
19| :SDL: Quit | `@c` [ SDL_Quit(); ]
20
21|:: init sdl |
22 :SDL: Init
23
24|:: create a window :window dimensions: # $0 # $1|
25 `@c` [
26 SDL_Window *window = NULL;
27 SDL_Renderer *renderer = NULL;
28
29 if(SDL_CreateWindowAndRenderer($(0), $(1), 0, &window, &renderer) < 0) {
30 printf("Error creating window: %s\\n", SDL_GetError());
31 exit(-1);
32 }
33
34 nv_push_fact(nvs__renderer, (unsigned int)(void*)renderer);
35 nv_push_fact(nvs__window, (unsigned int)(void*)window);
36 ]
37 `SDL` (RenderClear RenderPresent SetRenderDrawColor)
38 `color` #0 #0 #0 #255
39
40|:: quit :renderer: $0? :window: $1? |
41 :SDL: (DestroyRenderer DestroyWindow Quit)
42
43|:: sleep # $0 |
44 `@c` [sleep($(0)); ]
45
46|| `@c.include` (SDL2/SDL unistd)
47