begin process at 2012 05 30 08:38:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

[SDL/WxWidgets] Events


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[SDL/WxWidgets] Events

lundi 28 mars 2005 à 14:47:22 | [SDL/WxWidgets] Events

djardjar


Bonjour !

Comment on gere les évenements de la SDL dans une fenêtre WxWidgets ?
En fait, je voudrais placer ceci dans une fenêtre WxWidgets afin de pouvoir gerer le clavier
avec la SDL:

while(SDL_PollEvent(&event_)) {
    // Type d'évènement
    switch(event_.type)
    {
      case SDL_KEYDOWN:
         wxMessageBox("Salut!"....);
         break;

      // Si on relache une touche
      case SDL_KEYUP:
        break;

      default: break;
    }
}

Merci à celui qui me repondra !
lundi 28 mars 2005 à 15:08:45 | Re : [SDL/WxWidgets] Events

Funto66

Heu t'as réussi à mixer SDL et wxWidgets à part ça? Parce que je doute que ce soit possible...dsl...

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
lundi 28 mars 2005 à 15:10:11 | Re : [SDL/WxWidgets] Events

Funto66

Enfin, quand je dis pas possible, je parle de dessiner avec SDL dans une fenêtre wxWidgets.
Maintenant, si ce que tu veux c'est avoir d'un côté une fenêtre SDL et de l'autre une wxWidgets le tout dans le même prog, c'est peut-être possible, faut voir avec les threads...

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
lundi 28 mars 2005 à 16:09:15 | Re : [SDL/WxWidgets] Events

djardjar

Je sais qu'il n'est pas possible de dessiner dans un WxWidget avec la SDL, mais cependant j'ai réussi avec opengl. Maintenant ce que je me demande, c'est comment on fait pour intercepter les évenements du clavier dans une fenetre WxWidget avec la SDL... J'utilise juste la SDL pour les outils qu'elle propose en dehors de l'affichage ! Voici mon code plus complet (j'avance entre temps):

#include <cassert>
#include <cmath>

#include <wx/wx.h>
#include <wx/glcanvas.h>
#include <wx/notebook.h>
#include <SDL/sdl.h>

class GL_Window : public wxGLCanvas
{
public:
    GL_Window(float c, wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style=0,
              const wxString& name="GLCanvas", int* attribList = 0, const wxPalette& palette = wxNullPalette)
        : wxGLCanvas(parent, id, pos, size, style, name, attribList, palette), c_(c), rotate_(c) {}
    virtual ~GL_Window() {}

    void draw() {
        rotate_ += 0.01;

        SetCurrent();
        glClearColor(0.0, 0.0, 0.0, 0.0);
        glClear(GL_COLOR_BUFFER_BIT);
        glViewport(0, 0, (GLint)200, (GLint)200);
        glColor3f(1.0, c_, c_);
       
        glBegin(GL_POLYGON);
        glVertex3f(-0.5, -0.5, 5*cos(rotate_));
        glVertex3f(-0.5, 0.5, 5*cos(rotate_));
        glVertex3f(0.5, 0.5, -5*cos(rotate_));
        glVertex3f(0.5, -0.5, -5*cos(rotate_));
        glEnd();

        SwapBuffers();
    }

    void OnIdle(wxIdleEvent& event)    {
         SDL_Event SDLEvent;
        /* Check for events */
        if (SDL_PollEvent (&SDLEvent))
        {
            switch (SDLEvent.type)
            {
            case SDL_KEYDOWN:
                wxMessageBox("Hello", "Hello", wxOK);
                break;
            default:
                break;
            }
        }
                 
        draw();
        event.RequestMore();
    }
private:
    float c_;
    float rotate_;
   
    DECLARE_EVENT_TABLE();
};

