2025-12-06 19:44:44 +01:00
|
|
|
/* src/menu_view.h
|
|
|
|
|
* Définition de l'état du menu et des constantes.
|
|
|
|
|
*/
|
|
|
|
|
|
2025-11-30 15:40:46 +01:00
|
|
|
#ifndef MENU_VIEW_H
|
|
|
|
|
#define MENU_VIEW_H
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Constantes de dimension de la grille */
|
2025-11-30 15:40:46 +01:00
|
|
|
#define NUM_IMAGES 3
|
|
|
|
|
#define MIN_DIMENSION 3
|
|
|
|
|
#define MAX_DIMENSION 8
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Structure de l'état du menu */
|
2025-11-30 15:40:46 +01:00
|
|
|
typedef struct {
|
2025-12-06 19:44:44 +01:00
|
|
|
int selected_image; /* Index de l'image (0, 1, ou 2) */
|
|
|
|
|
int rows; /* Nombre de lignes (3 à 8) */
|
|
|
|
|
int cols; /* Nombre de colonnes (3 à 8) */
|
|
|
|
|
int ready_to_play; /* 1 si le joueur a validé, -1 si demande de quitter */
|
|
|
|
|
} menu_state_t;
|
2025-11-30 15:40:46 +01:00
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Prototypes des fonctions publiques */
|
2025-11-30 15:40:46 +01:00
|
|
|
void menu_init(menu_state_t *state);
|
|
|
|
|
void menu_render(const menu_state_t *state);
|
|
|
|
|
void menu_handle_mouse_click(menu_state_t *state);
|
|
|
|
|
void menu_handle_key(menu_state_t *state);
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
#endif /* MENU_VIEW_H */
|