Bonsoir,
Alors voila sous Windows (et uniquement sous Windows), lorsque je lie un sf.RenderWindow avec une fenêtre Gtk3 (je suppose que ma version de Gtk3 est correct, pas envie de tout recompiler ! ), sf.RenderWindow n'arrive pas à recevoir l'événement "Resized".
Ce qui est dérangeant c'est que les render.setSize() ne sont pas pris en compte si la fenêtre n'arrive pas à capturer cette événement..... Je voudrai donc la forcé à se resizer, et ma question est comment faire ?
Merci d'avance
édit : je me demande si on peut appeler la fonction "onResize" de tel sorte à ce que la fenêtre SFML se remettre à jour (j'ai essayé de faire des "create" mais c'est juste trop lent et inbuvable ! ).
édit 2 : J'ai encore mieux (essayé avec deux scripts python : un pour gérer la fenêtre Gtk, et l'autre pour gérer la SFML).
J'ai créé une fenêtre Gtk (bien que se soit du python, le code est suffisament simple pour être compréhensible):
>>> from gi.repository import Gtk, GdkWin32
>>> window=Gtk.Window()
>>> window.get_window()
>>> window.show_all()
>>> GdkWin32.Win32Window.get_handle(window.get_window())
5112470
>>> GdkWin32.Win32Window.get_impl_hwnd(window.get_window())
5112470
>>> Gtk.main()
Je créé donc une sf.RenderWindow avec lequel je donne ce nombre (5112470). Lorsque je fais un setSize, la fenêtre Gtk est resizé, mais la zone de dessin reste à sa valeur initiale. Je m'explique : initialement, la fenêtre fait (200, 200). Si je fais un render.SetSize(sf::Vector2(300, 300)) (où render est un sf.RenderWindow), la zone de dessin reste à (200, 200) mais la fenêtre Gtk fait (300, 300)
. Cela peut-il venir du code python ou celui de la SFML ? (j'ai relu l'implémentation python, il fait simplement le lien entre l'interpréteur et la SFML codé en C++).
Je tiens à dire que se problème ne se trouve que sous Window (ici Window XP dans une virtual box). Merci d'avance
.