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/Vue/selection.h

42 lines
1.8 KiB
C

#pragma once
#include "../Headers/structures.h"
#include "creation.h"
/**
* @brief Sélection d'une zone rectangulaire à l'écran
*
* Cette fonction permet à l'utilisateur de sélectionner une zone rectangulaire à l'aide de la souris
* et renvoit une structure Rectangle correspondante.
* Cette structure sera nulle si l'utilisateur annule sa sélection.
*
* /!\ Prière de n'appeler cette fonction que depuis une boucle de gestion des évènements...
*
* @param window Pointeur sur la fenêtre sur laquelle on "sélectionne".
* @param event Pointeur sur la variable d'évènement de la fonction appelante.
* @param sprite (ou autre) Pointeur sur un (ou plusieurs) éléments à ré-afficher constamment.
* @param carre Un petit booléen pour décider si l'on fait une sélection carrée ou rectangulaire.
*
* @return Structure correspondant au rectangle tracé.
*/
Rectangle selectionRectangle(sfRenderWindow *const window, sfEvent *event, const sfSprite *const sprite, const bool carre);
/**
* @brief Sélection d'une zone circulaire à l'écran
*
* Cette fonction permet à l'utilisateur de sélectionner une zone circulaire à l'aide de la souris
* et renvoit une structure Cercle correspondante.
* Cette structure sera nulle si l'utilisateur annule sa sélection.
*
* /!\ Prière de n'appeler cette fonction que depuis une boucle de gestion des évènements...
*
* @param window Pointeur sur la fenêtre sur laquelle on "sélectionne".
* @param event Pointeur sur la variable d'évènement de la fonction appelante.
* @param sprite (ou autre) Pointeur sur un (ou plusieurs) éléments à ré-afficher constamment.
*
* @return Structure correspondant au cercle tracé.
*/
Cercle selectionCercle(sfRenderWindow *const window, sfEvent *event, const sfSprite *const sprite);