45 lines
2.6 KiB
C
45 lines
2.6 KiB
C
#pragma once
|
|
|
|
#include "../Vue/selection.h"
|
|
|
|
#include "../Modele/suppression.h"
|
|
|
|
|
|
/**
|
|
* @brief Récupère la sélection de points de l'utilisateur et ajoute ou enlève (touche C enfoncée)les
|
|
* points/agglomérats sélectionnés des points/agglomérats à supprimer.
|
|
*
|
|
* @param window Fenêtre dans laquelle on attend un évènement.
|
|
* @param event Pointeur sur une variable 'sfEvent' de la fonction appelante.
|
|
* @param renderSprite Sprite à ré-écrire durant l'attente d'un évènement.
|
|
* @param ptsAffiches Tableau de pointeurs sur les points affichés.
|
|
* @param nbPointsAffiches Taille du tableau ptsAffiches. Sert de valeur impossible pour
|
|
* pointAffiche.
|
|
* @param pointAffiche Numéro du point sur lequel se trouve le curseur. Vaut nbPointsAffiches si
|
|
* le curseur n'est sur aucun point.
|
|
* @param agglos Tableau contenant tous les agglomérats.
|
|
* @param nbAgglos Taille du tableau agglos. Sert de valeur impossible pour aggloSelectionne.
|
|
* @param aggloSelectionne Numéro de l'agglomérat sur lequle se trouve le curseur. Vaut nbAgglos
|
|
* si le curseur n'est sur aucun point.
|
|
* @param tabPointeursCercles Tableau de pointeurs sur les cercles des points affichés. Sert
|
|
* à calculer si un point est dans le rectangle ou non dans la fonction setASupprimerPointsInCercle/Rec.
|
|
* @param tabPointeursCerclesAgglos Tableau de pointeurs sur les cercles des agglomérats. Sert
|
|
* à calculer si un agglomérat est dans le rectangle ou non dans la fonction setASupprimerAgglosInCercle/Rec.
|
|
* @param aSupprimer Indique si on sélectionne ou déselectionne des points à supprimer.
|
|
* @return Procédure.
|
|
*/
|
|
void controleSelectionSuppression(sfRenderWindow * const window, sfEvent * const event, sfSprite * renderSprite, Point ** ptsAffiches, uint32_t nbPointsAffiches, uint32_t pointAffiche, Agglomerat * agglos, uint32_t nbAgglos, uint32_t aggloSelectionne, sfCircleShape ** tabPointeursCercles, sfCircleShape ** tabPointeursCerclesAgglos, const bool aSupprimer);
|
|
|
|
/**
|
|
* @brief Lance la suppression de points @Modèle et gère une "message box"
|
|
*
|
|
* @param window La fenêtre à remplacer par une pop-up !
|
|
* @param renderSprite Le sprite actuel à ré-afficher !
|
|
* @param tabPoint Tableau contenant tous les points.
|
|
* @param nbPoints Taille du tableau tabPoint.
|
|
* @param tabAgglo Tableau contenant tous les agglomérats existants.
|
|
* @param nbAgglos Taille du tableau tabAgglo.
|
|
* @return Procédure.
|
|
*/
|
|
void suppressionAndVerbosity(sfRenderWindow *const window, const sfSprite *const renderSprite, const Point tabPoint[], uint32_t nbPoints, const Agglomerat tabAgglo[], uint32_t nbAgglos, const Mode mode);
|