1 //gcc -Wextra -pedantic-errors -o main.out main.c -lSDL2
9 #define WINDOW_WIDTH 600
13 SDL_Renderer
*renderer
;
17 SDL_Init(SDL_INIT_VIDEO
);
18 SDL_CreateWindowAndRenderer(WINDOW_WIDTH
, WINDOW_WIDTH
, SDL_WINDOW_RESIZABLE
, &window
, &renderer
);
19 //SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN_DESKTOP);
20 //SDL_RenderSetScale(renderer, 2.0, 2.0);
21 SDL_SetWindowTitle(window
, "Simple SDL paint");
24 SDL_SetRenderDrawColor(renderer
, 0, 0, 0, 0);
25 SDL_RenderClear(renderer
);
26 SDL_SetRenderDrawColor(renderer
, 255, 0, 0, 255);
28 for (i
= 0; i
< WINDOW_WIDTH
; ++i
)
29 SDL_RenderDrawPoint(renderer
, i
, i
);
31 SDL_RenderPresent(renderer
);
35 Uint32 fullscreen_status
= 0;
39 if(SDL_PollEvent(&event
)) {
48 printf("Key: %d\t%d\t%d\n", event
.key
.keysym
.scancode
, event
.key
.keysym
.sym
, event
.key
.keysym
.mod
);
50 if(event
.key
.keysym
.scancode
== SDL_SCANCODE_F
&& event
.key
.keysym
.mod
== KMOD_LCTRL
) {
51 fullscreen_status
= fullscreen_status
? 0 : SDL_WINDOW_FULLSCREEN_DESKTOP
;
52 SDL_SetWindowFullscreen(window
, fullscreen_status
);
55 if(event
.key
.keysym
.scancode
== SDL_SCANCODE_Q
&& event
.key
.keysym
.mod
== KMOD_LCTRL
) {
60 case SDL_MOUSEBUTTONDOWN
:
61 //do whatever you want to do after a mouse button was pressed,
63 //if(event.button.button == SDL_BUTTON_LEFT) {
64 while(event
.type
!= SDL_MOUSEBUTTONUP
) {
65 SDL_GetMouseState(&mouseX
, &mouseY
);
66 SDL_RenderDrawPoint(renderer
, mouseX
, mouseY
);
67 SDL_RenderDrawPoint(renderer
, mouseX
, mouseY
+1);
68 SDL_RenderDrawPoint(renderer
, mouseX
+1, mouseY
);
69 SDL_RenderDrawPoint(renderer
, mouseX
+1, mouseY
+1);
70 SDL_RenderPresent(renderer
);
71 SDL_PollEvent(&event
);
73 printf("Click: %d\t%d\t%d\n", mouseX
, mouseY
, event
.button
.button
);
80 SDL_DestroyRenderer(renderer
);
81 SDL_DestroyWindow(window
);