> For the complete documentation index, see [llms.txt](https://lados-organization.gitbook.io/goku/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lados-organization.gitbook.io/goku/goku-game-engine_fr/chapitre-16-le-systeme-de-fenetre.md).

# Chapitre 16 : Le Système de Fenêtre

La structure `Window` représente une fenêtre à l'écran dans laquelle le jeu sera affiché. Ce système utilise le module `sdl2::video` de la bibliothèque `SDL2` en Rust.&#x20;

La structure `Window` contient trois champs : `sdl_context`, `video_subsystem` et `canvas`. Le `sdl_context` est le contexte principal de la bibliothèque SDL. Le `video_subsystem` est un sous-système qui gère les fonctionnalités vidéo. Le `canvas` est une structure qui représente la zone où nous pouvons dessiner des choses.&#x20;

Une `Window` est créée avec un titre, une largeur et une hauteur spécifiques. La fonction `new` initialise SDL2, crée une fenêtre avec le titre, la largeur et la hauteur spécifiés, et renvoie un `Result` qui contient soit une nouvelle instance de `Window`, soit un message d'erreur.&#x20;

La fenêtre est créée au centre de l'écran et utilise le contexte OpenGL. Le canevas est créé en mode logiciel, ce qui signifie qu'il utilise le CPU pour le rendu. C'est généralement plus lent que d'utiliser le GPU mais c'est plus largement pris en charge.
