Added upstream from http://ftp.icm.edu.pl/pub/loglan/
[loglan.git] / doc / xiiuwgra.txt
1 \r\r
2 \r\r
3                      DOCUMENTATION SUR XIIUWGRAF\r\r
4                      ---------------------------\r\r
5 \r\r
6         Gestion de graphismes en multifen\88trage sous XWindows.\r\r
7 \r\r
8 \r\r
9         1 : Diff\82rences essentielles avec la librairie graphique\r\r
10             IIUWGRAPH\r\r
11 \r\r
12 \r\r
13         2 : Ouvrir et fermer une fen\88tre avec XIIUWGRAF\r\r
14 \r\r
15             2.1  : Proc\82dure HPAGE\r\r
16             2.2  : Proc\82dure GRON\r\r
17             2.3  : Proc\82dure GROFF\r\r
18 \r\r
19 \r\r
20         3 : Description des diverses commandes d\82di\82es aux graphismes\r\r
21             utilisables par l'interpr\88teur LOGLAN\r\r
22 \r\r
23                 3.1  : Proc\82dure COLOR\r\r
24                 3.2  : Proc\82dure BORDER\r\r
25                 3.3  : Proc\82dure MOVE\r\r
26                 3.4  : Fonction  CLS\r\r
27                 3.5  : Proc\82dure POINT\r\r
28                 3.6  : Proc\82dure DRAW\r\r
29                 3.7  : Proc\82dure CIRB\r\r
30                 3.8  : Proc\82dure HFILL\r\r
31                 3.9  : Proc\82dure VFILL\r\r
32                 3.10 : Fonction  INXPOS\r\r
33                 3.11 : Fonction  INYPOS\r\r
34 \r\r
35 \r\r
36                 3.12 : Commandes de saisie et de restition d'une partie d'une\r\r
37                 fen\88tre\r\r
38                      3.12.1 : Fonction  GETMAP\r\r
39                      3.12.2 : Proc\82dure PUTMAP\r\r
40                      3.12.3 : Proc\82dure ORMAP\r\r
41                      3.12.4 : Proc\82dure XORMAP\r\r
42 \r\r
43                 3.13 : Proc\82dure INPIX\r\r
44                 3.14 : Proc\82dure STYLE\r\r
45 \r\r
46                 3.15 : Commandes de saisie et d'affichage de caract\8ares\r\r
47                      3.15.1 : Fonction  INKEY\r\r
48                      3.15.2 : Proc\82dure HASCII\r\r
49                      3.15.3 : Proc\82dure OUTSTRING\r\r
50 \r\r
51                 3.16 : Proc\82dure PUSHXY\r\r
52                 3.17 : Proc\82dure POPXY\r\r
53 \r\r
54         4 : Description des commandes de gestion de la souris\r\r
55 \r\r
56                 4.1 : Proc\82dure STATUS\r\r
57                 4.2 : Proc\82dure GETPRESS\r\r
58                 4.3 : Proc\82dure GETRELEASE\r\r
59                 4.4 : Proc\82dure GETMOVEMENT\r\r
60 \r\r
61 \r\r
62 \r\r
63 |----------------------------------------------------------------------------|\r\r
64 |----------------------------------------------------------------------------|\r\r
65 |----------------------------------------------------------------------------|\r\r
66 \r\r
67   1 : Diff\82rences essentielles entre XIIUWGRAF et IIUWGRAPH\r\r
68       -----------------------------------------------------\r\r
69 \r\r
70         Ce paragraphe a pour objet de donner certaines particularit\82s de\r\r
71   XIIUWGRAF,ceci afin de comprendre son fonctionnement g\82n\82ral.\r\r
72 \r\r
73         Tout d'abord il est important de signaler qu'\85 la diff\82rence de\r\r
74   IIUWGRAPH, XIIUWGRAF est un programme \85 part enti\8are (plus exactement un\r\r
75   processus cr\82e par l'interpr\88teur LOGLAN).C'est pour cela qu'il est\r\r
76   d\82conseill\82 (sauf cas de force majeure) de faire CONTROL-C pour terminer\r\r
77   un programme : en effet, ceci a pour effet de terminer l'ex\82cution de\r\r
78   l'interpr\88teur sans terminer XIIUWGRAF (cr\82ation d'un processus zombie).\r\r
79   Pour terminer une session graphique, il faudra donc automatiquement taper\r\r
80   dans le programme en LOGLAN la commande GROFF car elle va terminer\r\r
81   l'ex\82cution de XIIUWGRAF.\r\r
82 \r\r
83         Certaines commandes de IIUWGRAPH n'ont pas \82t\82 impl\82ment\82es (par\r\r
84   exemple HIDECURSOR,SHOWCURSOR,PALLET, ...), soit parce qu'elles seraient\r\r
85   d'un int\82r\88t tr\8as faible dans la gestion de XWindows,soit parce qu'elles\r\r
86   seraient difficilement r\82alisables, soit parce que les programmeurs ont \82t\82\r\r
87   atteints de fain\82antise chronique.\r\r
88 \r\r
89         Enfin, dans vos programmes il faudra imp\82rativement que vos unit\82s\r\r
90   g\82rant le graphisme h\82ritent de la classe IIUWGRAPH sous peine d'erreurs \85\r\r
91   la compilation .\r\r
92 \r\r
93 \r\r
94 |----------------------------------------------------------------------------|\r\r
95 |----------------------------------------------------------------------------|\r\r
96 |----------------------------------------------------------------------------|\r\r
97 \r\r
98 \r\r
99   2 : Ouvrir et fermer une fen\88tre avec XIIUWGRAF\r\r
100       -------------------------------------------\r\r
101 \r\r
102         XIIUWGRAF permet \85 l'utilisateur d'ouvrir jusqu'\85 seize fen\88tres \85\r\r
103   l'\82cran.Ces fen\88tres sont s\82lectionnables dans le programme en LOGLAN par\r\r
104   la commande GRON d\82crite plus loin.\r\r
105 \r\r
106     2.1 : La proc\82dure HPAGE\r\r
107           ------------------\r\r
108 \r\r
109     CALL HPAGE(numerofenetre,x,y);\r\r
110     VAR numerofenetre,x,y : INTEGER;\r\r
111 \r\r
112         Cette proc\82dure a pour r\93le de donner la position \85 laquelle\r\r
113     sera affich\82e la fen\88tre dans l'\82cran, de donner la taille de cette\r\r
114     fen\88tre et de l'effacer quand le besoin s'en fait sentir. Cette proc\82dure\r\r
115     devra \88tre appel\82e deux fois pour ouvrir une fen\88tre.\r\r
116 \r\r
117         HPAGE re\87oit trois param\88tres : le premier est le num\82ro de la\r\r
118     fen\88tre (un entier compris entre 0 et 15),les deux suivants sont soit les\r\r
119     coordonn\82es de la fen\88tre \85 l'\82cran, soit la taille de cette fen\88tre.\r\r
120         Un troisi\8ame appel de HPAGE avec l'un des deux derniers param\88tres\r\r
121     nuls aura pour effet de l'effacer.\r\r
122 \r\r
123     Exemple : CALL HPAGE(0,posx,posy);\r\r
124     -------   CALL HPAGE(0,longueur,hauteur);\r\r
125 \r\r
126               Le coin en haut \85 gauche de la fen\88tre 0 sera aux coordonn\82es\r\r
127               (posx,posy) et la fen\88tre aura une taille de longueur X hauteur.\r\r
128 \r\r
129               CALL HPAGE(0,0,valeur)\r\r
130               ou CALL HPAGE(0,valeur,0)\r\r
131               ou CALL HPAGE(0,0,0)\r\r
132 \r\r
133               La fen\88tre 0 est effac\82e.\r\r
134 \r\r
135     2.2 : La proc\82dure GRON\r\r
136           -----------------\r\r
137 \r\r
138         CALL GRON(numerofenetre);\r\r
139         VAR numerofenetre : INTEGER;\r\r
140 \r\r
141         La proc\82dure GRON affiche la fen\88tre de num\82ro numerofenetre \85\r\r
142     l'\82cran. Ensuite pour s\82lectionner la fen\88tre dans laquelle on veut\r\r
143     travailler, on refait un deuxi\8ame appel de cette commande.\r\r
144 \r\r
145     Exemple : CALL HPAGE(0,0,0);\r\r
146               CALL HPAGE(1,150,0);\r\r
147               CALL HPAGE(0,100,100);\r\r
148               CALL HPAGE(1,200,150);\r\r
149               CALL GRON(0);  Affichage de la fen\88tre 0\r\r
150               CALL GRON(1);  Affichage de la fen\88tre 1\r\r
151                   ...\r\r
152               CALL GRON(0);  S\82lection de la fen\88tre 1\r\r
153                   ...\r\r
154 \r\r
155 \r\r
156     2.3 : La proc\82dure GROFF\r\r
157           ------------------\r\r
158 \r\r
159         CALL GROFF;\r\r
160 \r\r
161         L'appel \85 cette commande a pour cons\82quence l'effa\87age de toutes les\r\r
162     fen\88tres et la fin d'ex\82cution du processus XIIUWGRAF.\r\r
163 \r\r
164 \r\r
165 |----------------------------------------------------------------------------|\r\r
166 |----------------------------------------------------------------------------|\r\r
167 |----------------------------------------------------------------------------|\r\r
168 \r\r
169 \r\r
170     3 : Description des diff\82rentes commandes graphiques\r\r
171         ------------------------------------------------\r\r
172 \r\r
173       3.1 : Proc\82dure COLOR\r\r
174             ---------------\r\r
175 \r\r
176       CALL COLOR(couleur);\r\r
177       VAR couleur : INTEGER;\r\r
178 \r\r
179         Permet de d\82terminer la couleur d'avant plan (0 pour noir et une\r\r
180       valeur sup\82rieure ou \82gale \85 1 pour blanc). Cette commande a une\r\r
181       action locale \85 la fen\88tre s\82lectionn\82e par GRON.\r\r
182 \r\r
183       3.2 : Proc\82dure BORDER\r\r
184             ----------------\r\r
185 \r\r
186       CALL BORDER(couleur);\r\r
187       VAR couleur : INTEGER;\r\r
188 \r\r
189         Commande qui s\82lectionne la couleur de fond.\r\r
190 \r\r
191       3.3 : Proc\82dure MOVE\r\r
192             --------------\r\r
193 \r\r
194       CALL MOVE(posx,posy);\r\r
195       VAR posx,posy : INTEGER;\r\r
196 \r\r
197         posx et posy deviennent les coordonn\82es courantes dans la fen\88tre.\r\r
198       Comme COLOR, MOVE n'agit que sur la fen\88tre s\82lectionn\82e.\r\r
199 \r\r
200       3.4 : Proc\82dure CLS\r\r
201             -------------\r\r
202 \r\r
203       CALL CLS;\r\r
204 \r\r
205         Efface la fen\88tre en blanc par d\82faut ou de la couleur sp\82cifi\82e par\r\r
206       la commande BORDER.\r\r
207 \r\r
208       3.5 : Prc\82dure POINT\r\r
209             --------------\r\r
210 \r\r
211       CALL POINT(x,y);\r\r
212       VAR x,y : INTEGER;\r\r
213 \r\r
214         Affiche un point aux coordonn\82es (x,y) de la couleur sp\82cifi\82e par la\r\r
215       commande COLOR ou noir par d\82faut. La position courante dans la fen\88tre\r\r
216       devient (x,y).\r\r
217 \r\r
218       3.6 : Proc\82dure DRAW\r\r
219             --------------\r\r
220 \r\r
221       CALL DRAW(x,y);\r\r
222       VAR x,y : INTEGER;\r\r
223 \r\r
224         Affiche une ligne qui part de la position courante dans la fen\88tre\r\r
225       vers la position (x,y). La position courante dans la fen\88tre devient\r\r
226       (x,y). Elle est affich\82e avec la couleur courante (s\82lectionn\82e avec\r\r
227       COLOR) et avec le style de trac\82 courant (s\82lectionn\82e par la commande\r\r
228       STYLE d\82crite plus loin);\r\r
229 \r\r
230       3.7 : Proc\82dure CIRB\r\r
231             --------------\r\r
232 \r\r
233       CALL CIRB(posx,posy,rayon,alpha,beta,cbord,style,p,q);\r\r
234       VAR posx,posy,rayon,p,q,cbord,style : INTEGER;\r\r
235       VAR alpha,beta : REAL;\r\r
236 \r\r
237         Si style a pour valeur 0, CIRB affiche un arc de centre (posx,posy),\r\r
238       de rayon rayon. alpha et beta sont les angles de d\82part et d'arriv\82e de\r\r
239       l'arc en question. Si alpha=beta alors un cercle (ou une ellipse) est\r\r
240       dessin\82. Si p=q alors on obtient un cercle, si p>q une ellipse allong\82e\r\r
241       dans le sens vertical est obtenue, sinon si p>q on a pour r\82sultat une\r\r
242       ellipse allong\82e dans le sens horizontal. Cet affichage est fait avec\r\r
243       la couleur d'avant plan courante et le style de trac\82 courant.\r\r
244 \r\r
245         Si style vaut 1, CIRB affiche un arc rempli ressemblant \85 une portion\r\r
246       de camenbert avec la couleur d'avant plan courante.\r\r
247 \r\r
248         Si style vaut 2, l'int\82rieur de l'arc d\82limit\82 par sa courbure et la\r\r
249       corde joignant ses deux extr\88mit\82s est rempli avec la couleur d'avant\r\r
250       plan courante.\r\r
251 \r\r
252         Si l'on choisi pour style une valeur <0 ou >3, la valeur 0 est prise.\r\r
253 \r\r
254       3.8 : Proc\82dure HFILL\r\r
255             ---------------\r\r
256 \r\r
257       CALL HFILL(y);\r\r
258       VAR y : INTEGER;\r\r
259 \r\r
260         Trace une ligne horizontale de la position courante (posx,posy) vers\r\r
261       les coordonn\82es (posx,y) avec la couleur d'avant plan courante et le\r\r
262       style de trac\82 courant. La position courante dans la fen\88tre devient\r\r
263       (posx,y).\r\r
264 \r\r
265       3.9 : Proc\82dure VFILL\r\r
266             ---------------\r\r
267 \r\r
268       CALL VFILL(x);\r\r
269       VAR x : INTEGER;\r\r
270 \r\r
271         Trace une ligne verticale de la position courante (posx,posy) vers\r\r
272       les coordonn\82es (x,posy) avec la couleur d'avant plan courante et le\r\r
273       style de trac\82 courant. La position courante dans la fen\88tre devient\r\r
274       (x,posy).\r\r
275 \r\r
276       3.10 :  Fonction INXPOS\r\r
277               ---------------\r\r
278 \r\r
279       posx:=INXPOS;\r\r
280       VAR posx : INTEGER;\r\r
281 \r\r
282         Retourne la position courante sur l'axe des abscisses de la fen\88tre\r\r
283       courante.\r\r
284 \r\r
285       3.11 :  Fonction INYPOS\r\r
286               ---------------\r\r
287 \r\r
288       posy:=INYPOS;\r\r
289       VAR posy : INTEGER;\r\r
290 \r\r
291         Retourne la position courante sur l'axe des ordonn\82es de la fen\88tre\r\r
292       courante.\r\r
293 \r\r
294       3.12 : Commandes de saisie et de restitution d'une partie d'une\r\r
295              --------------------------------------------------------\r\r
296       fen\88tre.\r\r
297       --------\r\r
298 \r\r
299            3.12.1 : Fonction GETMAP\r\r
300                     ---------------\r\r
301 \r\r
302            tab:=GETMAP(x,y);\r\r
303            VAR x,y : INTEGER;\r\r
304            VAR tab : ARRAYOF INTEGER;\r\r
305 \r\r
306            Sauve dans le tableau tab une partie rectanguraire de la fen\88tre\r\r
307       courante, le coin en haut \85 gauche \82tant la position courante dans la\r\r
308       fen\88tre et le coin en bas \85 droite \82tant la position (x,y).\r\r
309            Le tableau devrait avoir une taille minimum de :\r\r
310       4 + (nbrelignes * (3 + nbrecol div 8)) octets\r\r
311 \r\r
312            En sachant qu'en LOGLAN un entier tient sur 4 octets, il ne vous\r\r
313       reste plus qu'\85 faire votre cuisine.\r\r
314 \r\r
315            3.12.2 : Proc\82dure PUTMAP\r\r
316                     ----------------\r\r
317 \r\r
318            CALL PUTMAP(tab);\r\r
319            VAR tab : ARRAYOF INTEGER;\r\r
320 \r\r
321            Affiche la portion d'image sauv\82e dans tab \85 la position\r\r
322       courante dans la fen\88tre. Ce qu'il y avait \85 cette m\88me position avant\r\r
323       l'affichage est totalement effa\87\82.\r\r
324 \r\r
325            3.12.3 : Proc\82dure ORMAP\r\r
326                     ---------------\r\r
327 \r\r
328            CALL ORMAP(tab);\r\r
329            VAR tab : ARRAYOF INTEGER;\r\r
330 \r\r
331            Lors de l'affichage, une op\82ration OR est faite avec la portion\r\r
332       d'image sauv\82e dans tab et celle \85 la position courante dans la\r\r
333       fen\8atre : l'image est donc affich\82e en "transparence".\r\r
334 \r\r
335            3.12.4 : Proc\82dure XORMAP\r\r
336                     ----------------\r\r
337 \r\r
338            CALL XORMAP(tab);\r\r
339            VAR tab : ARRAYOF INTEGER;\r\r
340 \r\r
341            M\88me chose qu'avec ORMAP \85 la diff\82rence qu'une op\82ration XOR est\r\r
342       faite avec l'image sauv\82e dans tab et celle \85 la position courante\r\r
343       dans la fen\88tre.\r\r
344 \r\r
345       3.13 : Fonction INPIX\r\r
346              --------------\r\r
347 \r\r
348       couleur:=INPIX(x,y);\r\r
349       VAR couleur,x,y : INTEGER;\r\r
350 \r\r
351         Cette fonction met la postion courante dans la fen\88tre \85 (x,y) et\r\r
352       renvoie la couleur du point de la fen\88tre \85 cette position(0 pour\r\r
353       noir et 1 pour blanc).\r\r
354 \r\r
355       3.14 : Proc\82dure STYLE\r\r
356              ---------------\r\r
357 \r\r
358       CALL STYLE(style);\r\r
359       VAR style : INTEGER;\r\r
360 \r\r
361         D\82finit le style de trac\82 dans la fen\88tre courante.\r\r
362 \r\r
363         Si style vaut 0, le trac\82 sera fait avec la couleur de fond.\r\r
364         Si style vaut 1, le trac\82 sera fait avec la couleur d'avant plan.\r\r
365         Si style vaut 2,3,4 ou 5, le trac\82 sera fait avec les motif suivant :\r\r
366 \r\r
367         2 : ******...******...******\r\r
368 \r\r
369         3 : ****......****......****\r\r
370 \r\r
371         4 : **...**...**...**\r\r
372 \r\r
373         5 : **.........**.........**\r\r
374 \r\r
375            * : couleur d'avant plan\r\r
376            . : couleur de fond\r\r
377 \r\r
378       3.15 : Commandes de saisie et d'affichage de caract\8ares\r\r
379              ------------------------------------------------\r\r
380 \r\r
381            3.15.1 : Fonction INKEY\r\r
382                     --------------\r\r
383 \r\r
384            ascii:=INKEY;\r\r
385            VAR ascii : INTEGER;\r\r
386 \r\r
387                 Retourne le code ascii de la touche tap\82e au clavier ou la\r\r
388            valeur 0 sinon. L'appui sur les touches sp\82ciales (comme SHIFT,\r\r
389            les touche F1,F2,...,CONTROL,...) renvoient des valeurs\r\r
390            n\82gatives. Vous verrez bien par vous-m\88me quelles sont ces\r\r
391            valeurs en faisant un petit programme test.\r\r
392 \r\r
393            3.15.2 : Proc\82dure HASCII\r\r
394                     ----------------\r\r
395 \r\r
396            CALL HASCII(code);\r\r
397            VAR code : INTEGER;\r\r
398 \r\r
399                 Affiche le caract\8are de code ascii code avec le coin en haut\r\r
400            \85 gauche du caract\8are \85 la position courante (posx,posy) dans la\r\r
401            fen\88tre. La position courante devient (posx+largeur,posy).\r\r
402 \r\r
403                 Si code=0, une partie rectangulaire de largeurXhauteur est\r\r
404            affich\82e avec la couleur de fond de la fen\88tre courante et\r\r
405            position courante dans la fen\88tre reste inchang\82e.\r\r
406 \r\r
407                 En g\82n\82ral la fonte par d\82faut qui est utilis\82e sous\r\r
408            XWindows a une hauteur de dix points et une largeur de six points.\r\r
409 \r\r
410            3.15.3 : Proc\82dure OUTSTRING\r\r
411                     -------------------\r\r
412 \r\r
413            CALL OUTSTRING(tab);\r\r
414            VAR tab : ARRAYOF CHAR;\r\r
415 \r\r
416                 Affiche la chaine de caract\8are tab \85 la position courante\r\r
417            (posx,posy) de la fen\88tre. La position courante devient\r\r
418            (posx+largeur*longueur_chaine,posy) o\97 largeur est la largeur\r\r
419            de la fonte utilis\82e.\r\r
420 \r\r
421       3.16 : Proc\82dure PUSHXY\r\r
422              ----------------\r\r
423 \r\r
424       CALL PUSHXY;\r\r
425 \r\r
426         Sauvegarde le contexte graphique dans une pile, c'est \85 dire la\r\r
427       position courante dans la fen\88tre,les couleurs de fond et d'avant plan\r\r
428       et le style de trac\82 s\82lectionn\82 pour cette fen\88tre.\r\r
429 \r\r
430         Chaque Fen\88tre est dot\82e de sa pile de sauvegarde qui lui est propre\r\r
431       et chaque pile a une profondeur maximale de 16.\r\r
432 \r\r
433       3.17 : Proc\82dure POPXY\r\r
434              ---------------\r\r
435 \r\r
436       CALL POPXY;\r\r
437 \r\r
438         Restore dans la fen\88tre courante le contexte graphique situ\82 en haut\r\r
439       de la pile de sauvegarde et ce contexte est enlev\82 de la pile.\r\r
440 \r\r
441 \r\r
442 |----------------------------------------------------------------------------|\r\r
443 |----------------------------------------------------------------------------|\r\r
444 |----------------------------------------------------------------------------|\r\r
445 \r\r
446 \r\r
447     4 : Description des commandes de gestion de la souris\r\r
448         -------------------------------------------------\r\r
449 \r\r
450       4.1 : Proc\82dure STATUS\r\r
451             ----------------\r\r
452 \r\r
453       CALL STATUS(h,v,l,r,c);\r\r
454       VAR h,v : INTEGER;\r\r
455       VAR l,r,c : BOOLEAN;\r\r
456 \r\r
457         Cette proc\82dure renvoie la position courante (h,v) du pointeur de la\r\r
458       souris ainsi que l'\82tat des boutons de la souris.\r\r
459         l,r,c sont respectivement les boutons gauche, droit et du centre de la\r\r
460       souris.\r\r
461 \r\r
462         Ces valeurs bool\82ennes ont la valeur TRUE si le bouton correspondant\r\r
463       est appuy\82.\r\r
464 \r\r
465       4.2 : Proc\82dure GETPRESS\r\r
466             ------------------\r\r
467 \r\r
468       CALL GETPRESS(b,h,v,p,l,r,c);\r\r
469       VAR b,h,v,p : INTEGER;\r\r
470       VAR l,r,c : BOOLEAN;\r\r
471 \r\r
472         Cette proc\82dure renvoie le nombre de fois o\97 le bouton s\82lectionn\82 a\r\r
473       \82t\82 appuy\82 depuis le dernier appel \85 cette commande, ainsi que la\r\r
474       position (h,v) du curseur la derni\8are fois que le bouton consid\82r\82 a\r\r
475       \82t\82 appuy\82.\r\r
476 \r\r
477         Le param\88tre b permet de s\82lectionner le bouton \85 tester :\r\r
478                 - 0 : bouton gauche\r\r
479                 - 1 : bouton droit\r\r
480                 - 2 : bouton du milieu\r\r
481 \r\r
482         En sus, la proc\82dure renvoie l'\82tat courant des trois boutons l,r,c.\r\r
483 \r\r
484       4.3 : Proc\82dure GETRELEASE\r\r
485             --------------------\r\r
486 \r\r
487       CALL GETRELEASE(b,h,v,p,l,r,c);\r\r
488       VAR b,h,v,p : INTEGER;\r\r
489       VAR l,r,c : BOOLEAN;\r\r
490 \r\r
491         Cette proc\82dure a la m\88me fonction que GETPRESS \85 la diff\82rence\r\r
492       qu'elle teste le nombre de rel\83chements du bouton s\82lectionn\82 et non\r\r
493       l'appui.\r\r
494 \r\r
495       4.4 : Proc\82dure GETMOVEMENT\r\r
496             ---------------------\r\r
497 \r\r
498       CALL GETMOVEMENT(h,v);\r\r
499       VAR h,v : INTEGER;\r\r
500 \r\r
501         Cette proc\82dure renvoie le mouvement relatif (h,v) du curseur de la\r\r
502       souris depuis son dernier appel.\r\r
503 \r\r
504 \r\r
505                                                 Zatsolfolcs...\r\r
506 \1a