CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

(OpenGl) probleme de focus sur une fenet

Lapintade
Lapintade
Niveau 30
16 mai 2004 à 17:17:29

Voila je voulais savoir si il y avait moyen de forcer le focus sur une fenetre en GLUT.

J´utilise GLUT et la lib FLTK.

Mon probleme : Je crée une fenetre, je defini les callback pour le clavier et ils ne fonctionnent pas ( car la fenetre n´est pas en focus, c´est ce que je pense). Il faut que je clique sur une autre fenetre et que je revienne sur ma fenetre pour que les touches clavier soient enfin detectées.

Ma definition de fenetre ressemble a ca :

void gmed_edit_room ( Fl_Widget *, long)
{
Fl_Widget* obj;
int i;
char gfxtiles[256];

gmed_initall();

glutwindow_w = ( GMED_MAIN_WIDTH+1+GMED_TILE_WIDTH)*BS;
glutwindow_h = ( GMED_MAIN_HEIGH)*BS;

/ / -- Create FLTK window:
Fl_Window window(glutwindow_w+20, glutwindow_h+150);

gmed_create_buttons();

window.show(NULL,NULL); / / glut will die unless parent window visible

window.begin(); / / this will cause Glut window to be a child
glutInitWindowSize(glutwindow_w, glutwindow_h);
glutInitWindowPosition(10,90); / / place it inside parent window
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH / *| GLUT_MULTISAMPLE*/ ) ;
glutCreateWindow("Game Map Edit");
window.end();

glGetIntegerv(GL_VIEWPORT, viewport);

/ / -- Define Callbacks functions
glutMouseFunc(gmed_mouse);

glutDisplayFunc(gmed_redraw);
glutMotionFunc(gmed_processMousePassiveMotion); / / Callback when mouse moves and a button is pressed

glutPassiveMotionFunc(gmed_processMousePassiveMoti
on); / / Callback when mouse move and no buttons are pressed
glutKeyboardFunc(gmed_keyboard);
glutSpecialFunc(gmed_special_keyboard);

/ / Load graphic cell set
/ / -- Load level
gmed_load();
sprintf(gfxtiles, " gcs%02d.h", gmed_graphicset);
gmed_init_tile(gfxtiles);

glutMainLoop();
}

JeanYvesYves
JeanYvesYves
Niveau 10
16 mai 2004 à 17:58:18

Ah je ne sais pas... surement un probleme de focus en effet, mais apres, je ne sais pas gérer les focus avec glut. Faut surement récupérer l´Handle de la fenetre... Je ne sais pas.

Voici une bonne doc pour glut ( et gl et glu):

http://pyopengl.sourcefororge.net/documentation/manual/

dis moi si tu trouves la solution :)

Lapintade
Lapintade
Niveau 30
16 mai 2004 à 19:54:56

Merci JYY pour cette doc. J´ai encore relu tout ca mais ca parle jamais de focus ( dans mon cas, je crée une fenetre a partir d´une autre).

N´ayant pas trouvé de solution propres, j´en ai quand meme trouvé une qui fonctionne : Je fais un hide et show sur la fenetre, ca reforce le focus et la callback clavier fonctionne :) :) :)

Pas propre mais ca marche... ahlala l´informatique :)

LGV
LGV
Niveau 28
17 mai 2004 à 03:04:25

hmmmm... t´as essayé de forcer le focus sur ta fenetre, avec le hWnd de ton appli ? ( enfin, hWnd, pour du win32, sinon, je ne connais pas les autres API des gestionnaires de fenetres...)

Lapintade
Lapintade
Niveau 30
17 mai 2004 à 10:32:14

Non j´ai pas essayé car je sais pas le faire . .. Je ne sais pas si avec FLTK j´ai accés a hWnd ( et j´ai pas trop envie de toucher a ces trucs windows crasseux :) )

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment