SDL2 example
[mirrors/Programs.git] / c / SDL2_putpixel_click / main.c
1 //gcc -Wextra -pedantic-errors -o main.out main.c -lSDL2
2
3 #include <stdio.h>
4 #include <stdlib.h>
5
6 #include <SDL2/SDL.h>
7
8 #define WINDOW_WIDTH 600
9
10 int main(void) {
11 SDL_Event event;
12 SDL_Renderer *renderer;
13 SDL_Window *window;
14 int i;
15
16 SDL_Init(SDL_INIT_VIDEO);
17 SDL_CreateWindowAndRenderer(WINDOW_WIDTH, WINDOW_WIDTH, 0, &window, &renderer);
18 //SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN_DESKTOP);
19
20 SDL_SetRenderDrawColor(renderer, 0, 0, 0, 0);
21 SDL_RenderClear(renderer);
22 SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
23
24 for (i = 0; i < WINDOW_WIDTH; ++i)
25 SDL_RenderDrawPoint(renderer, i, i);
26
27 SDL_RenderPresent(renderer);
28
29 int running = 1;
30 int mouseX, mouseY;
31 while(running) {
32 event.type = 0;
33 if(SDL_PollEvent(&event)) {
34 switch(event.type){
35 case SDL_QUIT:
36 running = 0;
37 break;
38 case SDL_MOUSEBUTTONDOWN:
39 //do whatever you want to do after a mouse button was pressed,
40 // e.g.:
41 //if(event.button.button == SDL_BUTTON_LEFT) {
42 SDL_GetMouseState(&mouseX, &mouseY);
43 printf("Click %d, %d, %d\n", mouseX, mouseY, event.button.button);
44 SDL_RenderDrawPoint(renderer, mouseX, mouseY);
45 SDL_RenderPresent(renderer);
46 //}
47 break;
48 }
49 }
50 }
51 SDL_DestroyRenderer(renderer);
52 SDL_DestroyWindow(window);
53 SDL_Quit();
54 return EXIT_SUCCESS;
55 }
This page took 0.290736 seconds and 4 git commands to generate.