Page suivantePage pr�c�denteTable des mati�res

5. Programmation pour MGR

Le manuel des programmeurs MGR, l'interface des applications langage C, se trouvent dans le r�pertoire doc sous forme de fichier exploitable par troff/nroff. Il traite de concepts g�n�raux, des appels fonction/macro contr�lant le serveur, d'un exemple d'application, avec index et glossaire. Porter le code client utilis� avec les anciennes versions de MGR demande le remplacement de

 #include <mgr/mgr.h>
par
 #include <term.h> #include <dump.h>
et des clients utilisant les vieux B_XOR, B_CLEAR, etc. au lieu de BIT_XOR, BIT_CLR et autres peuvent �tre adapt�s en �crivant :
 #define OLDMGRBITOPS
 #include <mgr/mgr.h>

Compiler le code client demande en g�n�ral des options telles que :

 -I/usr/mgr/include   -L/usr/mgr/lib -lmgr
Vous pouvez obtenir un aper�u de l'interactivit� des fonctions serveur MGR en lisant et essayant le pilote de terminal mgr.el pour GNU Emacs, qui met en oeuvre la biblioth�que interface MGR en Elisp. L'habitude qui consiste � s'enqu�rir de l'�tat du serveur a pour risque de se casser la figure si le client attend en m�me temps un grand volume de notification d'�v�nements. Ce probl�me arrive lorsque une notification d'�v�nement (asynchrone) survient quand une r�ponse � une demande (synchrone) �tait attendue. Si cela arrive dans la pratique (non habituel) alors les fonctions de demande d'�tat MGR doivent �tre int�gr�es avec votre boucle de manipulation d'�v�nement.

La seule fonction manquante pour les dessins dans le protocole MGR est celle de remplissage de surfaces autres que les rectangles. Il y a un nouveau code pour manipuler la carte des couleurs globale, et aussi pour l'allocation et la d�livrance des indices de couleur appartenant � chaque fen�tre. Si vous voulez fouiller dans les progammes serveurs, vous trouverez le pilote de souris dans mouse.* et mouse_get, les abominables choses concernant l'interface clavier dans kbd.c, et l'interface vid�o dans les r�pertoires src/libbitblit/*. La proc�dure principale, plut�t l'initialisation, et la boucle d'entr�e de niveau sup�rieur sont dans mgr.c, enfin l'interpr�tation des s�quences d'�chappement dans put_window.c.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:19