class MyApp: public wxApp
{
    virtual bool OnInit();
};

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    wxFrame* frame = new wxFrame((wxFrame *)NULL, -1,  "Hello GL World", wxPoint(50,50), wxSize(640,480) );
    GL_Window* MyGLCanvas = new GL_Window(1, frame, -1, wxPoint(-1,-1), wxSize(640,480), wxNO_BORDER, "some text");

    frame->ShowFullScreen(TRUE,  wxFULLSCREEN_ALL);
    frame->Show(TRUE);
    return TRUE;
}

BEGIN_EVENT_TABLE(GL_Window, wxGLCanvas)
    EVT_IDLE(GL_Window::OnIdle)
END_EVENT_TABLE()
mardi 29 mars 2005 à 00:04:35 | Re : [SDL/WxWidgets] Events

Funto66

Waaa ouhla nan franchement laisse tomber; la SDL sert à récupérer les évènements pour sa fenêtre, pas pr celle de wxWidgets.
Si tu veux utiliser wx et OpenGL, à ce moment-là je ne pense pas qu'il y ait grand chose (à part un vrai fullscreen) qui soit faisable avec SDL et pas avec wxWidgets.
Renseigne-toi sur les évènements de wxWidgets plutôt ;)

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
mardi 29 mars 2005 à 17:47:34 | Re : [SDL/WxWidgets] Events

djardjar

Même pour le joystick ? Haaarg j'y avais pas pensé à celui la ! Comment je vais faire !


mardi 29 mars 2005 à 21:28:39 | Re : [SDL/WxWidgets] Events

Funto66

Comme tu peux le voir là : http://www.lpthe.jussieu.fr/~zeitlin/wxWindows/docs/wxwin_classref.html#classref
wxJoystick et wxJoystickEvent sont 2 classes de wxWidgets ;)

(hé oui, l'est puissant ce p'tit wxWidgets...;))

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/


Cette discussion est classée dans : break, fenêtre, wxwidgets, sdl, events


Répondre à ce message

Sujets en rapport avec ce message

OpenGL dans une fenetre Win32 ou SDL [ par Dante41 ] Alors , je voulais afficher un cube dans ma fenetre donc voila mon code : #include #include #include #include #include #include WNDCLASS GESTION CLAVIER SDL [ par Batman60 ] voici un bout de code qui  sert à me déplacer dans une scène 3D opengl ,le problème c'est qu'il faut à chaque fois appuyer sur la touche pour ce dépla Events et wxWidgets [ par Dany82 ] Voila, j utilise wxWidgets 2.6.0 avec Dev-cpp 4.9.9.2J ai une classe MainFrame, subdivisee en plusieurs parties (dont un wxNoteBook).Ce wxNoteBook est createprocess [ par JCShaolan ] Bonjour tout le monde, je développe actuellement une application (jeu d'échec) avec une librairie qui s'appelle SDL. Et en fait, lorsqu'une pièce arri changer l'icone d'une fenêtre SDL [ par zonebleue ] Bonjour,je voudrais savoir comment changer l'icône d'une fenêtre SDL ? merci d'avance SDL porbleme [ par fahdovski ] IL Y'A EXECUTION MAIS LE PC PLANTE IL DEVIENT TRES LENT, MAIS POURQUOI??????jE TRAVAILLE SUR CODE::BLOCKS SOUS LINUXAVANT CA MARCHAIS IMPEC QUESQUI C' Directx + SDL [ par seb2086 ] Bonjour,J'aurais voulu savoir si on pouvais utiliser SDL pour creer la fenêtre principale et directx pour afficher un objet dans cette fenêtre ?Car en pour que mes touches soient détectées immédiatement [ par snake57 ] Bonjour,j'ai un petit soucis avec la détection de touche. Je vous met le bout de code concerné plus bas pour que vous ayez une idée.Enfait je détecte probleme jeu du labyrinthe (SDL) [ par abggba ] Slt tout le monde, bon voila j'ai un probleme avec mon programme qui seg fault! et en plus il n'affiche que les murs alors qu'ne fait je voudrais qu'i


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,196 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales