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 :

Souris bloquée SDL/OpenGL


Sujet :

SDL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 195
    Points : 115
    Points
    115
    Par défaut Souris bloquée SDL/OpenGL
    Bonjour a tous,
    J'utilise dans une application SDL avec OpenGL.
    J'ai un probleme lorsque je tente de rendre la souris invisible et l'empecher de sortir de l'ecran avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SDL_WM_GrabInput(SDL_GRAB_ON);
    SDL_ShowCursor(SDL_DISABLE);
    l'application marche bien mais lorsque je la quitte ma souris reste completement incative sous mon systeme d'exploitation (linux/ubuntu)

    le pire: j'utilise d'autre apllication avec ces deux lignes de codes et ma souris redevient fonctionnelle apres. Sauf que je ne vois pas d'ou cela peut provenir.
    je pense bine a faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SDL_WM_GrabInput(SDL_GRAB_OFF);
    SDL_ShowCursor(SDL_ENABLE);
    a la fin de mon programme.
    une idée?

  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    il y a un event dans la SDL qui indique lorsque la souris quitte la fenêtre
    lorsque cet event est déclenché, ne dois-tu pas rendre la souris visible ?
    et la rendre de nouveau invisible lorsque la souris revient dans la fenêtre de ton application ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 195
    Points : 115
    Points
    115
    Par défaut
    merci de votre reponse
    ->je ne vois pas pourquoi je ferais sa alors que je rend la souris incapable de quitter la fenetre ???

    merci

  4. #4
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    j'avais mal lu désolé
    est-ce que tu rends la souris à nouveau visible lorsque l'application se termine ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 195
    Points : 115
    Points
    115
    Par défaut
    et bien je pense que oui et de toute facon elle l'est.
    comme je l'ai dit a la fin de l'application l'objet (qui manipule la souris) se termine et appel donc son destructeur ou les deux lignes qui rende la souris visible et qui l'autorise a quitter la fenetres sont executée.
    je vois bien la souris mais elle est incontrolable...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 195
    Points : 115
    Points
    115
    Par défaut
    arfffffffffffffffffff. qu'est-ce que je m'en veut quand je vous fais perdre votre temps....
    vraiment desolé mais comme je quittais le programme grace a un exit(0) les elements crées via des pointeurs ne voyaient pas leur constructeurs appelés. donc le "reset" de la souris ne s'opérait pas. Merci de m'avoir aidé.

  7. #7
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    si l'aide apportée te conduit à la résolution du problème alors ce temps n'est pas perdu
    si après cela tu te dis que le fait d'utiliser un pointeur peut causer des problèmes, peut-etre faut-il penser à une solution pour palier à ce problème

    si tu travailles en c++, tu peux utiliser des pointeurs intelligents
    en c tu as at_exit je crois qui peut te permettre de "forcer" un appel de fonction (de libération de resources par exemple) lorsque le programme se termine (même par un exit)

    dans tous les cas, heureux de pouvoir être utile
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 195
    Points : 115
    Points
    115
    Par défaut
    oui oui j'ai bien etudier les solution en effet atexit(void*) permet de mettre la fonction en parametre dans la pile de fonction que exit appelera quand le programme se terminera . comme j'utilisais des objets je pouvais pas m'en remettre a cette fonction (pour differents problemes...)

    les pointeurs intelligents je vais me renseigné dessus j'en ai juste entendu parler.
    Voila merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/04/2015, 02h02
  2. [SDL - OPENGL] position souris
    Par popo_joe dans le forum OpenGL
    Réponses: 10
    Dernier message: 28/10/2008, 18h44
  3. Rapidité de SDL + openGL
    Par Clad3 dans le forum OpenGL
    Réponses: 23
    Dernier message: 27/02/2005, 08h27
  4. SDL+opengl+drivers nvidia 56.72 et plus
    Par ttf dans le forum OpenGL
    Réponses: 2
    Dernier message: 22/05/2004, 14h28
  5. [Debutant] Sdl & OpenGl link ne marche pas
    Par Riko dans le forum OpenGL
    Réponses: 9
    Dernier message: 18/02/2004, 16h13

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