93 lines
3.3 KiB
C
93 lines
3.3 KiB
C
#pragma once
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "../Headers/structures.h"
|
|
|
|
#include "../Vue/creation.h"
|
|
|
|
|
|
/**
|
|
* @brief Initialise une structure `Menu` et instancie en même temps une texture de rendus de la bonne taille.
|
|
*
|
|
* @param menu Le menu à initialiser...
|
|
* @return Procédure..
|
|
*/
|
|
void initialiserMenu(Menu *const menu);
|
|
|
|
/**
|
|
* @brief Détruit les champs dynamique d'un objet `Bouton`.
|
|
*
|
|
* @param bouton Le bouton à détruire...
|
|
* @return Procédure.
|
|
*/
|
|
void detruireBouton(Bouton *const bouton);
|
|
|
|
/**
|
|
* @brief Détruit une structure `Menu` ainsi que sa texture de rendus associée.
|
|
*
|
|
* @param menu Le menu à détruire...
|
|
* @return Procédure.
|
|
*/
|
|
void detruireMenu(Menu *const menu);
|
|
|
|
/**
|
|
* @brief Renvoie l'outil sélectionné par l'utilisateur quand il a cliqué sur un bouton.
|
|
*
|
|
* /!\ Cette fonction ne teste pas si l'utilisateur a cliqué ou non !
|
|
*
|
|
* @param event Variable d'évènements de la fonction appelante.
|
|
* @param menu Le menu qui contient les boutons affichés.
|
|
* @return L'outil sélectionné.
|
|
*/
|
|
Tool whichTool(const sfEvent *const event, const Menu *const menu);
|
|
|
|
/**
|
|
* @brief Ajoute une entrée dans un menu déjà initialisé.
|
|
*
|
|
* @param menu Le menu dans lequel on ajoute cette entrée.
|
|
* @param bouton Le bouton a ajouter qui représente cette entrée.
|
|
* @return Procédure.
|
|
*/
|
|
void ajouterEntreeMenu(Menu *const menu, Bouton *const bouton);
|
|
|
|
/**
|
|
* @brief Affiche le texte descriptif associé à un bouton lors d'un "hovering"
|
|
*
|
|
* @param event Variable d'évènements de la fonction appelante.
|
|
* @param menu Le menu affiché actuellement.
|
|
* @param renderTexture La texture de rendus d'origine que l'on va surcharger !
|
|
* @param renderSprite Un pointeur sur un le sprite affiché sur la fenêtre.
|
|
* @return le Bouton que l'on affiche
|
|
*/
|
|
Bouton* afficherDescriptionBouton(const sfEvent *const event, const Menu *const menu, sfRenderTexture *const renderTexture, sfSprite **renderSprite);
|
|
|
|
/**
|
|
* @brief Charge une instance de Menu avec certains boutons.
|
|
*
|
|
* @param menu Le menu à charger !
|
|
* @param mode Le mode dans lequel l'affichage des logs s'effectue.
|
|
* @param displayEnded Si oui ou non l'affichage des points est terminé.
|
|
* @param displayPaused Si oui ou non l'affichage des points est en pause.
|
|
* @param currentTool L'outil actuel !
|
|
* @return Procédure.
|
|
*/
|
|
void chargerMenuAffichageLog(Menu *const menu, const Mode mode, const bool displayEnded, const bool displayPaused, const Tool currentTool);
|
|
|
|
/**
|
|
* @brief Met à jour l'affichage du menu en fonction de certains booléens.
|
|
*
|
|
* /!\ Attention: Cette fonction n'est appelable que sur un Menu déjà instancié et initialisé !
|
|
* /!\ Attention: Cette fonction met à jour une texture de rendus mais n'affiche à rien à l'écran !
|
|
*
|
|
* @param renderTexture La texture de rendus à updater.
|
|
* @param menu Le menu à charger !
|
|
* @param mode Le mode dans lequel l'affichage des logs s'effectue.
|
|
* @param displayEnded Si oui ou non l'affichage des points est terminé.
|
|
* @param displayPaused Si oui ou non l'affichage des points est en pause.
|
|
* @param currentTool L'outil actuel !
|
|
* @return Procédure.
|
|
*/
|
|
void updateAndDrawMenu(sfRenderTexture *const renderTexture, Menu *const menu, const Mode mode, const bool displayEnded, const bool displayPaused, const Tool currentTool);
|