Sokoban
1.1.3
Le fameux jeu Sokoban, poussez les boîtes !
src
sdl2.c
Aller à la documentation de ce fichier.
1
/*
2
SDL2 display management functions for Sokoban
3
Copyright (C) 2022, 2023 Efe ERKEN
4
5
This file is part of Sokoban
6
7
Sokoban is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
(at your option) any later version.
11
12
Sokoban is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with Sokoban. If not, see <https://www.gnu.org/licenses/>.
19
20
SPDX-License-Identifier: GPL-3.0-or-later
21
*/
22
34
#include "
sdl2.h
"
35
36
SDLContext
context;
37
48
void
sdl_init
()
49
{
50
// la taille de la fenêtre
51
int
const
width = 1280;
52
int
const
height = 720;
53
// initialisation à zero du context
54
context = (
SDLContext
){NULL, NULL, .
width
= 0, .height = 0};
55
// lancement du système video et événement de SDL2
56
if
(SDL_Init(SDL_INIT_VIDEO))
57
{
58
return
;
59
}
60
// création d'une fenêtre
61
SDL_Window *window = SDL_CreateWindow(
"Sokoban"
, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width, height, SDL_WINDOW_SHOWN);
62
if
(!window)
63
{
64
return
;
65
}
66
// création d'un renderer
67
SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
68
// mise à jour du context avec les nouvelles informations
69
context = (
SDLContext
){.
window
= window, .renderer = renderer, .width = width, .height = height};
70
}
71
82
void
sdl_quit
()
83
{
84
SDL_DestroyWindow(context.
window
);
85
SDL_DestroyRenderer(context.
renderer
);
86
context.
window
= NULL;
87
context.
renderer
= NULL;
88
SDL_Quit();
89
}
sdl_quit
void sdl_quit()
Fonction qui referme la bibliothèque SDL2.
Definition:
sdl2.c:82
sdl_init
void sdl_init()
Fonction qui lance SDL2 et crée une fenêtre.
Definition:
sdl2.c:48
sdl2.h
Fichier header contenant la structure pour gérer SDL2 pour le jeu.
SDLContext
struct SDLContext SDLContext
Structure contenant les informations pour l'affichage SDL2.
SDLContext
Structure contenant les informations pour l'affichage SDL2.
Definition:
sdl2.h:47
SDLContext::window
SDL_Window * window
Pointeur sur la fenêtre.
Definition:
sdl2.h:48
SDLContext::renderer
SDL_Renderer * renderer
Pointeur sur le renderer.
Definition:
sdl2.h:49
SDLContext::width
int width
Largeur de la fenêtre.
Definition:
sdl2.h:50
Généré le Samedi 23 Septembre 2023 13:31:22 pour Sokoban par
1.9.1