Forum Programmation.c librairie graphique 2d C sous linux

Posté par  .
Étiquettes : aucune
0
29
oct.
2005
alors voila je cherche une librairie graphique simple qui marche sous mandriva 2005
je voudrait juste qu'il y est des fonctions du style "tracer un segment", ouvrir un fenêtre graphique, un truc qui prend les coordonnées du clique de la souris, et deux trois petits trucs mais absolument pas de 3d et de trucs compliqué....
expliquez moi aussi comment on installe une librairie
merci d'avance
jo
  • # SDL ?

    Posté par  . Évalué à 4.

    SDL ferait probablement ce que tu cherches. Certes, elle en fait aussi beaucoup plus (3D, audio, tout ça), mais bon, c'est pas si grave. Elle a quand même plein d'avantages :
    - multi-plateforme (au moins Linux / Windows / OsX)
    - pas mal de bindings (perl, python, etc.) si tu fais pas du C
    - la plus utilisée pour les jeux, donc déjà installées chez la plupart des gens (et dispo de toute façon dans toutes les distros courantes)
    - bien documentée, y'a des tutoriaux un peu partout sur le web
    - très stable (autant au sens "pas planter" que au sens "pas bousiller l'API à chaque nouvelle version")
    - existence de pas mal de bibliothèques complémentaires pour pas réinventer la roue dans les autres tâches courantes de la programmation de jeux (genre SDL-gui pour les menus, SDL-net pour le réseau, etc.)

    Bref : http://www.libsdl.org

    Après, l'install sous Mandrake, j'en sais trop rien, mais a priori ça doit pas être compliqué... Sûrement un truc du genre "urpmi libSDL libSDL-devel" (le machin-devel étant le paquet des headers).
    • [^] # Re: SDL ?

      Posté par  . Évalué à 1.

      donc si tu dits déja installée et multi plateforme (dont linux)
      ça veut dire que moi avec mandriva linux 2005 EL
      j'ai plus qu'a inclure la librairie ds mon prog et à écrire la bonne fonction
      ya rien à installer c'est bien ça?
      • [^] # Re: SDL ?

        Posté par  (site web personnel) . Évalué à 2.

        ben tu auras peut etre a l'installer... mais riend e plus qu'un "urpmi libSDL"
      • [^] # Re: SDL ?

        Posté par  . Évalué à 1.

        je n'arrive pas à trouver la liste des fonctions de bases du genre allumer un pixel ouvrir une fenêtre graphique etc...
        qq pourrait m'indiquer un lien vers une page ou me décrires les fonctions de bases?
        • [^] # Re: SDL ?

          Posté par  . Évalué à 2.

          Je ne suis pas sûr que SDL soit adapté à tes besoins. Dans ton premier message, tu parles d'ouvrir une fenêtre graphique, mais SDL ne gère normalement qu'une seule fenêtre. Dès que tu initialises la libairie, la fenêtre s'ouvre automatiquement.

          Le mieux serait que tu nous dises ce que tu veux faire plus précisément.

          Est-ce que tu veux développer une application classique avec un menu et plusieurs fenêtres ? Dans ce cas il faudra regarder du côté des librairies de type interface graphique comme GTK+. Si tu sais programmer en C++, tu peux aussi envisager QT ou WxWidgets.

          Si tu veux développer une application avec une fenêtre unique sans menu, il faudra alors plutôt s'orienter vers une librairie de type jeu vidéo (donc en plein écran le plus souvent). Dans ce cas, tu peux utiliser SDL ou Allegro par exemple.

          Ces deux types de librairies permettent de toute façon de tracer des segments à la souris et de récupérer les coordonnées de la souris. Après, pour savoir comment procéder, le mieux est d'aller voir directement sur le site de ces librairies où tu trouveras toute la documentation nécessaire.
          • [^] # Re: SDL ?

            Posté par  . Évalué à 2.

            Ouais, en fait, je crois que tu as parfaitement raison.

            Quand j'entends "pixel" où ce genre de trucs, je pense tout de suite programmation graphique du style SDL, mais c'est vrai qu'il y a aussi dans les toolkits de GUI des widgets qui peuvent être bien suffisants, et plus simples à mettre en oeuvre. Cf. par exemple, dans le tutoriel GTK+, l'exemple avec un DrawingArea :
            http://gtk.org/tutorial/c2443.html
            • [^] # Re: SDL ?

              Posté par  . Évalué à 0.

              exemple de ce que je pourrait faire, ce serait soit un jeu de dame: ou j'aurais une fenêtre graphique avec des rectangle des ronds et du texte, et une fonction qui me dit quand je clique sur un rond, suivant les coordonnées que ça me retourne, le programme sais le pion qui est concerné et agit en fonction....
              ou bien une calculette:
              pareil une seule fenêtre graphique, avec des boutons (de simples carrés) et quand je cliques le programme fait ce qu'il à à faire puis ça écrit ds un coin dfe la fenêtre le résultat...
              je sais pas si je suis clair, si non demander plus de précision
              jo
              • [^] # Re: SDL ?

                Posté par  . Évalué à 2.

                Pour ce type d'applications, je te conseille d'utiliser une librairie pour interfaces graphiques. Comme tu voulais une librairie C, le meilleur choix est probablement GTK+. Tu peux utiliser Glade/libglade pour te faciliter la tâche et construire l'interface de façon visuelle.
                • [^] # Re: SDL ?

                  Posté par  . Évalué à 0.

                  je suis en train de regarder le tuto de gtk+ y montre le programme suivant:

                  #include <stdlib.h>
                  #include <gtk/gtk.h>

                  int main(int argc, char **argv)
                  {
                  /* Initialisation de GTK+ */
                  gtk_init(&argc, &argv);

                  return EXIT_SUCCESS;
                  }

                  je ne sais pas à koi correspondent les variables argc et argv et quelle valeur doivent t'elles prendrent....
                  ensuite pourkoi les déclarée comme ça, moi j'ai tjrs vu la fonction main comme

                  int main(void)
                  {
                  int ....;
                  }

                  voila si vous pouviez m'aider
                  (indiquez moi par la même occase comment on insère du code ds ce forum...)
                  • [^] # Re: SDL ?

                    Posté par  . Évalué à 4.

                    Si tu ne sais pas à quoi correspondent les variables argc et argv, il faut que tu apprennes le C, c'est une des premières choses qu'on apprend dans ce langage.

                    Pour le reste, tu n'es visiblement disposé à faire aucun effort pour apprendre par toi même, donc je vais arrêter de perdre mon temps à te donner des conseils.
                    • [^] # Re: SDL ?

                      Posté par  . Évalué à 0.

                      je répond longtemps après ...
                      je voulais juste dire, que j'ai des cours de programmation, depuis deux mois, et que je n'ai jamais vu ce type de fonctions main (c'était tjrs int main(void){}), mais je ne suis pas là pour me justifié...
                      je veu juste savoir où posté sur linuxfr pour proposer la librairie graphique simplissime que j'ai finallement réussi à installé, et voudrai donc en faire profiter les autres, pour dévelloper des programmes graphiques très simples....
                      merci d'avance

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.