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 :

Utilisation avec wxWidgets


Sujet :

SDL

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2003
    Messages : 54
    Points : 65
    Points
    65
    Par défaut Utilisation avec wxWidgets
    Bonjour à tous,

    Je chercher une solution pour afficher des images rapidement, via la SDL, dans un contrôle wxPanel de la lib wxWidgets.

    J'ai écumer le web en vain :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    //SDL_Window * w = SDL_CreateWindow("Hi", 0, 0, 640, 480, SDL_WINDOW_SHOWN);
      SDL_Window * w = SDL_CreateWindowFrom((void *)GetHandle());
      if(!w)
      {
        cerr << "Unable to create SDL_Window" << endl;
      }
     
      SDL_Renderer * r = SDL_CreateRenderer(w, -1, SDL_RENDERER_ACCELERATED);
      if(!r)
      {
        cerr << "Unable to create SDL_Renderer" << endl;
      }
     
      SDL_Texture * s = NULL;
      SDL_Surface *bitmapSurface = SDL_LoadBMP("image.bmp");
      s = SDL_CreateTextureFromSurface(r, bitmapSurface);
      if (s == NULL)
      {
      cout << "FAILED TO FIND THE IMAGE" << endl; //we did this to check if IMG_LoadTexture found the image, if it showed this message in the cmd window (the black system-like one) then it means that the image can't be found
      }
      SDL_Rect s_rect; // CREATES THE IMAGE'S SPECS
      s_rect.x = 0;    // just like the window, the x and y values determine it's displacement from the origin which is the top left of your window
      s_rect.y = 0;
      s_rect.w = 640; //width of the texture
      s_rect.h = 480; // height of the texture
     
      SDL_RenderClear(r);
      SDL_RenderCopy(r, s, NULL, &s_rect); // THE NULL IS THE AREA YOU COULD USE TO CROP THE IMAGE
      SDL_RenderPresent(r);
      Refresh(false);
    Le code ci-dessus fonctionne parfaitement lorsque je crée la fenêtre normalement (avec la ligne en commentaire #1).

    Lorsque j'essaye d'obtenir ma fenêtre sdl depuis mon panel (#2), le programme m'affiche un tout petit carré blanc dans le panel, et impossible, d'y coller mon image...

    Je travaille avec VisualStudio 2013, wxWidgets 3.0, et SDL 2

    Est-ce que vous auriez des pistes à explorer pour faire cohabiter ces librairies ???

    Merci :-)

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Le GetHandle() vous retourne l'identifiant de quel élément ? La fenêtre ou juste le panel ?
    Je pense aussi que vous obtenez un truc trop petit, car vous effectuez ces lignes trop tot dans le programme. Enfin, ce n'est qu'une hypothèse, dans le sens, le Panel de wxWidgets n'est pas encore dimensionné/prêt et donc sa taille n'est pas encore valide.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Comment utiliser le port série avec WxWidget
    Par LOMA.fr dans le forum wxWidgets
    Réponses: 1
    Dernier message: 28/10/2007, 16h45
  2. Utilisation de la classe List de STL avec wxWidgets
    Par aoyou dans le forum wxWidgets
    Réponses: 7
    Dernier message: 10/03/2005, 17h41
  3. problème d'utilisation avec turbo pascal 7.0
    Par le 27 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 03/12/2003, 10h44
  4. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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