diff --git a/includes/Ecran.hpp b/includes/Ecran.hpp index c71a6e1..dc79f0a 100644 --- a/includes/Ecran.hpp +++ b/includes/Ecran.hpp @@ -17,6 +17,6 @@ struct Ecran { /* Prend 2 arguments: position X, position Y * -> appellé à chaque fois que l'utilisateur fait clic gauche */ - const std::function doOnClick = { + const std::function doOnLeftClick = { [](const int, const int) {}}) const; }; diff --git a/src/Ecran.cpp b/src/Ecran.cpp index f3e5c9b..084d09c 100644 --- a/src/Ecran.cpp +++ b/src/Ecran.cpp @@ -11,41 +11,25 @@ Ecran::~Ecran() {} void Ecran::afficher( const std::function dessin, - const std::function onClick) const { + const std::function onLeftClick) const { // Flag qui track si le clic gauche est pressé bool mouseButtonPressed = false; while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { + // Fermeture de la fenêtre if (event.type == sf::Event::Closed) { window.close(); } - } - /**************** - * Evenements * - ***************/ - - // Récupération des coordonnées du clic de souris - if (!mouseButtonPressed) { + // Récupération des coordonnées du clic de souris if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left) { - onClick(event.mouseButton.x, event.mouseButton.y); - mouseButtonPressed = true; + onLeftClick(event.mouseButton.x, event.mouseButton.y); } } - // Réinitialisation du flag lorsque le bouton est relâché - if (event.type == sf::Event::MouseButtonReleased && - event.mouseButton.button == sf::Mouse::Left) { - mouseButtonPressed = false; - } - - /**************** - * Dessin * - ***************/ - window.clear(); // Appel d'une fonction dessin