home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 18 / CD_ASCQ_18_111294_W.iso / dos / prg / c / x_lib10 / xs.doc < prev    next >
Text File  |  1994-10-20  |  31KB  |  1,025 lines

  1. ════════════════════════════════════════════════════════════════════════════
  2. LE GESTIONNAIRE D'ECRAN
  3. ────────────────────────────────────────────────────────────────────────────
  4.  
  5. présentation
  6. ────────────
  7.  
  8.     Le gestionnaire d'écran offre un ensemble de services encapsulés dans la
  9.     classe XScrMgr et accessibles via son instance globale xs.
  10.  
  11.     La classe XScrMgr n'est constituée que de membres statiques et n'est pas
  12.     dérivable.
  13.  
  14.  
  15. construction du gestionnaire
  16. ────────────────────────────
  17.  
  18.     Le gestionnaire est construit automatiquement avant la fonction main()
  19.     grâce à son instance globale xs.
  20.  
  21.     Après sa construction, un appel à init() est nécessaire pour assurer son
  22.     initialisation.
  23.  
  24.  
  25. destruction du gestionnaire
  26. ───────────────────────────
  27.  
  28.     Le gestionnaire est détruit automatiquement en fin d'exécution.
  29.  
  30.     Avant sa destruction, un appel à init() est nécessaire pour quitter le
  31.     gestionnaire.
  32.  
  33.  
  34. curseurs logique et physique
  35. ────────────────────────────
  36.  
  37.     Le gestionnaire assure la gestion de deux curseurs : l'un logique et
  38.     l'autre physique.
  39.  
  40.     Le curseur logique est un curseur simulé constituant le point de départ
  41.     de toutes les fonctions d'affichage du gestionnaire.
  42.  
  43.     Le curseur physique est celui qui est affiché par le BIOS vidéo.
  44.  
  45.  
  46. index des fonctions
  47. ───────────────────
  48.  
  49.     ╒═══════════════════════════════════════════════════════════════════╕
  50.     │   fonction    utilisation                                         │
  51.     ├───────────────────────────────────────────────────────────────────┤
  52.     │   addr        renvoie l'adresse de base du segment vidéo          │
  53.     │   addr        modifie l'adresse de base du segment vidéo          │
  54.     │   cdef        renvoie l'identificateur de forme du curseur        │
  55.     │   cdef        modifie la forme du curseur physique                │
  56.     │   fill        remplit l'écran avec une cellule                    │
  57.     │   hght        renvoie le nombre de lignes affichées               │
  58.     │   incc        déplace horizontalement le curseur logique          │
  59.     │   incr        déplace verticalement le curseur logique            │
  60.     │   init        initialise ou quitte le gestionnaire                │
  61.     │   lcol        renvoie le numéro de colonne du curseur logique     │
  62.     │   lpos        positionne le curseur logique                       │
  63.     │   lrow        renvoie le numéro de ligne du curseur logique       │
  64.     │   mode        renvoie le mode d'affichage courant                 │
  65.     │   mode        sélectionne le mode d'affichage courant             │
  66.     │   outa        affiche un bloc d'attributs                         │
  67.     │   outa        affiche une ligne d'attributs                       │
  68.     │   outb        affiche un tableau de caractères                    │
  69.     │   outc        affiche un bloc de caractères                       │
  70.     │   outc        affiche une ligne de caractères                     │
  71.     │   outf        affiche un cadre                                    │
  72.     │   outl        affiche une chaîne de caractères spéciale           │
  73.     │   outr        inverse les attributs d'un cadre                    │
  74.     │   outs        affiche une chaîne de caractères                    │
  75.     │   outw        affiche un bloc de cellules                         │
  76.     │   outw        affiche une ligne de cellules                       │
  77.     │   pcol        renvoie le numéro de colonne du curseur physique    │
  78.     │   ppos        positionne le curseur physique                      │
  79.     │   prow        renvoie le numéro de ligne du curseur physique      │
  80.     │   shdw        affiche une ombre autour d'un bloc                  │
  81.     │   type        renvoie le type de l'écran                          │
  82.     │   wdth        renvoie le nombre de colonnes affichées             │
  83.     └───────────────────────────────────────────────────────────────────┘
  84.  
  85.  
  86. ════════════════════════════════════════════════════════════════════════════
  87. XScrMgr::addr                                                  public:static
  88. renvoie l'adresse de base du segment vidéo                               1/2
  89. ────────────────────────────────────────────────────────────────────────────
  90.  
  91. utilisation
  92.  
  93.     long    addr (void)
  94.  
  95. description
  96.  
  97.     addr() renvoie l'adresse de base du segment vidéo.
  98.  
  99.     Le résultat de addr() est une adresse longue fixée par addr() et mode(),
  100.     et composée d'un segment et d'un déplacement dans ce segment.
  101.  
  102. voir aussi
  103.  
  104.     XScrMgr::addr(), XScrMgr::mode()
  105.  
  106.  
  107. ════════════════════════════════════════════════════════════════════════════
  108. XScrMgr::addr                                                  public:static
  109. modifie l'adresse de base du segment vidéo                               2/2
  110. ────────────────────────────────────────────────────────────────────────────
  111.  
  112. utilisation
  113.  
  114.     void    addr (long adr)
  115.  
  116. paramètres
  117.  
  118.     adr     adresse longue
  119.  
  120. assertions
  121.  
  122.     adr     adresse valide
  123.  
  124. description
  125.  
  126.     addr() modifie l'adresse de base du segment vidéo en la remplaçant par
  127.     l'adresse longue adr.
  128.  
  129.     En règle générale, adr est une des deux constantes suivantes :
  130.  
  131.             ╒═══════════════════════════════════════════════════════════╕
  132.             │   segment     utilisation                                 │
  133.             ├───────────────────────────────────────────────────────────┤
  134.             │   xs_MSEG     segment monochrome 0xB000                   │
  135.             │   xs_CSEG     segment couleur 0xB800                      │
  136.             └───────────────────────────────────────────────────────────┘
  137.  
  138.     addr() replace le curseur logique à son origine.
  139.  
  140. voir aussi
  141.  
  142.     XScrMgr::addr(), XScrMgr::lpos(), XScrMgr::mode(), XScrMgr::type()
  143.  
  144.  
  145. ════════════════════════════════════════════════════════════════════════════
  146. XScrMgr::cdef                                                  public:static
  147. renvoie l'identificateur de forme du curseur physique                    1/2
  148. ────────────────────────────────────────────────────────────────────────────
  149.  
  150. utilisation
  151.  
  152.     int     cdef (void)
  153.  
  154. description
  155.  
  156.     cdef() renvoie l'identificateur de forme du curseur physique.
  157.  
  158.     Le résultat de cdef() est une des constantes utilisée pour modifier la
  159.     forme du curseur physique.
  160.  
  161. voir aussi
  162.  
  163.     XScrMgr::cdef()
  164.  
  165.  
  166. ════════════════════════════════════════════════════════════════════════════
  167. XScrMgr::cdef                                                  public:static
  168. modifie la forme du curseur physique                                     2/2
  169. ────────────────────────────────────────────────────────────────────────────
  170.  
  171. utilisation
  172.  
  173.     void    cdef (int cid)
  174.  
  175. paramètres
  176.  
  177.     cid     identificateur de forme
  178.  
  179. assertions
  180.  
  181.     cid     identificateur valide
  182.  
  183. description
  184.  
  185.     cdef() modifie la forme du curseur physique en lui associant une des
  186.     trois formes prédéfinies identifiée par cid.
  187.  
  188.     L'identificateur cid est une des trois constantes de forme suivantes :
  189.  
  190.             ╒═══════════════════════════════════════════════════════════╕
  191.             │   constante   utilisation                                 │
  192.             ├───────────────────────────────────────────────────────────┤
  193.             │    xs_HIDE    curseur caché                               │
  194.             │    xs_FULL    curseur plein                               │
  195.             │    xs_LINE    curseur souligné                            │
  196.             └───────────────────────────────────────────────────────────┘
  197.  
  198. voir aussi
  199.  
  200.     XScrMgr::cdef()
  201.  
  202.  
  203. ════════════════════════════════════════════════════════════════════════════
  204. XScrMgr::fill                                                  public:static
  205. remplit l'écran avec une cellule
  206. ────────────────────────────────────────────────────────────────────────────
  207.  
  208. utilisation
  209.  
  210.     void    fill (char chr, char att)
  211.  
  212. paramètres
  213.  
  214.     chr     caractère
  215.     att     attribut
  216.  
  217. description
  218.  
  219.     fill() remplit l'écran avec la cellule formée par le caractère chr et
  220.     l'attribut att.
  221.  
  222.     fill() ne modifie pas la position du curseur logique.
  223.  
  224.  
  225. ════════════════════════════════════════════════════════════════════════════
  226. XScrMgr::hght                                                  public:static
  227. renvoie le nombre de lignes affichées
  228. ────────────────────────────────────────────────────────────────────────────
  229.  
  230. utilisation
  231.  
  232.     int     hght (void)
  233.  
  234. description
  235.  
  236.     hght() renvoie le nombre de lignes affichées tel qu'il a été fixé par
  237.     init() et mode().
  238.  
  239. voir aussi
  240.  
  241.     XScrMgr::init(), XScrMgr::mode(), XScrMgr::wdth()
  242.  
  243.  
  244. ════════════════════════════════════════════════════════════════════════════
  245. XScrMgr::incc                                                  public:static
  246. déplace horizontalement le curseur logique
  247. ────────────────────────────────────────────────────────────────────────────
  248.  
  249. utilisation
  250.  
  251.     int     incc (int cnt)
  252.  
  253. paramètres
  254.  
  255.     cnt     déplacement signé
  256.  
  257. assertions
  258.  
  259.     cnt     déplacement valide
  260.  
  261. description
  262.  
  263.     incc() déplace horizontalement le curseur logique de cnt colonnes vers
  264.     la droite si cnt est positif et vers la gauche si cnt est négatif.
  265.  
  266.     incc() ne modifie pas le numéro de ligne du curseur logique.
  267.  
  268.     incc() renvoie le nouveau numéro de colonne du curseur logique.
  269.  
  270. voir aussi
  271.  
  272.     XScrMgr::incr(), XScrMgr::lcol()
  273.  
  274.  
  275. ════════════════════════════════════════════════════════════════════════════
  276. XScrMgr::incr                                                  public:static
  277. déplace verticalement le curseur logique
  278. ────────────────────────────────────────────────────────────────────────────
  279.  
  280. utilisation
  281.  
  282.     int     incr (int cnt)
  283.  
  284. paramètres
  285.  
  286.     cnt     déplacement signé
  287.  
  288. assertions
  289.  
  290.     cnt     déplacement valide
  291.  
  292. description
  293.  
  294.     incr() déplace verticalement le curseur logique de cnt lignes vers le
  295.     bas si cnt est positif et vers le haut si cnt est négatif.
  296.  
  297.     incr() ne modifie pas le numéro de colonne du curseur logique.
  298.  
  299.     incr() renvoie le nouveau numéro de ligne du curseur logique.
  300.  
  301. voir aussi
  302.  
  303.     XScrMgr::incc(), XScrMgr::lrow()
  304.  
  305.  
  306. ════════════════════════════════════════════════════════════════════════════
  307. XScrMgr::init                                                  public:static
  308. initialise ou quitte le gestionnaire
  309. ────────────────────────────────────────────────────────────────────────────
  310.  
  311. utilisation
  312.  
  313.     void    init (int cmd)
  314.  
  315. paramètres
  316.  
  317.     cmd     commande d'initialisation
  318.  
  319. description
  320.  
  321.     init() initialise ou quitte le gestionnaire.
  322.  
  323.     Si cmd est non nul, init() initialise le gestionnaire par les étapes :
  324.  
  325.             -- détection du type de l'écran,
  326.  
  327.             -- sélection du mode d'affichage 80x25 adapté au type de l'écran
  328.                par mode().
  329.  
  330.     Si cmd est nul, init() quitte le gestionnaire par les étapes :
  331.  
  332.             -- sélection du mode d'affichage 80x25 adapté au type de l'écran
  333.                par mode().
  334.  
  335.     init() est sans effet si l'état demandé est déjà celui du gestionnaire.
  336.  
  337. voir aussi
  338.  
  339.     XScrMgr::mode()
  340.  
  341.  
  342. ════════════════════════════════════════════════════════════════════════════
  343. XScrMgr::lcol                                                  public:static
  344. renvoie le numéro de colonne du curseur logique
  345. ────────────────────────────────────────────────────────────────────────────
  346.  
  347. utilisation
  348.  
  349.     int     lcol (void)
  350.  
  351. description
  352.  
  353.     lcol() renvoie le numéro de colonne du curseur logique fixé par lpos()
  354.     et incc().
  355.  
  356. voir aussi
  357.  
  358.     XScrMgr::incc(), XScrMgr::lpos(), XScrMgr::lrow()
  359.  
  360.  
  361. ════════════════════════════════════════════════════════════════════════════
  362. XScrMgr::lpos                                                  public:static
  363. positionne le curseur logique
  364. ────────────────────────────────────────────────────────────────────────────
  365.  
  366. utilisation
  367.  
  368.     void    lpos (int row, int col)
  369.  
  370. paramètres
  371.  
  372.     row     numéro de ligne
  373.     col     numéro de colonne
  374.  
  375. assertions
  376.  
  377.     row     numéro valide
  378.     col     numéro valide
  379.  
  380. description
  381.  
  382.     lpos() positionne le curseur logique sur la ligne row et sur la colonne
  383.     col.
  384.  
  385.     Les coordonnées du curseur logique sont obtenues par lcol() et lrow().
  386.  
  387. voir aussi
  388.  
  389.     XScrMgr::lcol(), XScrMgr::lrow()
  390.  
  391.  
  392. ════════════════════════════════════════════════════════════════════════════
  393. XScrMgr::lrow                                                  public:static
  394. renvoie le numéro de ligne du curseur logique
  395. ────────────────────────────────────────────────────────────────────────────
  396.  
  397. utilisation
  398.  
  399.     int     lrow (void)
  400.  
  401. description
  402.  
  403.     lrow() renvoie le numéro de ligne du curseur logique fixé par lpos() et
  404.     incr().
  405.  
  406. voir aussi
  407.  
  408.     XScrMgr::incr(), XScrMgr::lcol(), XScrMgr::lpos()
  409.  
  410.  
  411. ════════════════════════════════════════════════════════════════════════════
  412. XScrMgr::mode                                                  public:static
  413. renvoie le mode d'affichage courant                                      1/2
  414. ────────────────────────────────────────────────────────────────────────────
  415.  
  416. utilisation
  417.  
  418.     int     mode (void)
  419.  
  420. description
  421.  
  422.     mode() renvoie le mode d'affichage en cours d'utilisation.
  423.  
  424.     Le résultat de mode() correspond au mode d'affichage texte choisi par
  425.     init() et mode().
  426.  
  427. voir aussi
  428.  
  429.     XScrMgr::init(), XScrMgr::mode()
  430.  
  431.  
  432. ════════════════════════════════════════════════════════════════════════════
  433. XScrMgr::mode                                                  public:static
  434. sélectionne le mode d'affichage courant                                  2/2
  435. ────────────────────────────────────────────────────────────────────────────
  436.  
  437. utilisation
  438.  
  439.     void    mode (int val)
  440.  
  441. paramètres
  442.  
  443.     val     mode d'affichage
  444.  
  445. assertions
  446.  
  447.     val     mode valide
  448.  
  449. description
  450.  
  451.     mode() sélectionne le mode d'affichage val.
  452.  
  453.     mode() reconnaît des modes d'affichage spéciaux suivants :
  454.  
  455.             ╒═══════════════════════════════════════════════════════════╕
  456.             │   mode        utilisation                                 │
  457.             ├───────────────────────────────────────────────────────────┤
  458.             │   -1          pas de changement de mode d'affichage       │
  459.             │   -28         affichage sur 28 lignes (VGA)               │
  460.             │   -43         affichage sur 43 lignes (EGA/VGA)           │
  461.             │   -50         affichage sur 50 lignes (VGA)               │
  462.             └───────────────────────────────────────────────────────────┘
  463.  
  464.     Après la sélection du mode d'affichage, mode() effectue les opérations
  465.     suivantes :
  466.  
  467.             -- détermine l'adresse de base du segment vidéo,
  468.  
  469.             -- détermine les dimensions de l'écran,
  470.  
  471.             -- détermine la couleur de l'ombre ; elle est grise en présence
  472.                d'un écran couleur et noire dans le cas contraire.
  473.  
  474.             -- place les curseurs logique et physique dans l'angle supérieur
  475.                gauche de l'écran par lpos() et ppos(),
  476.  
  477.             -- associe la forme soulignée au curseur physique par cdef(),
  478.  
  479.             -- efface l'écran avec la couleur noir/blanc par fill().
  480.  
  481.     mode() peut être appelée pour modifier le mode d'affichage choisi par
  482.     init() lors de l'initialisation du gestionnaire.
  483.  
  484. voir aussi
  485.  
  486.     XScrMgr::addr(), XScrMgr::cdef(), XScrMgr::fill(), XScrMgr::hght(),
  487.     XScrMgr::init(), XScrMgr::lpos(), XScrMgr::ppos(), XScrMgr::shdw(),
  488.     XScrMgr::wdth()
  489.  
  490.  
  491. ════════════════════════════════════════════════════════════════════════════
  492. XScrMgr::outa                                                  public:static
  493. affiche un bloc d'attributs                                              1/2
  494. ────────────────────────────────────────────────────────────────────────────
  495.  
  496. utilisation
  497.  
  498.     int     outa (int wdt, int hgh, char att)
  499.  
  500. paramètres
  501.  
  502.     wdt     largeur du bloc
  503.     hgh     hauteur du bloc
  504.     att     attribut
  505.  
  506. description
  507.  
  508.     outa() remplit le bloc de wdt colonnes et de hgh lignes, défini depuis
  509.     la position du curseur logique, avec l'attribut att.
  510.  
  511.     outa() renvoie la largeur wdt.
  512.  
  513.     outa() est sans effet si une des dimensions du bloc est nulle.
  514.  
  515.     outa() ne modifie pas la position du curseur logique.
  516.  
  517. voir aussi
  518.  
  519.     XScrMgr::outc()
  520.  
  521.  
  522. ════════════════════════════════════════════════════════════════════════════
  523. XScrMgr::outa                                                  public:static
  524. affiche une ligne d'attributs                                            2/2
  525. ────────────────────────────────────────────────────────────────────────────
  526.  
  527. utilisation
  528.  
  529.     int     outa (int wdt, char att)
  530.  
  531. paramètres
  532.  
  533.     wdt     largeur du bloc
  534.     att     attribut
  535.  
  536. description
  537.  
  538.     outa() remplit la ligne de wdt colonnes, définie depuis la position du
  539.     curseur logique, avec l'attribut att.
  540.  
  541.     outa() renvoie la largeur wdt.
  542.  
  543.     outa() est sans effet si wdt est nulle.
  544.  
  545.     outa() ne modifie pas la position du curseur logique.
  546.  
  547. voir aussi
  548.  
  549.     XScrMgr::outc()
  550.  
  551.  
  552. ════════════════════════════════════════════════════════════════════════════
  553. XScrMgr::outb                                                  public:static
  554. affiche un tableau de caractères
  555. ────────────────────────────────────────────────────────────────────────────
  556.  
  557. utilisation
  558.  
  559.     int     outb (int cnt, const char *buf, char att)
  560.  
  561. paramètres
  562.  
  563.     cnt     nombre de caractères
  564.     buf     pointeur sur tableau de caractères
  565.     att     attribut
  566.  
  567. assertions
  568.  
  569.     buf     != 0
  570.  
  571. description
  572.  
  573.     outb() affiche les cnt caractères du tableau buf avec l'attribut att
  574.     depuis la position du curseur logique.
  575.  
  576.     outb() renvoie le nombre de caractères cnt.
  577.  
  578.     outb() est sans effet si le nombre de caractères cnt est nul.
  579.  
  580.     outb() ne modifie pas la position du curseur logique.
  581.  
  582. voir aussi
  583.  
  584.     XScrMgr::outs
  585.  
  586.  
  587. ════════════════════════════════════════════════════════════════════════════
  588. XScrMgr::outc                                                  public:static
  589. affiche un bloc de caractères                                            1/2
  590. ────────────────────────────────────────────────────────────────────────────
  591.  
  592. utilisation
  593.  
  594.     int     outc (int wdt, int hgh, char chr)
  595.  
  596. paramètres
  597.  
  598.     wdt     largeur du bloc
  599.     hgh     hauteur du bloc
  600.     chr     caractère
  601.  
  602. description
  603.  
  604.     outc() remplit le bloc de wdt colonnes et de hgh lignes, défini depuis
  605.     la position du curseur logique, avec le caractère chr.
  606.  
  607.     outc() renvoie la largeur wdt.
  608.  
  609.     outc() est sans effet si une des dimensions du bloc est nulle.
  610.  
  611.     outc() ne modifie pas la position du curseur logique.
  612.  
  613. voir aussi
  614.  
  615.     XScrMgr::outa()
  616.  
  617.  
  618. ════════════════════════════════════════════════════════════════════════════
  619. XScrMgr::outc                                                  public:static
  620. affiche une ligne de caractères                                          1/2
  621. ────────────────────────────────────────────────────────────────────────────
  622.  
  623. utilisation
  624.  
  625.     int     outc (int wdt, char chr)
  626.  
  627. paramètres
  628.  
  629.     wdt     largeur du bloc
  630.     chr     caractère
  631.  
  632. description
  633.  
  634.     outc() remplit la ligne de wdt colonnes, définie depuis la position du
  635.     curseur logique, avec le caractère chr.
  636.  
  637.     outc() renvoie la largeur wdt.
  638.  
  639.     outc() est sans effet si wdt est nulle.
  640.  
  641.     outc() ne modifie pas la position du curseur logique.
  642.  
  643. voir aussi
  644.  
  645.     XScrMgr::outa()
  646.  
  647.  
  648. ════════════════════════════════════════════════════════════════════════════
  649. XScrMgr::outf                                                  public:static
  650. affiche un cadre
  651. ────────────────────────────────────────────────────────────────────────────
  652.  
  653. utilisation
  654.  
  655.     int     outf (int wdt, int hgh, const char *buf, char att)
  656.  
  657. paramètres
  658.  
  659.     wdt     largeur du bloc
  660.     hgh     hauteur du bloc
  661.     buf     pointeur sur jeu de caractères
  662.     att     attribut
  663.  
  664. assertions
  665.  
  666.     buf != 0
  667.  
  668. description
  669.  
  670.     outf() affiche un cadre formé par le jeu de caractères buf et l'attribut
  671.     att sur les bords du bloc de wdt colonnes et de hgh lignes défini depuis
  672.     la position du curseur logique.
  673.  
  674.     Le jeu de caractères buf doit avoir le format suivant :
  675.  
  676.             ╒═══════════════════════════════════════════════════════════╕
  677.             │   position    utilisation                                 │
  678.             ├───────────────────────────────────────────────────────────┤
  679.             │      0        angle supérieur gauche                      │
  680.             │      1        bord supérieur                              │
  681.             │      2        angle supérieur droit                       │
  682.             │      3        bord gauche                                 │
  683.             │      4        bord droit                                  │
  684.             │      5        angle inférieur gauche                      │
  685.             │      6        bord inférieur                              │
  686.             │      7        angle inférieur droit                       │
  687.             └───────────────────────────────────────────────────────────┘
  688.  
  689.     Afin de faciliter l'utilisation de outf(), des jeux de caractères sont
  690.     mis à disposition sous forme de variables globales :
  691.  
  692.             ╒═══════════════════════════════════════════════════════════╕
  693.             │   variable    utilisation                                 │
  694.             ├───────────────────────────────────────────────────────────┤
  695.             │   xs_bxdd     cadre à trait double                        │
  696.             │   xs_bxps     cadre pour bouton poussoir                  │
  697.             │   xs_bxsp     cadre invisible                             │
  698.             │   xs_bxss     cadre à trait simple                        │
  699.             └───────────────────────────────────────────────────────────┘
  700.  
  701.     outf() renvoie la largeur wdt.
  702.  
  703.     outf() est sans effet si une des dimensions du bloc est inférieure à 2.
  704.  
  705.     outf() ne modifie pas la position du curseur logique.
  706.  
  707.  
  708. ════════════════════════════════════════════════════════════════════════════
  709. XScrMgr::outl                                                  public:static
  710. affiche une chaîne de caractères spéciale
  711. ────────────────────────────────────────────────────────────────────────────
  712.  
  713. utilisation
  714.  
  715.     int     outl (int cnt, const char *str, char alo, char ahi)
  716.  
  717. paramètres
  718.  
  719.     cnt     longueur significative
  720.     str     pointeur sur chaîne de caractères
  721.     alo     attribut normal
  722.     ahi     attribut réhaussé
  723.  
  724. assertions
  725.  
  726.     str     != 0
  727.  
  728. description
  729.  
  730.     outl() affiche les cnt caractères significatifs de la chaîne str avec
  731.     les attributs alo et ahi depuis la position du curseur logique.
  732.  
  733.     Une chaîne spéciale est affichée avec l'attribut alo à l'exception des
  734.     caractères préfixés par le signe '&' qui utilisent l'attribut ahi.
  735.  
  736.     La longueur significative d'une chaîne spéciale est égale à sa longueur
  737.     réelle moins le nombre d'occurences du signe '&'.
  738.  
  739.     outl() renvoie le nombre de caractères cnt.
  740.  
  741.     outl() est sans effet si le nombre de caractères cnt est nul.
  742.  
  743.     outl() ne modifie pas la position du curseur logique.
  744.  
  745. voir aussi
  746.  
  747.     XScrMgr::outs()
  748.  
  749.  
  750. ════════════════════════════════════════════════════════════════════════════
  751. XScrMgr::outr                                                  public:static
  752. inverse les attributs d'un cadre
  753. ────────────────────────────────────────────────────────────────────────────
  754.  
  755. utilisation
  756.  
  757.     int     outr (int wdt, int hgh)
  758.  
  759. paramètres
  760.  
  761.     wdt     largeur du bloc
  762.     hgh     hauteur du bloc
  763.  
  764. description
  765.  
  766.     outr() inverse les attributs du cadre de largeur wdt et de hauteur hgh
  767.     défini depuis la position du curseur logique.
  768.  
  769.     outr() renvoie la largeur wdt.
  770.  
  771.     outr() est sans effet si une des dimensions du bloc est inférieure à 2.
  772.  
  773.     outr() ne modifie pas la position du curseur logique.
  774.  
  775.  
  776. ════════════════════════════════════════════════════════════════════════════
  777. XScrMgr::outs                                                  public:static
  778. affiche une chaîne de caractères
  779. ────────────────────────────────────────────────────────────────────────────
  780.  
  781. utilisation
  782.  
  783.     int     outs (int cnt, const char *str, char att)
  784.  
  785. paramètres
  786.  
  787.     cnt     nombre maximum de caractères
  788.     str     pointeur sur chaîne de caractères
  789.     att     attribut
  790.  
  791. assertions
  792.  
  793.     str     != 0
  794.  
  795. description
  796.  
  797.     outs() affiche au plus les cnt premiers caractères de la chaîne str avec
  798.     l'attribut att depuis la position du curseur logique.
  799.  
  800.     outb() peut être préférée lorsque le nombre de caractères à afficher est
  801.     déjà connu.
  802.  
  803.     outs() renvoie le nombre de caractères affichés.
  804.  
  805.     outs() est sans effet si le nombre de caractères cnt est nul.
  806.  
  807.     outs() ne modifie pas la position du curseur logique.
  808.  
  809. voir aussi
  810.  
  811.     XScrMgr::outb()
  812.  
  813.  
  814. ════════════════════════════════════════════════════════════════════════════
  815. XScrMgr::outw                                                  public:static
  816. affiche un bloc de cellules                                              1/2
  817. ────────────────────────────────────────────────────────────────────────────
  818.  
  819. utilisation
  820.  
  821.     int     outw (int wdt, int hgh, char chr, char att)
  822.  
  823. paramètres
  824.  
  825.     wdt     largeur du bloc
  826.     hgh     hauteur du bloc
  827.     chr     caractère
  828.     att     attribut
  829.  
  830. description
  831.  
  832.     outw() remplit le bloc de wdt colonnes et de hgh lignes, défini depuis
  833.     la position du curseur logique, avec la cellule formée par le caractère
  834.     chr et l'attribut att.
  835.  
  836.     outw() renvoie la largeur wdt.
  837.  
  838.     outw() est sans effet si une des dimensions du bloc est nulle.
  839.  
  840.     outw() ne modifie pas la position du curseur logique.
  841.  
  842. voir aussi
  843.  
  844.     XScrMgr::outa(), XScrMgr::outc()
  845.  
  846.  
  847. ════════════════════════════════════════════════════════════════════════════
  848. XScrMgr::outw                                                  public:static
  849. affiche une ligne de cellules                                            1/2
  850. ────────────────────────────────────────────────────────────────────────────
  851.  
  852. utilisation
  853.  
  854.     int     outw (int wdt, char chr, char att)
  855.  
  856. paramètres
  857.  
  858.     wdt     largeur du bloc
  859.     chr     caractère
  860.     att     attribut
  861.  
  862. description
  863.  
  864.     outw() remplit la ligne de wdt colonnes, définie depuis la position du
  865.     curseur logique, avec la cellule formée par le caractère chr et
  866.     l'attribut att.
  867.  
  868.     outw() renvoie la largeur wdt.
  869.  
  870.     outw() est sans effet si une des dimensions du bloc est nulle.
  871.  
  872.     outw() ne modifie pas la position du curseur logique.
  873.  
  874. voir aussi
  875.  
  876.     XScrMgr::outa(), XScrMgr::outc()
  877.  
  878.  
  879. ════════════════════════════════════════════════════════════════════════════
  880. XScrMgr::pcol                                                  public:static
  881. renvoie le numéro de colonne du curseur physique
  882. ────────────────────────────────────────────────────────────────────────────
  883.  
  884. utilisation
  885.  
  886.     int     pcol (void)
  887.  
  888. description
  889.  
  890.     pcol() renvoie le numéro de colonne du curseur physique fixé par ppos().
  891.  
  892. voir aussi
  893.  
  894.     XScrMgr::ppos(), XScrMgr::prow()
  895.  
  896.  
  897. ════════════════════════════════════════════════════════════════════════════
  898. XScrMgr::ppos                                                  public:static
  899. positionne le curseur physique
  900. ────────────────────────────────────────────────────────────────────────────
  901.  
  902. utilisation
  903.  
  904.     void    ppos (int row, int col)
  905.  
  906. paramètres
  907.  
  908.     row     numéro de ligne
  909.     col     numéro de colonne
  910.  
  911. assertions
  912.  
  913.     row     numéro valide
  914.     col     numéro valide
  915.  
  916. description
  917.  
  918.     ppos() positionne le curseur physique sur la ligne row et sur la colonne
  919.     col.
  920.  
  921.     Les coordonnées du curseur physique sont obtenues par pcol() et prow().
  922.  
  923. voir aussi
  924.  
  925.     XScrMgr::pcol(), XScrMgr::prow()
  926.  
  927.  
  928. ════════════════════════════════════════════════════════════════════════════
  929. XScrMgr::prow                                                  public:static
  930. renvoie le numéro de ligne du curseur physique
  931. ────────────────────────────────────────────────────────────────────────────
  932.  
  933. utilisation
  934.  
  935.     int     prow (void)
  936.  
  937. description
  938.  
  939.     prow() renvoie le numéro de ligne du curseur physique fixé par ppos().
  940.  
  941. voir aussi
  942.  
  943.     XScrMgr::pcol(), XScrMgr::ppos()
  944.  
  945.  
  946. ════════════════════════════════════════════════════════════════════════════
  947. XScrMgr::shdw                                                  public:static
  948. affiche une ombre autour d'un bloc
  949. ────────────────────────────────────────────────────────────────────────────
  950.  
  951. utilisation
  952.  
  953.     void    shdw (int wdt, int hgh)
  954.  
  955. paramètres
  956.  
  957.     wdt     largeur du bloc
  958.     hgh     hauteur du bloc
  959.  
  960. description
  961.  
  962.     shdw() affiche une ombre sur les bords droit et inférieur du bloc de wdt
  963.     colonnes et de hgh lignes défini depuis la position du curseur logique.
  964.  
  965.     shdw() s'assure que l'ombre ne dépasse pas les limites de l'écran du
  966.     fait de la position du curseur logique ou des dimensions du bloc.
  967.  
  968.     shdw() est sans effet si une des dimensions du bloc est inférieure à 2.
  969.  
  970.     shdw() ne modifie pas la position du curseur logique.
  971.  
  972. voir aussi
  973.  
  974.     XScrMgr::mode()
  975.  
  976.  
  977. ════════════════════════════════════════════════════════════════════════════
  978. XScrMgr::type                                                  public:static
  979. renvoie le type de l'écran
  980. ────────────────────────────────────────────────────────────────────────────
  981.  
  982. utilisation
  983.  
  984.     int     type (void)
  985.  
  986. description
  987.  
  988.     type() renvoie le type de l'écran déterminé par init().
  989.  
  990.     Le résultat de type() est une combinaison des constantes suivantes :
  991.  
  992.             ╒═══════════════════════════════════════════════════════════╕
  993.             │   constante   utilisation                                 │
  994.             ├───────────────────────────────────────────────────────────┤
  995.             │   xs_COLOR    écran couleur de type CGA/EGA/VGA           │
  996.             │   xs_EGA      écran EGA couleur ou monochrome             │
  997.             │   xs_VGA      écran VGA couleur ou monochrome             │
  998.             └───────────────────────────────────────────────────────────┘
  999.  
  1000. voir aussi
  1001.  
  1002.     XScrMgr::init()
  1003.  
  1004.  
  1005. ════════════════════════════════════════════════════════════════════════════
  1006. XScrMgr::wdth                                                  public:static
  1007. renvoie le nombre de colonnes affichées
  1008. ────────────────────────────────────────────────────────────────────────────
  1009.  
  1010. utilisation
  1011.  
  1012.     int     wdth (void)
  1013.  
  1014. description
  1015.  
  1016.     wdth() renvoie le nombre de colonnes affichées tel qu'il a été fixé par
  1017.     init() et mode().
  1018.  
  1019. voir aussi
  1020.  
  1021.     XScrMgr::hght(), XScrMgr::init(), XScrMgr::mode()
  1022.  
  1023.  
  1024.  
  1025.