home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 14 / CD_ASCQ_14_0694.iso / news / 2482 / doc.asc
Text File  |  1994-05-18  |  13KB  |  429 lines

  1. I = PRESENTATION & EVOLUTION DU PRODUIT
  2. ========================================
  3.  
  4.         Xgraphic est une librairie graphique permettant de concevoir des
  5. applications graphiques puissantes sous DOS pour le langage C/C++.
  6.  
  7.         Elle est utilisable à partir des versions 2.0 du BORLAND C/C++ en
  8. modèle mémoire large (voir III = Compilation & Edition de lien).
  9.  
  10.         Xgraphic permet à tout développeur d'implanter une belle interface
  11. graphique dans ses programmes. Cette librairie est simple à utiliser et est
  12. livrée avec de nombreux exemples pour observer le fonctionnement des fonctions.
  13.  
  14.         Elle a été écrite en Borland C v.2.0. et n'occupe que 11 Ko.
  15.  
  16.         La prochaine version bénéficiera de nouvelles fonctions telles que
  17. la lecture de fichiers musicaux, l'affichage d'images, des boites de sélec=
  18. tion graphiques, des menus 3d améliorés, gestion d'autres modes vidéos, 
  19. 256 couleurs, gestion des polices et caractères, indicateur de niveau,etc...
  20.  
  21.  
  22.  
  23.  
  24.  
  25. II = DESCRIPTION DES FONCTIONS
  26. ==============================
  27.  
  28. Notation :       Nom de la fonction(Paramètres);
  29. ========
  30.                  Description :
  31.                    = générale de la fonction
  32.                    = des paramètres si il y a lieu
  33.                    
  34.   Les paramètres seront représentés par des nombres
  35.   Exemple d'une fonction avec 2 paramètres : NOMFONCTION(1,2);
  36.                      1 : de type int (entier)
  37.                      2 : de type char *
  38.  
  39.                  Retourne valeur(s) :
  40.                      Dans le càs où la fonction retourne une valeur, le
  41.                      paramètre qui contient cette valeur est indiquée dans
  42.                      cette zone.
  43.  
  44.  
  45.                         
  46.                           FONCTIONS XGRAPHIC v.1.0   
  47.                         
  48.  
  49.      Tous les noms de fonctions sont écrits en minuscules. Aussi, la syntaxe
  50. de ces fonctions doit être respectée.
  51.  
  52.      Si les descriptions des fonctions ne vous apparaissent pas très claires,
  53. référez vous aux exemples "DEMO?.CPP. Vous verrez, vous comprendrez facilement.
  54.  
  55.   *  Rappel des codes des 16 couleurs :
  56.      0 et 16 : noir
  57.      1 : bleu  2 : vert  3 : cyan  4 : rouge  5 : violet  6 : marron  7 : gris clair  8 : gris foncé  
  58.      9 : bleu clair  10 : vert clair  11 : cyan clair  12 : rouge clair  13 : violet clair  14 : jaune  15 : blanc
  59.  
  60.   *  Rappel de la taille de l'écran :
  61.      0 à 639 (de gauche à droite)
  62.              et
  63.      0 à 479 (de bas en haut)
  64.  
  65.  
  66.      affiche_souris();
  67.      ======================
  68.  
  69.      Permet d'afficher le pointeur de la souris à l'écran.
  70.  
  71.      detect_souris() doit être utilisé avant de lancer cette fonction.
  72.  
  73.      Aucune valeur retournée.
  74.  
  75.  
  76.      aff_menu(1,2,3,4,5,6);
  77.      ==============================
  78.  
  79.      Permet d'afficher les menus 3d horizontaux à l'écran.
  80.  
  81.      1 : type int (integer), nombre d'entité du menu
  82.      2 : type char *tableau[], le tableau contient le noms des entités du menu
  83.      3 : type int, coordonnées X où placer la première entité du menu
  84.      4 : type int, coordonnées Y où placer la première entité du menu
  85.      5 : type int, couleur du texte des entités du menu
  86.      6 : type int, couleur du fond des entités du menu
  87.  
  88.    Ex : 
  89.    On veut créer les entités "FICHIERS","EDITION","OPTIONS","DIVERS".
  90.    char *menu[5] (ajouter 1 au nombre d'entité pour la déclaration du tableau.
  91.    menu[1] = "FICHIERS"
  92.    menu[2] = "EDITION"
  93.    menu[3] = "OPTIONS"
  94.    menu[4] = "DIVERS"
  95.  
  96.    On veut afficher le menu à partir de la position 100,80 en jaune sur fond
  97.    bleu
  98.  
  99.    ==> aff_menu(4,menu[],100,80,14,1);
  100.  
  101.      Aucune valeur retournée.
  102.  
  103.  
  104.      aff_option(1,2,3,4,5,6,7,8);
  105.      ============================
  106.  
  107.      Permet d'afficher les options d'une entité d'un menu.
  108.  
  109.      1 : int, numéro de l'entité. (Ex : "FICHIERS" = 1, "DIVERS" = 4) 
  110.      2 : int, mettre le même chiffre du paramètre 3 de aff_menu(...)
  111.      3 : int, mettre le même chiffre du paramètre 4 de aff_menu(...)
  112.      4 : int, nombre d'options pour l'entité traitée
  113.      5 : char *tableau[], tableau contenant les noms des options de l'entité
  114.      6 : int, couleur du fond du cadre qui reçoit les options
  115.      7 : int, couleur du fond du panneau3d qui reçoit les options
  116.      8 : int, couleur du texte des options
  117.  
  118.      Ex : Voir fichiers "DEMO?.CPP"
  119.  
  120.      Aucune valeur retournée.
  121.  
  122.  
  123.      att_sel_opt(1,2,3,4,5);
  124.      =======================
  125.  
  126.      En laissant appuyer sur le bouton gauche de la souris, le cadre et les
  127. options s'affichent. Une option est choisie lorsque on met le pointeur de la
  128. souris sur l'option et qu'on relâche le bouton.
  129.  
  130.      En appelant cette fonction, on retourne dans le 5 ième paramètre, le 
  131. numéro d'option sur laquelle on a clické.
  132.  
  133.      1 : int, numéro de l'entité
  134.      2 : int, nombre d'option de l'entité
  135.      3 : int, mettre le même chiffre que le paramètre 3 de aff_menu(...)
  136.      4 : int, mettre le même chiffre que le paramètre 4 de aff_menu(...)
  137.      5 : int, valeur retournée
  138.  
  139.      Ex :  Prenons les options "Ouvrir, sauver, Fin" de l'entité "FICHIERS"
  140.      int seloptmenu1 /* valeur retournée */;
  141.      att_sel_opt(1,3,100,80,&seloptmenu1);
  142.      if (seloptmenu1 == 1)
  143.      {
  144.         /* on a sélectionné l'option "Ouvrir" de l'entité "FICHIERS" */
  145.      }
  146.  
  147.  
  148.      Valeur retournée : Paramètre 5.
  149.  
  150.  
  151.      bt_gauche(1);
  152.      =============
  153.  
  154.      Renvoie 0 ou 1 suivant que le bouton gauche a été pressé.
  155.  
  156.      1 : int, valeur retournée
  157.  
  158.      Ex : 
  159.      int clicke;
  160.      bt_gauche(&clicke);
  161.      if (clicke == 1)
  162.      {
  163.        /* on a pressé le bouton gauche
  164.      }
  165.      Mettre cette procédure dans une autre boucle pour en avoir l'utilité
  166.  
  167.      Valeur retournée : Paramètre 1.
  168.  
  169.  
  170.      cache_souris();
  171.      ===============
  172.  
  173.      Cache le pointeur de la souris.
  174.  
  175.      affiche_souris() doit être actionné avant d'utiliser cette fonction.
  176.      Sinon cela provoquerait un blocage dans votre application.
  177.  
  178.      Aucune valeur retournée.
  179.  
  180.  
  181.      cadre3d(1,2,3,4,5);
  182.      ===================
  183.  
  184.      Affiche un cadre 3d aux coordonnées 1,2,3,4 avec un fond 5.
  185.  
  186.      1 : int,coordonnée gauche
  187.      2 : int,coordonnée haut
  188.      3 : int,coordonnée droite
  189.      4 : int,coordonnée bas
  190.      5 : int,couleur du fond du cadre 3d
  191.  
  192.      Aucune valeur retournée.
  193.  
  194.  
  195.      click_objet(1,2,3,4,5);
  196.      =======================
  197.  
  198.      Permet de déterminer grâce au paramètre 5 si un objet a été sélectionné
  199.      par la souris.
  200.  
  201.      Un objet peut être un icône, une entité d'un menu, un panneau, un cadre,
  202.      un texte, etc..., ou tout ou partie de l'écran.
  203.      Il est désigné par ses coordonnées 1,2,3,4
  204.  
  205.      1 : int,coordonnée gauche
  206.      2 : int,coordonnée haut
  207.      3 : int,coordonnée droite
  208.      4 : int,coordonnée bas
  209.      5 : int,indiquer le nom de l'objet de type integer
  210.  
  211.      Ex : nous allons créer un petit programme qui permet de vérifier si
  212.           l'utilisateur à clické sur l'écran entier.
  213.      int ecran;
  214.      click_objet(0,0,639,479,&ecran);
  215.      if (ecran == 1)
  216.      {
  217.        texte(100,100,"On a clické sur l'écran",14) /* 14 = couleur jaune */
  218.      }
  219.  
  220.      Valeur retournée : Paramètre 5.
  221.  
  222.      Remarque : Pour la sélection d'une entité d'un menu, utiliser la formule suivante:
  223.      ==============
  224.   click_objet(Paramètre 1 + (100 * (numéro du menu = 1)), paramètre 2, Paramètre 3 + (100 * (numéro du menu = 1)), Paramètre 4, Paramètre 5 
  225.  
  226.                            Voir aussi fichiers exemples "DEMO?.CPP"
  227.  
  228.  
  229.      detect_souris();
  230.      ================
  231.  
  232.      Revient au système d'exploitation et emet un message si le gestionnaire
  233.      de souris n'est pas installé.
  234.  
  235.      Cette fonction doit être appelée en début de programme.
  236.  
  237.      Aucune valeur retournée.
  238.  
  239.  
  240.      efface();
  241.      =========
  242.  
  243.      Efface l'écran graphique courant.
  244.  
  245.      Aucune valeur retournée.
  246.  
  247.  
  248.      fenetre(1);
  249.      ===========
  250.  
  251.      Affiche une fenêtre avec une case de fermeture en haut à gauche et son
  252.      titre 1.
  253.  
  254.      1 : chaine de caractère, titre de la fenêtre.
  255.  
  256.      Ex : fenetre("    Gestion du système");
  257.  
  258.      Pour actionner la case de fermeture, voir fonction scrute_quitte()
  259.  
  260.      Aucune valeur retournée.
  261.  
  262.  
  263.      icone(1,2,3,4,5);
  264.      =====================
  265.  
  266.      affiche un icône aux coordonnées indiquées.
  267.  
  268.      1 : int, coordonnée gauche
  269.      2 : int, coordonnée haut
  270.      3 : int, coordonnée droit
  271.      4 : int, coordonnée bas
  272.      5 : chaine de caractère, texte de l'icône.
  273.  
  274.      Aucune valeur retournée.
  275.  
  276.  
  277.      l_pos_souris(1,2);
  278.      ========================
  279.  
  280.      lit la position x,y de la souris
  281.  
  282.      1 : int, valeur retournée, contient les coordonnées x où se situe le pointeur de la souris
  283.      2 : int, valeur retournée, contient les coordonnées y où se situe le pointeur de la souris
  284.  
  285.      ex : 
  286.               int x, y;
  287.               l_pos_souris(&x,&y);
  288.               printf("vous avez clické à la position : %d",x,"-",y);
  289.  
  290.      Valeur retournée : Paramètres 1 & 2
  291.  
  292.  
  293.      mode_graph();
  294.      ====================
  295.  
  296.      Initialise le mode graphique 640*480*16 couleurs. Le fichier EGAVGA.BGI doit être présent et doit figuré dans le même répertoire que le programme principal.
  297.  
  298.      IMPORTANT :  DOIT ETRE UTILISE AVANT TOUTES AUTRES INSTRUCTIONS
  299.      
  300.      Aucune valeur retournée.
  301.  
  302.  
  303.      panneau3d(1,2,3,4,5);
  304.      ============================
  305.  
  306.      Affiche un panneau en relief 3d ombré avec la couleur  paramètre 5.
  307.  
  308.      1 : int, coordonnée gauche
  309.      2 : int, coordonnée haut
  310.      3 : int, coordonnée droit
  311.      4 : int, coordonnée bas
  312.      5 : int, couleur du panneau
  313.  
  314.      Aucune valeur retournée.
  315.  
  316.  
  317.       panneau3din(1,2,3,4,5);
  318.       ===============================
  319.  
  320.       Mêmes fonctions que "panneau3d()" mais cette fonction affiche un panneau en relief 3d enfoncé.
  321.  
  322.  
  323.       scrute_quitte();
  324.       ====================
  325.  
  326.        Cette fonction permet de savoir si l'on a clické dans la case de fermeture de la fenêtre.
  327.  
  328.        Elle est à inclure dans la boucle principale d'attente de sélection. (Voir exemples dans "DEMO?.CPP")
  329.  
  330.        Elle est à appeler si la fonction "fenêtre(1)" est utilisée. 
  331.  
  332.       Aucune valeur retournée.
  333.  
  334.  
  335.       texte(1,2,3,4);
  336.       =================
  337.  
  338.        Affiche un texte avec la couleur spécifiée.
  339.  
  340.        1 : int, coordonnée gauche
  341.        2 : int, coordonnée haut
  342.        3 : chaine de caractère, texte à afficher
  343.        4 : int, couleur du texte
  344.  
  345.        Aucune valeur retournée.
  346.  
  347.  
  348.        texte3d(1,2,3,4);
  349.        =====================
  350.  
  351.        Affiche un texte 3d avec la couleur spécifiée.
  352.  
  353.        Mêmes fonctions que "texte(1,2,3,4)".
  354.  
  355.  
  356.  
  357.  
  358. III = COMPILATION & EDITION DE LIEN
  359. ==================================
  360. Les compilations ont été faites sur l'éditeur bc (fourni avec borland C & C++), les créations d'exécutables (édition de lien) ont été effectuées sur la ligne de commande du DOS.
  361.  
  362. Le répertoire de travail utilisé pour créer ces demonstrations est C:\borlandc\bin
  363.  
  364. Pour toutes autres informations, veuillez vous référer à la disquette de présentation.
  365. Le fichier Editlien.bat vous montre comment l'exécutable du premier programme de demo a été obtenu.
  366.  
  367.  
  368. 1) Ne pas oublier d'inclure les fichiers en=têtes "*.h" pour le bon fonctionnement de votre programme
  369.  
  370.     Le fichier nécessaire pour utiliser la librairie Xgraphic se nomme "xgraphic.h".
  371.     Il doit figurer dans le répertoire où se trouve votre programme.
  372.     Pour plus de détails, voir les fichiers sources "DEMO?.CPP" de démonstration.
  373.  
  374.  
  375. COMPILATION :
  376.  
  377. Avant toute chose, l'éditeur ou l'environnement borland (bc) doit être lancé à partir du répertoire de travail.
  378.  
  379. ==> C:\>cd borlandc\bin (entrée)
  380. ==> C:\>bc
  381.  
  382. ET NON PAS : C:\>bc
  383.  
  384. options de compilation
  385. Les options de compilation suivantes doivent être respectées pour ne pas avoir de messages d'erreurs.
  386.  
  387. Dans le menu "OPTIONS" choisir l'option "Compiler".
  388.  
  389. Puis, une boite de dialogue apparaît.
  390.  
  391. Dans la partie :
  392.      - Model : Large
  393.      - Options : Treat enums as int, Word alignment, Pre-compiled headers
  394.      - Assume SS equal DS : Default for memory model
  395.  
  396. Puis si l'on clicke sur le bouton "More", une autre boite de dialogue apparaît.
  397.  
  398. Dans la partie :
  399.     - Floating point : Emulation
  400.     - Instruction Set : .8088/8086
  401.     - Options : Generate underbars, Debug info in objs, Fast floating point
  402.  
  403.  
  404. compilation proprement dite
  405.  
  406. Dans le menu "Compile" choisir l'option "Compile to an OBJs"
  407.  
  408. Si il n'y a pas d'erreur,un fichier ayant l'extension .OBJ est crée dans le répertoire travail. (Ce fichier porte le même nom que votre programme source)
  409.  
  410.  
  411. Une fois le fichier .OBJ obtenu, vous pouvez quitter l'éditeur bc pour passer à la phase d'édition de lien.
  412.  
  413.  
  414. EDITION DE LIEN : 
  415.  
  416. Pour construire votre executable, vérifier que les librairies suivantes sont accessibles (soit dans le PATH du dos : PATH=C:\borlandc\lib,  soit elles sont copiées dans le répertoire de travail.
  417.  
  418. Sinon, cela provoquera un message d'erreur et un échec à la création de l'exécutable.
  419.  
  420. Librairies qui doivent être accessibles :
  421.  
  422.     - GRAPHICS.LIB
  423.             - EMU.LIB
  424.     - CL.LIB
  425.     - MATHL.LIB
  426.     - XGRAPHIC.LIB
  427.  
  428. Pour créer votre exécutable, se référer au modèle du fichier Editlien.bat qui se trouve sur la disquette.
  429.