Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [RESOLU] Détection d'un bug sur l'event resize  (Lu 2867 fois)

0 Membres et 2 Invités sur ce sujet

Bilt

  • Newbie
  • *
  • Messages: 48
    • Voir le profil
[RESOLU] Détection d'un bug sur l'event resize
« le: Mai 29, 2016, 06:19:58 pm »
Bonjour je viens de détecter un potentiel bug sur l'event resize.
En fait le soucis survient lors du clique sur le bouton "agrandir" de la fenêtre (dans mon cas un sf::RenderWindow) cela devrait logiquement retourner un événement resize sauf que pas du tout.


Pour confirmer mes dires je vous laisse faire la chose suivante insérez ceci :
switch(event.type){
        case sf::Event::Resized :
            std::cout << "Agrandir" << std::endl;
        break;
}

Puis cliquez sur le bouton agrandir.

Merci d'avance pour toute aide.
Bilt
« Modifié: Mai 29, 2016, 09:29:20 pm par Bilt »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Détection d'un bug sur l'event resize
« Réponse #1 le: Mai 29, 2016, 07:49:28 pm »
Chez moi ça fonctionne.

Peux-tu fournir un exemple complet et minimal qui reproduit le problème ?
Laurent Gomila - SFML developer

Bilt

  • Newbie
  • *
  • Messages: 48
    • Voir le profil
Re : Détection d'un bug sur l'event resize
« Réponse #2 le: Mai 29, 2016, 09:24:00 pm »




On pourrait imaginer l'interprétation suivante :
//Le fond de couleur beige
m_background[0].position = sf::Vector2f(0, 0);
m_background[1].position = sf::Vector2f(m_window.getSize().x, 0);
m_background[2].position = sf::Vector2f(m_window.getSize().x, m_window.getSize().y);
m_background[3].position = sf::Vector2f(0, m_window.getSize().y);

m_background[0].color = sf::Color(197, 194, 177);
m_background[1].color = sf::Color(197, 194, 177);
m_background[2].color = sf::Color(180, 177, 160);
m_background[3].color = sf::Color(180, 177, 160);

//...

//Quand resize
switch(event.type){
        case sf::Event::Resized :
            sf::FloatRect visibleArea(0, 0, event.size.width, event.size.height);
            m_window.setView(sf::View(visibleArea));

            m_background[0].position = sf::Vector2f(0, 0);
            m_background[1].position = sf::Vector2f(event.size.width, 0);
            m_background[2].position = sf::Vector2f(event.size.width, event.size.height);
            m_background[3].position = sf::Vector2f(0, event.size.height);
        break;
}

(Je ne peux pas faire mieux mon code est vraiment trop fragmenté)

PS : le bbcode semble plus fonctionner.

Bilt

  • Newbie
  • *
  • Messages: 48
    • Voir le profil
Re : Détection d'un bug sur l'event resize
« Réponse #3 le: Mai 29, 2016, 09:29:04 pm »
Okay j'ai résolu le bins :p

L'handler était pas placé au bon endroit