Bonjour à tous,
J'ai créé une petite application avec SDL et je l'ai intégré dans une GUI wxwidgets. (tutoriaux intéressants à ce sujet: http://code.technoplaza.net/wx-sdl/)
Cependant il reste un dernier point qui me tracasse. J'aimerais gérer les évènements du panel contenant ma surface SDL à l'aide de la boucle des évènements de SDL et non pas avec celle de wxwidgets.
De façon à ce que par exemple, cette portion de code fonctionne au sein de la GUI:
Apparemment, ce doit être faisable: cf citation extraite du tutorial ci-dessus où il est sous-entendu que l'on peut mixer la gestion des évènements
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_KEYDOWN: if(event.key.keysym.sym == SDLK_SPACE) SDL_FillRect(map, NULL, SDL_MapRGB(map->format, 0, 0, 255)); break; } }
Mais j'ai beau eu fouiller le web, je n'ai pas trouvé de plus amples informations sur le sujet.Finally, we call our parent wxApp::OnRun() method which starts the wxWidgets main event loop processing. This will allow wxWidgets to handle events normally as if we were not using SDL at all. This behavior will not work if you need to catch SDL and wxWidgets events. But since we don't need to do that in this program, the default behavior will suffice.
Donc ça m'arrangerait si quelqu'un en savait un peu plus la dessus.
Je suis conscient du fait que ce ne soit pas très utilisé comme méthode, et je jette en quelque sorte une bouteille à la mer mais bon sait-on jamais.
(De toute façon il me reste toujours la possibilité de reprogrammer la gestion des évènements du panel à l'aide du handler de wxwidget, mais c'est juste que j'aimerais conserver la façon de faire de SDL qui est bien plus simple à mon gout)
Voilà voilà![]()
Partager