-
Notifications
You must be signed in to change notification settings - Fork 0
/
creer2.c
102 lines (74 loc) · 2.99 KB
/
creer2.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <SDL2/SDL.h>
#include <stdio.h>
/************************************/
/* exemple de création de fenêtres */
/************************************/
int main(int argc, char **argv) {
(void)argc;
(void)argv;
int i ;
int j ;
int h ;
SDL_Window *window_1 = NULL, // Future fenêtre de gauche
*window_2 = NULL; // Future fenêtre de droite
/* Initialisation de la SDL + gestion de l'échec possible */
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
SDL_Log("Error : SDL initialisation - %s\n", SDL_GetError()); // l'initialisation de la SDL a échoué
exit(EXIT_FAILURE);
}
/* Création de la fenêtre de gauche */
for(j=0 ; j<500;j+=20)
{
window_1 = SDL_CreateWindow(
"Fenêtre à gauche", // codage en utf8, donc accents possibles
0, j+20, // coin haut gauche en haut gauche de l'écran
300, 100, // largeur = 400, hauteur = 300
SDL_WINDOW_RESIZABLE);
} // redimensionnable
for(h=900 ; h>100;h-=20)
{
window_1 = SDL_CreateWindow(
"Fenêtre à gauche", // codage en utf8, donc accents possibles
1050, h-20, // coin haut gauche en haut gauche de l'écran
300, 100, // largeur = 400, hauteur = 300
SDL_WINDOW_RESIZABLE);
} // redimensionnable
if (window_1 == NULL) {
SDL_Log("Error : SDL window 1 creation - %s\n", SDL_GetError()); // échec de la création de la fenêtre
SDL_Quit();
exit(EXIT_FAILURE);
}
/* Création de la fenêtre de droite */
for(i=0 ; i<1000; i+=20)
{
window_2 = SDL_CreateWindow(
"Fenêtre à droite", // codage en utf8, donc accents possibles
i+20, 0, // à droite de la fenêtre de gauche
300, 100, // largeur = 500, hauteur = 300
0);
}
for(i=1200 ; i>100; i-=20)
{
window_2 = SDL_CreateWindow(
"Fenêtre à droite", // codage en utf8, donc accents possibles
i-20, 600, // à droite de la fenêtre de gauche
300, 100, // largeur = 500, hauteur = 300
0);
}
if (window_2 == NULL) {
/* L'init de la SDL : OK
fenêtre 1 :OK
fenêtre 2 : échec */
SDL_Log("Error : SDL window 2 creation - %s\n", SDL_GetError()); // échec de la création de la fenêtre
SDL_DestroyWindow(window_1);
SDL_Quit();
exit(EXIT_FAILURE);
}
/* Normalement, on devrait ici remplir les fenêtres... */
SDL_Delay(5000); // Pause exprimée en ms
/* et on referme tout ce qu'on a ouvert en ordre inverse de la création */
SDL_DestroyWindow(window_2);
SDL_DestroyWindow(window_1);
SDL_Quit();
return 0;
}