GTK -> SDL
Fermé
Fereah
Messages postés
1
Date d'inscription
jeudi 5 décembre 2013
Statut
Membre
Dernière intervention
5 décembre 2013
-
5 déc. 2013 à 17:41
nar6du14 Messages postés 459 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 7 décembre 2013 - 7 déc. 2013 à 00:31
nar6du14 Messages postés 459 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 7 décembre 2013 - 7 déc. 2013 à 00:31
A voir également:
- GTK -> SDL
- GTK Selfimage - Télécharger - Divers Utilitaires
- SDL ou SDL2 !?! - Forum C
- [SDL] Où télécharger SDL-devel-1.2.13-mingw32 - Forum Téléchargement
- La SDL et les BMP ✓ - Forum C
- Menu SDL pour mon jeu ✓ - Forum C
2 réponses
nar6du14
Messages postés
459
Date d'inscription
dimanche 27 décembre 2009
Statut
Membre
Dernière intervention
7 décembre 2013
64
6 déc. 2013 à 01:45
6 déc. 2013 à 01:45
t'as qu'à crée une fenetre, comprenant un menu, une barre d'outil et un zone principale(GtkDrawingarea) dont tu passeras l'ID à ta grosse fonction SDL pour le traitement que tu souhaites. Mais, comme c'est du code c de toute façon, oui ça marchera, il te suffit juste d'avoir les libs et les includes necessaires
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
6 déc. 2013 à 15:58
6 déc. 2013 à 15:58
Bonjour,
Tout dépend de ce que tu entends par menu, mais SDL peut bel et bien en créer.
Tu as bon nombres de tutos sur google (donc un sur openclassrooms).
Cdlt,
Tout dépend de ce que tu entends par menu, mais SDL peut bel et bien en créer.
Tu as bon nombres de tutos sur google (donc un sur openclassrooms).
Cdlt,
6 déc. 2013 à 08:22
Je n'ai pas très bien compris ta réponses. En gros moi ce que je eut, c'est une barre de menu en haut de mon programme comme Microsoft pour pouvoir enregistrer , ouvrir un fichier, l'imprimer, etc... Bref pouvoir faire tous les truc qui nécessite d'aller dans les paramètre non pas de mon programme mais du bureau de l'utilisateur
Modifié par nar6du14 le 7/12/2013 à 00:31
#include <gtk/gtk.h>
#include <sdl/sdl.h>
#include <gdk/gdkh
int main(int argc, char* argv[])
{
gtk_init(&argc, &argv);
void get_id(GtkWidget*wid, gpointer user_data);
GtkWidget* win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
GtkWidget* box = gtk_box_new(Gtk_ORIENTATION_VERTICAL, 10);
GtkWidget* draw_area = gtk_drawing_area_new(); /*à passe a SDL*/
GtkWidget*menubar= gtk_menu_bar_new();
gtk_menu_bar_set_pack_direction(GTK_MENU_BAR(menubar), GTK_PACK_DIRECTION_LTR);
gtk_box_pack_start(GTK_BOX(box), menubar, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(box), draw_area, TRUE, TRUE, 0);
gtk_container_add(GTK_CONTAINER(win), box);
/*il faut connecter un handler pour le signal "realize" afin de passe l'identifiant de la zone de dessin à la SDL*/
g_signal_connect(G_OBJECT(draw_area), "realize", G_CALLBACK(get_id), NULL);
gtk_widget_show_all(win);
gtk_main();
return 0;
}
void sdl_job(guint32 window_id)
{
/*tu dois definir ici un thread et dans ce thread tu implémenteras ce que la SDL doit dessiner sur l'aire de dessin défini par "draw_area": l'aire de dessin ici sera désignée par "window_id" qui représente l'identifiant de la fenetre de dessin sur le systme d'exploitation. chaque fenetre crée sur le système d'exploitation a un identifiant unique la fonction get_id permet de reccupérer l'identifiant de draw_area, cet identifiant sera par la suite utilisé par la SDL et cette*/
}
void get_id(GtkWidget* wid, gpointer data)
{
sdl_job( GDK_WINDOW_ID(gtk_widget_get_window(wid)) );
}