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

GTK+ avec C & C++ Discussion :

Cairo et aimentation


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut Cairo et aimentation
    Bonjour,

    J'aimerais savoir comment gérer l'aimantation avec Cairo, est-ce facilement faisable ?
    J'ai regardé la doc et la FAQ, mais je n'ai rien trouvé là dessus. Je regarde aussi le code source du logiciel de dessin ipe, mais il est codé en lua et C++

    Donc, ben si quelqu'un sait comment mettre ça au point facilement, ça serait cool
    Merci

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Pardon pour mon ignorance mais c'est quoi "l'aimentation" comme comportement exactement?

  3. #3
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Par exemple, t'as dessiné une courbe, un segment, n'importe quoi, et quand tu passes le curseur de ta souris dessus, le curseur "suit" le tracé de la courbe.

    Ça existe dans un peu tout les logiciels de CAO/DAO, comme Solidworks, Autocad mais aussi Proteus, Orcad, KiCad etc...

    D'ailleurs, je dis une courbe ou un segment, mais en général, c'est aussi la grille du dessin

  4. #4
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    En fait, le curseur est aimanté, il suit les éléments du dessin, quand tu veut tracer un trait horizontal, ou à 45°, le curseur suit la direction (à moins que tu ne t'en éloigne trop, bien sûr..)

  5. #5
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Ok, je vois de quoi tu parles.
    Je me suis déjà penché sur la question il y a quelques temps déjà sans trouver de solution élégante. J'en avais conclu que c'était de la programmation C indépendante de Gtk.

    Aujourd'hui peut être que la solution sera différente grâce à Cairo. Mais je m'avance peut être...

  6. #6
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Il y a bien le logiciel de dessin ipe qui est basé sur cairo, j'étudie le code source pour voir comment ils font, mais pas trouvé grand chose

  7. #7
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Une question. Tu désires que la souris soit accrochée à la courbe (ou à la grille)?

  8. #8
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    À la courbe, ça serait pas mal, pourquoi ?

  9. #9
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    C'est justement sur ce point que j'ai accroché. Je n'ai pas trouvé la manière d'imposer une position au curseur de la souris. Je me demande s'il ne faut pas descendre dans la couche Xlib pour réussir cette opération. Et si c'est le cas la portabilité va en prendre un coup.

  10. #10
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    C'est justement sur ce point que j'ai accroché. Je n'ai pas trouvé la manière d'imposer une position au curseur de la souris. Je me demande s'il ne faut pas descendre dans la couche Xlib pour réussir cette opération. Et si c'est le cas la portabilité va en prendre un coup.
    Oui, j'ai parlé de Cairo, mais je me demandais aussi comment ça pouvait être faisable au niveau de Cairo, étant donné que c'est absolument pas son rôle.

    Ça s'annonce compliqué

  11. #11
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Ça doit sûremment se faire avec XWarpPointer, mais après comment récupérer l'affichage et les window, faudrait voir au niveau de Gdk.

  12. #12
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Gdk te donne quelques fonctions en interaction avec la Xlib.

  13. #13
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    C'est justement sur ce point que j'ai accroché. Je n'ai pas trouvé la manière d'imposer une position au curseur de la souris. Je me demande s'il ne faut pas descendre dans la couche Xlib pour réussir cette opération. Et si c'est le cas la portabilité va en prendre un coup.
    Le problème est sans doute déjà là: imposer une position au curseur de la souris est quelque chose à absolument ne pas faire en termes d'interface utilisateur. Une des solution possibles c'est de créer un genre de curseur virtuel (une croix en forme de +) qui suivrait la courbe quand on est dans le mode (aimanté).

    Regarde comment gnuplot gère ça.

  14. #14
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par liberforce Voir le message
    Le problème est sans doute déjà là: imposer une position au curseur de la souris est quelque chose à absolument ne pas faire en termes d'interface utilisateur.

    Regarde comment gnuplot gère ça.
    Tout à fait d'accord. Histoire quand même d'enfoncer un peu le clou Gdk te donne une fonction pour fixer la position du curseur : void gdk_display_warp_pointer();.

  15. #15
    Membre éclairé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 331
    Par défaut
    J'ai regardé comment fait xfig: le curseur n'est pas affecté par l'aimentation, mais l'élastique qui visualise l'objet à tracer ou à déplacer l'est.

    Pour ce qui est de suivre une courbe, dans GraceGTK j'utilise simplement une spin box qui fait varier l'indice du point considéré et je déplace un rectangle le long de la courbe: le résultat est très correct. J'ai aussi des commandes pour déplacer, ajouter ou supprimer un point dans la courbe, sans aimentation mais avec des contraintes sur x ou y.

    J'en profite pour rappeler que GraceGTK (open source) est disponible sur
    ftp://plasma-gate.weizmann.ac.il/pub/grace/src/devel/
    et que je suis à la recherche de bonnes volontés pour tester ce logiciel.

Discussions similaires

  1. les pointeurs sur pointeurs ne m'aiment pas :/
    Par GhostNemo dans le forum C
    Réponses: 3
    Dernier message: 17/12/2006, 23h10
  2. [UBUNTU] Comment exécuter Cairo au démarrage
    Par kamouminator dans le forum Ubuntu
    Réponses: 4
    Dernier message: 09/12/2006, 18h30
  3. Delphi 2005 et Visual Studio 2005 ne s'aiment pas
    Par Brogomil dans le forum EDI
    Réponses: 5
    Dernier message: 02/01/2006, 09h56
  4. [Debutant]Les surcharges ne m'aiment pas ( << et >&
    Par Geolem dans le forum Débuter
    Réponses: 2
    Dernier message: 06/12/2005, 20h34
  5. Les delete n'aiment pas les alias?
    Par LineLe dans le forum Langage SQL
    Réponses: 7
    Dernier message: 08/04/2005, 09h59

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