Affiche un tableau d'images-boutons scrollable horizontalement et verticalement.
H-Expansif: Non
V-Expansif: Non
Grâce à Map, l'utilisateur peut sélectionner la gemme de son choix.
Création
Widget *wMap(int dCols, int nCols, int dRows, int nRows, int margin, int mode);
Méthodes
void wMap_AddElement(Widget *map, SDL_Surface *pic0, SDL_Surface *pic1);
BOOL wMap_IsElementSelected(Widget *map, int elt);
void wMap_SelectElement(Widget *map, int elt);
void wMap_UnselectElement(Widget *map, int elt);
void wMap_SelectAll(Widget *map);
void wMap_UnselectAll(Widget *map);
void wMap_SetElementImage(Widget *map, int elt, SDL_Surface *pic0, SDL_Surface *pic1);
A propos
dCols, dRows indiquent respectivement le nombre de colonnes et de lignes affichées(displayed) tandis que nCols, nRows le nombre total de colonnes et de lignes.
Si nCols > dCols alors il y a une scrollbar horizontale qui apparaît. Si nRows > dRows alors c'est une scrollbar verticale.
margin est la marge en pixels entre les images. Si margin = 0 alors les images seront collées entre elles.
L'argument mode attend une réponse parmi l'énumération suivante et va affecter tous les boutons de Map :
BUTTON_PRESS
Le bouton est pressable : cliquer dessus va rapidement l'activer.
BUTTON_SELECT
Le bouton est sélectionnable : cliquer dessus le fait changer d'état.
Lors de l'ajout d'un élément avec wMap_AddElement, l'argument pic1 est optionnel. S'il n'est pas défini (=NULL), alors cliquer sur le bouton assomobrira l'image définie par pic0.
Comme toujours, Map libère automatiquement les surfaces des images utilisées, donc essayer de les libérer soi-même à la fin risque de faire crasher le programme. Vous n'avez pas à vous en occuper !