Premières optimisations + renommage des valeurs des enumérations !

This commit is contained in:
HorlogeSkynet 2017-01-16 09:23:55 +01:00
parent a327c9d869
commit 28630c784b
5 changed files with 97 additions and 104 deletions

@ -9,11 +9,9 @@ void affichageMenuContinu(sfRenderWindow *const window, sfRenderTexture *renderT
sfFont* font = loadFontFromFile(REGULARFONTPATH);
sfText* monTexte1 = creerTexte((sfVector2f){50.f, 100.f}, "Tapez 'M' pour l'affichage en continu", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture,monTexte1, NULL);
sfRenderTexture_drawText(renderTexture, monTexte1, NULL);
sfText* monTexte2 = creerTexte((sfVector2f){50.f, 200.f}, "Tapez 'L' pour afficher un point a chaque fois que vous presserez la fleche droite", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture,monTexte2, NULL);
sfFont_destroy(font);
sfRenderTexture_drawText(renderTexture, monTexte2, NULL);
sfRenderTexture_display(renderTexture);
@ -25,6 +23,10 @@ void affichageMenuContinu(sfRenderWindow *const window, sfRenderTexture *renderT
*renderSprite = loadSpriteFromRenderTexture(renderTexture);
displayBackgroundSprite(window, *renderSprite);
sfFont_destroy(font);
sfText_destroy(monTexte1);
sfText_destroy(monTexte2);
}
@ -42,7 +44,7 @@ Point** affichageLogs(sfRenderWindow *const window, sfRenderTexture *renderTextu
}
// On réactive la répétition de touches pour l'affichage pas-à-pas...
if(mode == PBP_MANUAL)
if(mode == MODE_PBP_MANUAL)
{
sfRenderWindow_setKeyRepeatEnabled(window, true);
}
@ -57,7 +59,7 @@ Point** affichageLogs(sfRenderWindow *const window, sfRenderTexture *renderTextu
}
// En mode point-par-point, il faut commencer par ré-afficher l'ancienne texture !
if(mode == PBP_AUTOMATIC || mode == PBP_MANUAL)
if(mode == MODE_PBP_AUTOMATIC || mode == MODE_PBP_MANUAL)
{
sfRenderTexture_display(renderTexture);
@ -74,8 +76,8 @@ Point** affichageLogs(sfRenderWindow *const window, sfRenderTexture *renderTextu
sfRenderWindow_display(window);
}
// En mode GLOBAL, on n'affiche pas les points formant un agglomérats, la fin du corps de la fonction s'en chargera...
if(mode == GLOBAL && tabPoint[i].type == AGGLOMERAT)
// En mode MODE_GLOBAL, on n'affiche pas les points formant un agglomérats, la fin du corps de la fonction s'en chargera...
if(mode == MODE_GLOBAL && tabPoint[i].type == AGGLOMERAT)
{
nbPtsNonAffiches++;
continue;
@ -87,7 +89,7 @@ Point** affichageLogs(sfRenderWindow *const window, sfRenderTexture *renderTextu
tmpPtsAffiches[i - nbPtsNonAffiches] = tabPoint + i;
}
if(mode == PBP_MANUAL)
if(mode == MODE_PBP_MANUAL)
{
// On attend que la touche flèche droite soit appuyée pour afficher le point, et ce pour chaque point !
do
@ -128,8 +130,8 @@ Point** affichageLogs(sfRenderWindow *const window, sfRenderTexture *renderTextu
}
}
// Pour le mode GLOBAL, une fois l'affichage terminé, on y rajoute les agglomérats
if(mode == GLOBAL)
// Pour le mode MODE_GLOBAL, une fois l'affichage terminé, on y rajoute les agglomérats
if(mode == MODE_GLOBAL)
{
for(uint32_t i = 0; i < nbAgglos; i++)
{
@ -152,7 +154,7 @@ Point** affichageLogs(sfRenderWindow *const window, sfRenderTexture *renderTextu
sfRenderWindow_display(window);
// On re-désactive la répétition de touches pour la suite du programme...
if(mode == PBP_MANUAL)
if(mode == MODE_PBP_MANUAL)
{
sfRenderWindow_setKeyRepeatEnabled(window, false);
}

@ -89,10 +89,10 @@ ErrEnum controlePoints(sfRenderWindow *window, const char *cheminFichier, Mode m
do
{
// Petite magie noire ici: en fonction de la valeur de `action` de l'itération précédente...
if(action == ZOOM_IN || action == ZOOM_OUT)
if(action == ACTION_ZOOM_IN || action == ACTION_ZOOM_OUT)
{
// ... et en fonction du sens de rotation de la molette (renvoyé par `waitingOnMapEvent`, on agrandit ou diminue le zoom)
carte->zoom += (action == ZOOM_IN ? 1 : -1);
carte->zoom += (action == ACTION_ZOOM_IN ? 1 : -1);
// On convertit cette position en coordonnées GPS, et on stocke les valeurs dans la structure représentant (le nouveau) point central de la carte
conversionPixelsCoordonnees(&carte->pointCentral, &(sfVector2f){(double)event.mouseWheel.x, (double)event.mouseWheel.y}, &carte->pointCentral, carte->echelle);
@ -103,7 +103,7 @@ ErrEnum controlePoints(sfRenderWindow *window, const char *cheminFichier, Mode m
centerCursor = true;
}
else if(action == CHANGE_MAP_TYPE)
else if(action == ACTION_CHANGE_MAP_TYPE)
{
// Do nothing... everything is managed elsewhere !
}
@ -133,9 +133,9 @@ ErrEnum controlePoints(sfRenderWindow *window, const char *cheminFichier, Mode m
afficherCarte(renderTexture, &carte->mapTexture, &carte->mapSprite, MAPFILE);
// Sert à indiquer si l'utilisateur pourra zoomer ou non (au clic) sur la carte
action = (carte->zoom < ZOOMAX ? ZOOMABLE : UNZOOMABLE);
action = (carte->zoom < ZOOMAX ? ACTION_ZOOMABLE : ACTION_UNZOOMABLE);
if(mode == GLOBAL || mode == PBP_AUTOMATIC || mode == PBP_MANUAL)
if(mode == MODE_GLOBAL || mode == MODE_PBP_AUTOMATIC || mode == MODE_PBP_MANUAL)
{
nbPointAgglosMin = getMinAgglo(agglos, nbAgglos);
@ -166,15 +166,15 @@ ErrEnum controlePoints(sfRenderWindow *window, const char *cheminFichier, Mode m
switch(action)
{
case QUIT:
case ACTION_QUIT:
// L'utilisateur a décidé de quitter cette vue de la carte !
flag = SUCCESS;
keepGoing = false;
break;
case ZOOM_IN:
case ZOOM_OUT:
case ZOOM_ZONE:
case ACTION_ZOOM_IN:
case ACTION_ZOOM_OUT:
case ACTION_ZOOM_ZONE:
afficherSablier(window, renderTexture, &renderSprite);
// L'utilisateur a effectué un zoom sur la carte (et il est autorisé à le faire)
@ -195,28 +195,28 @@ ErrEnum controlePoints(sfRenderWindow *window, const char *cheminFichier, Mode m
conversionRec(&carre, &carte->pointHautGauche, &carte->pointBasDroite, &carte->pointCentral, carte->echelle);
// Après le zoom, quelque soit le mode initial, on partira toujours de l'affichage global
mode = GLOBAL;
mode = MODE_GLOBAL;
break;
case ZOOM_NEXT:
case ZOOM_PREV:
case ACTION_ZOOM_NEXT:
case ACTION_ZOOM_PREV:
// L'utilisateur a changé de vue sur la fenêtre --> 0n libère la mémoire des éléments actuellement affichés !
libererMemoireElementsAffiches(carte, MAPFILE, nbPointsAffiches, tabPointeursCercles);
// L'utilisateur a demandé d'afficher la vue précédente / suivante. Donc on commence par empiler la vue actuelle dans la pile des suivantes / précédentes.
if(!empilerPileCartes((action == ZOOM_NEXT ? &previous : &next), carte))
if(!empilerPileCartes((action == ACTION_ZOOM_NEXT ? &previous : &next), carte))
{
/* AFFICHER UN MESSAGE CAR IMPOSSIBLE DE ZOOMER ??? */
break;
}
// La prochaine vue correspond donc à la dernière empilée dans les suivantes / précédentes
carte = depilerPilesCartes((action == ZOOM_NEXT ? &next : &previous));
carte = depilerPilesCartes((action == ACTION_ZOOM_NEXT ? &next : &previous));
// Gestion de la pile vide: On remet la vue que l'on a précédemment empilée (avantage: aucune variable temporaire)
if(carte == NULL)
{
carte = depilerPilesCartes((action == ZOOM_NEXT ? &previous : &next));
carte = depilerPilesCartes((action == ACTION_ZOOM_NEXT ? &previous : &next));
}
else
@ -226,7 +226,7 @@ ErrEnum controlePoints(sfRenderWindow *window, const char *cheminFichier, Mode m
}
break;
case CHANGE_MAP_TYPE:
case ACTION_CHANGE_MAP_TYPE:
afficherSablier(window, renderTexture, &renderSprite);
if(++carte->type == LASTYPE)

@ -65,21 +65,21 @@ Rectangle waitingOnMap(sfRenderWindow *const window, sfEvent *const event, sfRen
displayBackgroundSprite(window, renderSprite);
}
else if(sfMouse_isButtonPressed(sfMouseLeft) && *action == ZOOMABLE)
else if(sfMouse_isButtonPressed(sfMouseLeft) && *action == ACTION_ZOOMABLE)
{
Rectangle carre = selectionRectangle(window, event, renderSprite, true);
// Si l'utilisateur a réellement sélectionné une zone...
if(carre.positionHG.x != 0.0 && carre.positionHG.y != 0.0 && carre.positionBD.x != 0.0 && carre.positionBD.y != 0.0)
{
*action = ZOOM_ZONE;
*action = ACTION_ZOOM_ZONE;
return carre;
}
}
else if(event->type == sfEvtMouseWheelMoved)
{
*action = (event->mouseWheel.delta > 0 ? ZOOM_IN : ZOOM_OUT);
*action = (event->mouseWheel.delta > 0 ? ACTION_ZOOM_IN : ACTION_ZOOM_OUT);
break;
}
@ -87,13 +87,13 @@ Rectangle waitingOnMap(sfRenderWindow *const window, sfEvent *const event, sfRen
{
if(sfKeyboard_isKeyPressed(sfKeyBack))
{
*action = QUIT;
*action = ACTION_QUIT;
break;
}
else if(sfKeyboard_isKeyPressed(sfKeySpace))
{
*action = CHANGE_MAP_TYPE;
*action = ACTION_CHANGE_MAP_TYPE;
break;
}
}
@ -177,13 +177,13 @@ Rectangle waitingOnMapEvent(sfRenderWindow *const window, sfEvent *const event,
else if(sfKeyboard_isKeyPressed(sfKeyBack))
{
*action = QUIT;
*action = ACTION_QUIT;
break;
}
else if(sfKeyboard_isKeyPressed(sfKeySpace))
{
*action = CHANGE_MAP_TYPE;
*action = ACTION_CHANGE_MAP_TYPE;
break;
}
}
@ -192,7 +192,7 @@ Rectangle waitingOnMapEvent(sfRenderWindow *const window, sfEvent *const event,
--> cf. https://github.com/SFML/SFML/blob/fae3b65f0567f87fa9925cd42d28df15eb69e79c/src/SFML/Window/Unix/InputImpl.cpp#L237 */
else if((event->type == sfEvtMouseButtonPressed && event->mouseButton.button == sfMouseXButton2) || sfKeyboard_isKeyPressed(sfKeyN))
{
*action = ZOOM_NEXT;
*action = ACTION_ZOOM_NEXT;
break;
}
@ -200,18 +200,18 @@ Rectangle waitingOnMapEvent(sfRenderWindow *const window, sfEvent *const event,
--> cf. https://github.com/SFML/SFML/blob/fae3b65f0567f87fa9925cd42d28df15eb69e79c/src/SFML/Window/Unix/InputImpl.cpp#L238 */
else if((event->type == sfEvtMouseButtonPressed && event->mouseButton.button == sfMouseXButton1) || sfKeyboard_isKeyPressed(sfKeyP))
{
*action = ZOOM_PREV;
*action = ACTION_ZOOM_PREV;
break;
}
else if(sfMouse_isButtonPressed(sfMouseLeft) && *action == ZOOMABLE && inWindow)
else if(sfMouse_isButtonPressed(sfMouseLeft) && *action == ACTION_ZOOMABLE && inWindow)
{
Rectangle carre = selectionRectangle(window, event, renderSprite, true);
// Si l'utilisateur a réellement sélectionné une zone...
if(carre.positionHG.x != 0.0 && carre.positionHG.y != 0.0 && carre.positionBD.x != 0.0 && carre.positionBD.y != 0.0)
{
*action = ZOOM_ZONE;
*action = ACTION_ZOOM_ZONE;
return carre;
}
}
@ -249,13 +249,13 @@ Rectangle waitingOnMapEvent(sfRenderWindow *const window, sfEvent *const event,
if(delta > 0 && carte->zoom < ZOOMAX)
{
*action = ZOOM_IN;
*action = ACTION_ZOOM_IN;
break;
}
else if(delta < 0 && carte->zoom > ZOOMIN)
{
*action = ZOOM_OUT;
*action = ACTION_ZOOM_OUT;
break;
}

@ -14,13 +14,13 @@ typedef struct Intersection Intersection;
typedef enum {NONE, AGGLOMERAT, ROUTE} TypePt;
typedef enum {NO_MODE, GLOBAL, PBP_AUTOMATIC, PBP_MANUAL} Mode;
typedef enum {NO_MODE, MODE_GLOBAL, MODE_PBP_AUTOMATIC, MODE_PBP_MANUAL} Mode;
typedef enum {NO_ACTION, QUIT, ZOOM_NEXT, ZOOM_PREV, ZOOM_ZONE, CHANGE_MAP_TYPE, ZOOM_IN, ZOOM_OUT, ZOOMABLE, UNZOOMABLE} Action;
typedef enum {NO_ACTION, ACTION_QUIT, ACTION_ZOOM_NEXT, ACTION_ZOOM_PREV, ACTION_ZOOM_ZONE, ACTION_CHANGE_MAP_TYPE, ACTION_ZOOM_IN, ACTION_ZOOM_OUT, ACTION_ZOOMABLE, ACTION_UNZOOMABLE} Action;
typedef enum {FIRSTYPE, ROADMAP, SATELLITE, TERRAIN, HYBRID, LASTYPE} MapType;
typedef enum {NO_TOOL, BACKTOHOME, ZOOMZONE, SELECTPOINTS, ADDLOGS, ACCEPT, CANCEL, NEXT, PREVIOUS, PBP} Tool;
typedef enum {NO_TOOL, TOOL_BACKTOHOME, TOOL_ZOOMZONE, TOOL_SELECTPOINTS, TOOL_ADDLOGS, TOOL_ACCEPT, TOOL_CANCEL, TOOL_NEXT, TOOL_PREVIOUS, TOOL_PBP, TOOL_MODE_GLOBAL} Tool;
typedef struct
{

111
Vue/vue.c

@ -70,46 +70,43 @@ void handleMenu(sfRenderWindow *const window)
sfFont *font = loadFontFromFile(REGULARFONTPATH);
sfFont *fontIt = loadFontFromFile(ITALICFONTPATH);
sfText *monTexte1 = creerTexte((sfVector2f){50.f, 100.f}, "Cliquez sur l'icone si contre pour", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, monTexte1, NULL);
sfText *monTexte6 = creerTexte((sfVector2f){50.f, 150.f}, "l'affichage Global", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, monTexte6, NULL);
const uint8_t nombreTextes = 6;
sfText *mesTextes[nombreTextes];
sfText *monTexte2 = creerTexte((sfVector2f){50.f, 250.f}, "Cliquez sur l'icone ci contre pour", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, monTexte2, NULL);
sfText *monTexte3 = creerTexte((sfVector2f){50.f, 300.f}, "l'affichage point par point", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, monTexte3, NULL);
mesTextes[0] = creerTexte((sfVector2f){50.f, 100.f}, "Cliquez sur l\'icone si contre pour", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, mesTextes[0], NULL);
sfText *monTexte4 = creerTexte((sfVector2f){50.f, 400.f}, "Utilisez la touche retour pour revenir au menu", fontIt, 20, sfBlack);
sfRenderTexture_drawText(renderTexture, monTexte4, NULL);
mesTextes[1] = creerTexte((sfVector2f){50.f, 150.f}, "l\'affichage Global", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, mesTextes[1], NULL);
sfText *monTexte5 = creerTexte((sfVector2f){50.f, 500.f}, "Ne quittez pas le programme quand il y est indique \"LOADING\".", fontIt, 20, sfRed);
sfRenderTexture_drawText(renderTexture, monTexte5, NULL);
mesTextes[2] = creerTexte((sfVector2f){50.f, 250.f}, "Cliquez sur l\'icone ci contre pour", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, mesTextes[2], NULL);
mesTextes[3] = creerTexte((sfVector2f){50.f, 300.f}, "l'affichage point par point", font, 30, sfBlack);
sfRenderTexture_drawText(renderTexture, mesTextes[3], NULL);
mesTextes[4] = creerTexte((sfVector2f){50.f, 400.f}, "Utilisez la touche retour pour revenir au menu", fontIt, 20, sfBlack);
sfRenderTexture_drawText(renderTexture, mesTextes[4], NULL);
mesTextes[5] = creerTexte((sfVector2f){50.f, 500.f}, "Ne quittez pas le programme quand il y est indique \"LOADING\".", fontIt, 20, sfRed);
sfRenderTexture_drawText(renderTexture, mesTextes[5], NULL);
/*-----------------Bouton d'affichage point par point ----------------*/
sfTexture *texturePBP = loadTextureFromFile("Vue/Ressources/Icones/navigation.png");
const sfVector2f scale = {0.15, 0.15};
sfSprite *sprite1 = loadSpriteFromTexture((sfVector2f){525.f, 260.f}, texturePBP);
sfSprite_setScale(sprite1, scale);
BoutonMenu * BoutonPBP = loadButtonMenu(PBP, "mode PBP", "Vue/Ressources/Icones/navigation.png");
BoutonPBP->zone=(Rectangle){(sfVector2f){525.f, 260.f}, {(sfTexture_getSize(texturePBP).x * scale.x + 525.f ), (sfTexture_getSize(texturePBP).y * scale.y + 260.f )}};
/* ----------------- Bouton d'affichage point par point ---------------- */
BoutonMenu *boutonPBP = loadButtonMenu(TOOL_PBP, "", "Vue/Ressources/Icones/navigation.png");
boutonPBP->spriteButton = loadSpriteFromTexture((sfVector2f){525.f, 260.f}, boutonPBP->textureButton);
sfSprite_setScale(boutonPBP->spriteButton, scale);
boutonPBP->zone = (Rectangle){(sfVector2f){525.f, 260.f}, {(sfTexture_getSize(boutonPBP->textureButton).x * scale.x + 525.f ), (sfTexture_getSize(boutonPBP->textureButton).y * scale.y + 260.f )}};
sfRenderTexture_drawSprite(renderTexture, boutonPBP->spriteButton, NULL);
/* ----------------- Bouton d'affichage Global ------------------------- */
BoutonMenu *boutonGLO = loadButtonMenu(TOOL_PBP, "", "Vue/Ressources/Icones/global.png");
boutonGLO->spriteButton = loadSpriteFromTexture((sfVector2f){525.f, 110.f}, boutonGLO->textureButton);
sfSprite_setScale(boutonGLO->spriteButton, scale);
boutonGLO->zone = (Rectangle){(sfVector2f){525.f, 110.f}, {(sfTexture_getSize(boutonGLO->textureButton).x * scale.x + 525.f ), (sfTexture_getSize(boutonGLO->textureButton).y * scale.y + 110.f )}};
sfRenderTexture_drawSprite(renderTexture, boutonGLO->spriteButton, NULL);
/*-----------------Bouton d'affichage Gloabl ----------------*/
sfTexture *textureGLO = loadTextureFromFile("Vue/Ressources/Icones/global.png");
sfSprite *sprite2 = loadSpriteFromTexture((sfVector2f){525.f, 110.f}, textureGLO);
sfSprite_setScale(sprite2, scale);
BoutonMenu * BoutonGLO = loadButtonMenu(PBP, "mode PBP", "Vue/Ressources/Icones/global.png");
BoutonGLO->zone=(Rectangle){(sfVector2f){525.f, 110.f}, {(sfTexture_getSize(textureGLO).x * scale.x + 525.f ), (sfTexture_getSize(textureGLO).y * scale.y + 110.f )}};
sfRenderTexture_drawSprite(renderTexture, sprite1, NULL);
sfRenderTexture_drawSprite(renderTexture, sprite2, NULL);
sfRenderTexture_display(renderTexture);
sfSprite *renderSprite = loadSpriteFromRenderTexture(renderTexture);
@ -119,8 +116,8 @@ void handleMenu(sfRenderWindow *const window)
Menu menu;
initialiserMenu(&menu);
ajouterEntreeMenu(&menu, loadButtonMenu(ZOOMZONE, "Zoomer sur zone", "Vue/Ressources/Icones/zoom-in.png"), font);
ajouterEntreeMenu(&menu, loadButtonMenu(SELECTPOINTS, "Points à cacher", "Vue/Ressources/Icones/hide.png"), font);
ajouterEntreeMenu(&menu, loadButtonMenu(TOOL_ZOOMZONE, "Zoomer sur zone", "Vue/Ressources/Icones/zoom-in.png"), font);
ajouterEntreeMenu(&menu, loadButtonMenu(TOOL_SELECTPOINTS, "Points à cacher", "Vue/Ressources/Icones/hide.png"), font);
afficherMenu(&menu);
@ -144,20 +141,12 @@ void handleMenu(sfRenderWindow *const window)
if(event.type == sfEvtMouseButtonPressed)
{
if(mouseIsInRect(((sfVector2f){event.mouseButton.x, event.mouseButton.y}), BoutonPBP->zone))// && (sfMouse_isButtonPressed(sfMouseLeft)))
if(mouseIsInRect(((sfVector2f){event.mouseButton.x, event.mouseButton.y}), boutonGLO->zone))
{
printf("test\n");
}
}
if(event.type == sfEvtMouseButtonPressed)
{
if(mouseIsInRect(((sfVector2f){event.mouseButton.x, event.mouseButton.y}), BoutonGLO->zone))
{
mode = GLOBAL;
mode = MODE_GLOBAL;
}
else if(mouseIsInRect(((sfVector2f){event.mouseButton.x, event.mouseButton.y}), BoutonPBP->zone))
else if(mouseIsInRect(((sfVector2f){event.mouseButton.x, event.mouseButton.y}), boutonPBP->zone))
{
// On affiche un texte pour expliquer !
affichageMenuContinu(window, renderTexture, &renderSprite);
@ -168,12 +157,12 @@ void handleMenu(sfRenderWindow *const window)
if(sfKeyboard_isKeyPressed(sfKeyM) || sfKeyboard_isKeyPressed(sfKeyNumpad2))
{
mode = PBP_AUTOMATIC;
mode = MODE_PBP_AUTOMATIC;
}
else if(sfKeyboard_isKeyPressed(sfKeyL) || sfKeyboard_isKeyPressed(sfKeyNumpad3))
{
mode = PBP_MANUAL;
mode = MODE_PBP_MANUAL;
}
else if(sfKeyboard_isKeyPressed(sfKeyBack))
@ -192,18 +181,18 @@ void handleMenu(sfRenderWindow *const window)
sfRenderWindow_setFramerateLimit(window, FRAMERATELIMITSLEEP);
}
}
// Si on appuie sur la touche retour, on retourne au menu (géré par waitingOnMap(), appelé dans le Contrôleur une fois les points affichés)
sfRenderTexture_clear(renderTexture, sfWhite);
sfRenderTexture_drawText(renderTexture, monTexte1, NULL);
sfRenderTexture_drawText(renderTexture, monTexte2, NULL);
sfRenderTexture_drawText(renderTexture, monTexte3, NULL);
sfRenderTexture_drawText(renderTexture, monTexte4, NULL);
sfRenderTexture_drawText(renderTexture, monTexte5, NULL);
sfRenderTexture_drawText(renderTexture, monTexte6, NULL);
sfRenderTexture_drawSprite(renderTexture, sprite1, NULL);
sfRenderTexture_drawSprite(renderTexture, sprite2, NULL);
for(uint8_t i = 0; i < nombreTextes; i++)
{
sfRenderTexture_drawText(renderTexture, mesTextes[i], NULL);
}
sfRenderTexture_drawSprite(renderTexture, boutonPBP->spriteButton, NULL);
sfRenderTexture_drawSprite(renderTexture, boutonGLO->spriteButton, NULL);
sfRenderTexture_display(renderTexture);
sfSprite_destroy(renderSprite);
@ -214,10 +203,12 @@ void handleMenu(sfRenderWindow *const window)
sfFont_destroy(font);
sfFont_destroy(fontIt);
sfText_destroy(monTexte1);
sfText_destroy(monTexte2);
sfText_destroy(monTexte3);
sfText_destroy(monTexte4);
for(uint8_t i = 0; i < nombreTextes; i++)
{
sfText_destroy(mesTextes[i]);
}
sfRenderTexture_destroy(renderTexture);
sfSprite_destroy(renderSprite);
}