IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Gestion évènements SDL dans panel wxwidgets


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Points : 28
    Points
    28
    Par défaut Gestion évènements SDL dans panel wxwidgets
    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:

    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;
                }
            }
    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
    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.
    Mais j'ai beau eu fouiller le web, je n'ai pas trouvé de plus amples informations sur le sujet.

    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à

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    La seule solution que je vois est de faire une gestion des evenements Wxwidgets qui a son tour passera les informations a l'aide de SDL_PushEvent.

    Ce qui te permettra de créer des événements qui seront captés par SDL.

    Jc

Discussions similaires

  1. gestion animation dans panel personnel
    Par TERRIBLE dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 12/11/2010, 11h03
  2. [WD15] Gestion des événements clavier dans une fenêtre.
    Par dvdbly dans le forum WinDev
    Réponses: 3
    Dernier message: 20/09/2010, 08h58
  3. Réponses: 2
    Dernier message: 11/08/2009, 17h09
  4. Réponses: 3
    Dernier message: 01/02/2009, 00h05
  5. Réponses: 26
    Dernier message: 30/07/2007, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo