118 lines
5.1 KiB
C
118 lines
5.1 KiB
C
#pragma once
|
|
|
|
#include "../Headers/structures.h"
|
|
|
|
#include "../Modele/destruction.h"
|
|
|
|
#include "creation.h"
|
|
|
|
|
|
/**
|
|
* @brief Effectue toute la procédure d'affichage d'un sprite sur une fenêtre
|
|
*
|
|
* @param window Fenêtre dans laquelle on affiche le sprite.
|
|
* @param sprite Pointeur sur le sprite à afficher sur la fenêtre.
|
|
* @return Procédure.
|
|
*/
|
|
void displayBackgroundSprite(sfRenderWindow *const window, const sfSprite *const sprite);
|
|
|
|
/**
|
|
* @brief Replace une texture d'origine sur une texture de rendus, et met à jour le sprite associé.
|
|
*
|
|
* @param renderTexture Texture de rendus à remettre en état.
|
|
* @param renderSprite Pointeur sur le sprite qui est à recharger.
|
|
* @param originalTexture Texture d'origine à ré-intégrer.
|
|
* @return Procédure.
|
|
*/
|
|
void resetTextureAndSpriteFromOriginal(sfRenderTexture *const renderTexture, sfSprite **renderSprite, sfTexture *const originalTexture);
|
|
|
|
/**
|
|
* @brief Affiche un point issu d'un fichier de Logs
|
|
*
|
|
* @param renderTexture Texture dans laquelle on affiche le point.
|
|
* @param point Point à afficher.
|
|
* @param ptrCercle Pointeur sur pointeur de type 'sfCircleShape', pour conserver son adresse une fois affiché.
|
|
* @param couleur La couleur dans laquelle on affiche le point.
|
|
* @return Procédure.
|
|
*/
|
|
void dessinerPoint(sfRenderTexture *const renderTexture, sfVector2f points, sfCircleShape **ptrCercle, sfColor couleur);
|
|
|
|
/**
|
|
* @brief Affiche un point d'interet plus ou moins gros en fonction du nombre de points qu'il contient
|
|
*
|
|
* @param renderTexture Texture dans laquelle on affiche le point d'interet.
|
|
* @parem agglos Point d'interet a afficher.
|
|
* @param ptrCercle Pointeur sur pointeur de type 'sfCircleShape', pour conserver son adresse une fois affiché.
|
|
* @param nbPointAggloMin Nombre de point minimal dans une agglo
|
|
* @param carte Carte que l'on affiche pour recuperer l'echelle
|
|
* @param La couleur dans laquelle on affice le point d'intérêt.
|
|
* @return Procédure.
|
|
*/
|
|
void dessinerAgglo(sfRenderTexture *const renderTexture, Agglomerat *agglos, sfCircleShape **ptrCercle, uint32_t nbPointAgglosMin, const Carte *const carte, sfColor couleur);
|
|
|
|
/**
|
|
* @brief Surcharge de la fonction ci-dessus.
|
|
*
|
|
* @param renderTexture Texture dans laquelle on affiche le point d'interet.
|
|
* @parem agglos Point d'interet a afficher.
|
|
* @param ptrCercle Pointeur sur pointeur de type 'sfCircleShape', pour conserver son adresse une fois affiché.
|
|
* @param nbPointAggloMin Nombre de point minimal dans une agglo
|
|
* @param carte Carte que l'on affiche pour recuperer l'echelle
|
|
* @param La couleur dans laquelle on affice le point d'intérêt.
|
|
* @return Procédure.
|
|
*/
|
|
void dessinerAggloGlobal(sfRenderTexture *const renderTexture, AgglomeratGlobal *agglos, sfCircleShape **ptrCercle, uint32_t nbPointAgglosMin, const Carte *const carte, const sfColor couleur);
|
|
|
|
/**
|
|
* @brief Affiche une carte à partir d'une image et charge les pointeurs ad hoc !
|
|
*
|
|
* @param renderTexture Fenêtre dans laquelle on affiche la carte.
|
|
* @param mapTexture Pointeur sur le pointeur de la texture contenant la carte.
|
|
* @param mapSprite Pointeur sur le pointeur du sprite contenant la carte.
|
|
* @param cheminFichier Chemin relatif du fichier contenant la carte.
|
|
* @return Procédure.
|
|
*/
|
|
void afficherCarte(sfRenderTexture *const renderTexture, sfTexture **mapTexture, sfSprite **mapSprite, const char *const cheminFichier);
|
|
|
|
/**
|
|
* @brief Cette fonction permet d'afficher une image pendant le chargement des données.
|
|
*
|
|
* @param window Fenetre dans laquelle on affiche l'image.
|
|
* @param renderTexture Pointeur vers la texture de rendus où l'on affiche l'image.
|
|
* @param renderSprite Pointeur sur le sprite que l'on va afficher dans window.
|
|
* @return Procédure.
|
|
*/
|
|
void afficherLoading(sfRenderWindow *const window, sfRenderTexture *renderTexture, sfSprite **renderSprite);
|
|
|
|
/**
|
|
* @brief Cette fonction permet d'afficher une image de sablier pendant le chargement de la carte.
|
|
*
|
|
* @param window Fenetre dans laquelle on affiche l'image.
|
|
* @param renderTexture Pointeur vers la texture de rendus où l'on affiche l'image.
|
|
* @param renderSprite Pointeur sur le sprite que l'on va afficher dans window.
|
|
* @return Procédure.
|
|
*/
|
|
void afficherSablier(sfRenderWindow *const window, sfRenderTexture *renderTexture, sfSprite **renderSprite);
|
|
|
|
/**
|
|
* @brief Affiche les boutons d'un menu dans une texture de rendus propre à la structure.
|
|
*
|
|
* @param window La fenêtre dans laquelle afficher le menu !
|
|
* @param renderTexture La texture de rendus dans laquelle on va positionner le menu !
|
|
* @return Procédure.
|
|
*/
|
|
void dessinerMenu(sfRenderTexture *const renderTexture, const Menu *const menu);
|
|
|
|
/**
|
|
* @brief Crée et affiche un bouton à une position et avec les informations données.
|
|
*
|
|
* /!\ Le texte de ce bouton NE SERA PAS FIXÉ et vaudra donc NULL.
|
|
*
|
|
* @param outil L'outil que le bouton représentera.
|
|
* @param icone Le chemin relatif vers l'icône à charger sur le bouton.
|
|
* @param position Un pointeur sur les coordonnées du bouton.
|
|
* @param lowButt booléen pour définir la taille tu bouton
|
|
* @return Procédure.
|
|
*/
|
|
Bouton* ajouterBoutonAccueil(const Tool outil, const char *const icone, const sfVector2f *const position, bool lowButt);
|