2025-12-06 19:44:44 +01:00
|
|
|
/* src/images.h
|
|
|
|
|
* Définition des structures pour la gestion et le découpage de l'image.
|
|
|
|
|
*/
|
|
|
|
|
|
2025-11-30 15:56:48 +01:00
|
|
|
#ifndef IMAGES_H
|
|
|
|
|
#define IMAGES_H
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Une tuile est une partie de l'image source */
|
2025-11-30 15:56:48 +01:00
|
|
|
typedef struct {
|
|
|
|
|
char path[30];
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Coordonnées de la tuile DANS l'image source */
|
2025-11-30 15:56:48 +01:00
|
|
|
int src_x, src_y;
|
|
|
|
|
int width, height;
|
2025-12-06 19:44:44 +01:00
|
|
|
int id; /* ID unique, de 0 à (L*C - 2) */
|
2025-11-30 15:56:48 +01:00
|
|
|
} tile_t;
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Structure pour l'image source complète */
|
2025-11-30 15:56:48 +01:00
|
|
|
typedef struct {
|
|
|
|
|
int width;
|
|
|
|
|
int height;
|
|
|
|
|
char path[30];
|
|
|
|
|
} image_source_t;
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Prototypes */
|
2025-11-30 15:56:48 +01:00
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Obtient les informations de l'image choisie */
|
2025-11-30 15:56:48 +01:00
|
|
|
image_source_t get_image_source(int selected_index);
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Crée et retourne un tableau de tuiles (découpage) */
|
2025-11-30 15:56:48 +01:00
|
|
|
tile_t **images_slice(image_source_t img_src, int rows, int cols);
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
/* Libère la mémoire allouée par images_slice (selon la règle free/malloc) */
|
2025-11-30 15:56:48 +01:00
|
|
|
void images_free_tiles(tile_t **tiles, int num_tiles);
|
|
|
|
|
|
2025-12-06 19:44:44 +01:00
|
|
|
#endif /* IMAGES_H */
|