This repository has been archived on 2023-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
GINPA/Controleur/waiting.h

70 lines
4.1 KiB
C

#pragma once
#include <stdlib.h>
#include "../Headers/structures.h"
#include "../Vue/affichage.h"
#include "controleSuppression.h"
/**
* @brief Attend un évènement (clavier / souris) de l'utilisateur
*
* @param window Fenêtre dans laquelle attendre un évènement.
* @param event Pointeur sur une variable 'sfEvent' de la fonction appelante.
* @param sprite Sprite à ré-écrire durant l'attente d'un évènement.
* @return Procédure.
*/
void waitingForEvent(sfRenderWindow *const window, sfEvent *const event, const sfSprite *const sprite);
/**
* @brief Fonction d'attente d'évènements particulière: elle gère les évènements et les renvoie au Contrôleur.
*
* @param window Fenêtre dans laquelle attendre un évènement.
* @param event Pointeur sur une variable 'sfEvent' de la fonction appelante.
* @param renderTexture Texture de rendus.
* @param renderSprite Sprite à ré-écrire durant l'attente d'un évènement.
* @param carte Carte affichée ici !
* @param nbPointsAffiches Nombre de points affichés à l'écran
* @param ptsAffiches Tableau de pointeur sur les points affichés.
* @param tabPointeursCercles Tableau contenant les pointeurs sur les cercles affichés.
* @param nbAgglos Nombre d'agglomérats.
* @param tabPointeursCerclesAgglos Tableau des cercles représentant les agglomérats.
* @param agglos Tableau des agglomérats convertis.
* @param nbPoints Taille du tableau tabPoint.
* @param tabPoint Tableau contenant tous les points même ceux non affichés.
* @param tabDatesConverties Tableau contenant les dates converties pour chaque point.
* @param font Pointeur sur la fonte à utiliser pour les dates à afficher.
* @param action Variable de type particulier qui indique l'action effectuée par l'utilisateur.
* @param mode Mode de visualisation dans lequel l'utilisateur est.
* @param menu Notre menu chéri !
* @param currentTool L'outil actuellement sélectionné par l'utilisateur.
* @return Le carré saisi par l'utilisateur.
*/
Rectangle waitingOnMapEvent(sfRenderWindow *const window, sfEvent *const event, sfRenderTexture *renderTexture, sfSprite *renderSprite, const Carte *const carte, const uint32_t nbPointsAffiches, Point **ptsAffiches, sfCircleShape *tabPointeursCercles[nbPointsAffiches], const uint32_t nbAgglos, sfCircleShape *tabPointeursCerclesAgglos[nbAgglos], Agglomerat *agglos, uint32_t nbPoints, Point *tabPoint, char **tabDatesConverties, const sfFont *const font, Action *const action, const Mode mode, Menu *const menu, Tool *const currentTool);
/**
* @brief Fonction d'attente d'évènements particulière: elle gère les évènements et les renvoie au Contrôleur.
*
* /!\ Attention: C'est une surcharge partielle de la fonction ci-dessus !
* Encore plus particulière, elle est dédiée au Contrôleur du mode MULTI-FICHIERS !
*
* @param window Fenêtre dans laquelle attendre un évènement.
* @param event Pointeur sur une variable 'sfEvent' de la fonction appelante.
* @param renderTexture Texture de rendus.
* @param renderSprite Sprite à ré-écrire durant l'attente d'un évènement.
* @param carte Carte affichée ici !
* @param tailleGlobalMultiFile Nombre d'agglomérats globaux.
* @param globalMultiFile Tableau qui contient les agglomérats globaux.
* @param tabPointeursCerclesAgglos Tableau des cercles représentant les agglomérats globaux.
* @param font Pointeur sur la fonte à utiliser pour les dates à afficher.
* @param action Variable de type particulier qui indique l'action effectuée par l'utilisateur.
* @param mode Mode de visualisation dans lequel l'utilisateur est.
* @param menu Notre menu chéri !
* @param currentTool L'outil actuellement sélectionné par l'utilisateur.
* @return Le carré saisi par l'utilisateur.
*/
Rectangle waitingOnMapEventAgglo(sfRenderWindow *const window, sfEvent *const event, sfRenderTexture *const renderTexture, sfSprite *renderSprite, const Carte *const carte, const uint32_t tailleGlobalMultiFile, const AgglomeratGlobal globalMultiFile[tailleGlobalMultiFile], sfCircleShape **tabPointeursCerclesAgglos, const sfFont *const font, Action *const action, Menu *const menu, Tool *const currentTool);