Files
FireBee_Setup/tools/vision/LDV/doc/vapi/struct.htm
2022-11-14 10:05:42 +01:00

236 lines
8.8 KiB
HTML

<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>Documentation VISION (VAPI) : Structures</title>
</head>
<body background="../images/conc2.gif" bgcolor="#FFFFFF">
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" width="17%"><a href="in.htm"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
border="0" hspace="2" width="46" height="26"></a><a
href="sommaire.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="26"
height="26"></a></td>
<td align="center" valign="top" rowspan="2" width="8%"><p
align="center"><img src="../images/icoprinc.gif"
width="59" height="71"></p>
</td>
<td width="33%"><p align="center"><font color="#0000FF"
size="5"><strong>Documentation </strong><em><strong>VISION
(VAPI)</strong></em></font></p>
</td>
<td align="center" valign="top" rowspan="2" width="8%"><p
align="center"><img src="../images/icointro.gif"
width="59" height="71"></p>
</td>
<td valign="top" width="17%"><p align="left">Dernière
mise à jour : <!--webbot bot="Timestamp" startspan
s-type="EDITED" s-format="%d/%m/%y" -->04/01/02<!--webbot
bot="Timestamp" i-checksum="12484" endspan --></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a
href="..\..\..\download/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>S
T R U C T U R E S</strong></font></p>
</td>
<td align="center" width="17%">&nbsp; <!--webbot
bot="HTMLMarkup" startspan --><A HREF="http://www.estat.com/getstats?serial=1390118421">
<IMG SRC="http://perso.estat.com/cgi-bin/perso/1390118421?page=DocVisionLDV"
BORDER=0></A>
<!--webbot
bot="HTMLMarkup" endspan --></td>
</tr>
</table>
</center></div>
<hr>
<p><a name="VAPI_HEADER"></a><font size="4"><strong> VAPI_HEADER</strong></font></p>
<pre><font size="4"><strong>typedef struct
{
unsigned short Version ;
unsigned short StrSize ;
void* Global ;
void cdecl (*GEMMessageLoop)(void *msg) ;
char RFU[116] ;
}
VAPI_HEADER ;</strong></font></pre>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="15%"><strong>Champ</strong></td>
<td align="center" width="10%"><strong>Type</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td align="center" width="15%">Version</td>
<td align="center" width="10%">unsigned short</td>
<td width="75%">Du type 0x0101. Ce numéro est
incrémenté à chaque évolution. Ce numéro de version
est destiné à effectuer éventuellement des contrôles
par le LDV. Si la version de VAPI ne contient pas les
interfaces ou fonctions nécessaires, le LDV doit
renvoyer le code d'erreur <a href="../defines.htm#ELDV">ELDV_BADVAPIVERSION</a></td>
</tr>
<tr>
<td align="center">StrSize</td>
<td align="center">unsigned short</td>
<td>Taille de la structure VAPI</td>
</tr>
<tr>
<td align="center">Global</td>
<td align="center">void *</td>
<td>Pointeur sur le tableau global (fourni par l'AES) de <em><strong>VISION</strong></em>.
Ce tableau permet au LDV d'utiliser ensuite MT_AES. Pour
plus de détails, consultez la documentation des LDG. Le
type est void * et non pas int * pour ne pas risquer de
rentrer en conflit avec le compilateur utilisé (int a
une taille de 16 bits sous PURE C et 32 bits sous GCC).
Il appartient donc au programmeur de LDV de
&quot;caster&quot; ce pointeur vers le type entier 16
bits convenant au compilateur.</td>
</tr>
<tr>
<td align="center">GEMMessageLoop</td>
<td align="center">void cdecl (*)(void *)</td>
<td>Pointeur sur la fonction de boucle de messages GEM de
<em><strong>VISION</strong></em>. Cela permet au LDV,
s'il utilise l'AES, de filtrer parmi les messages qu'il
reçoit, ceux qui lui sont destinés et ceux destinés à
<em><strong>VISION</strong></em>. Comme le LDV est lancé
par <em><strong>VISION</strong></em>, c'est lui qui
reçoit les messages destinés à <em><strong>VISION</strong></em>
et devrait donc les renvoyer vers <em><strong>VISION</strong></em>
au travers de cette fonction. Cela est surtout utile pour
les messages de type Redraw, sinon les fenêtres de <em><strong>VISION</strong></em>
ne seront plus dessinées pendant que le LDV a la main.
Le paramètre msg est de type void * et non pas int *
pour la même raison que précédemment.</td>
</tr>
<tr>
<td align="center" width="15%">RFU</td>
<td align="center" width="10%">116 octets</td>
<td width="75%">Pour usage futur. Ne pas toucher !</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p><a name="VAPI"></a><font size="4"><strong> VAPI</strong></font></p>
<pre><font size="4"><strong>typedef struct
{
</strong></font><a href="#VAPI_HEADER"><font size="4"><strong>VAPI_HEADER</strong></font></a><font
size="4"><strong> Header ;
/* Progress Interface */
....
/* Raster Interface */
...
/* More interfaces to come ! */
}
VAPI ;</strong></font></pre>
<p>La description brute de cette structure ne présente que peu
d'intérêt, voyez plutôt la liste des fonctions disponibles.</p>
<p>&nbsp;</p>
<p><a name="REMAP_COLORS"></a><font size="4"><strong>REMAP_COLORS</strong></font></p>
<pre><font size="4"><strong>typedef struct
{
unsigned char *red ;
unsigned char *green ;
unsigned char *blue ;
void *pt_img ;
long nb_pts ;
}
REMAP_COLORS ;</strong></font></pre>
<p>Un pointeur sur une telle structure doit être passé aux
fonctions <a href="ra.htm#RaTC15RemapColors">RaTCxxRemapColors</a>.<br>
red, green et blue pointent sur un tableau définisant les
valeurs des composantes élémentaires.<br>
pt_img pointe sur le premier pixel à modifier<br>
nb_pts est le nombre de points à partir de pt_img à modifier
suivant les tableaux red, green et blue.</p>
<p>&nbsp;</p>
<p><a name="fonctions"></a><font size="4"><strong> Fonctions
disponibles</strong></font></p>
<p>Ces fonctions sont directement accessibles au travers du
pointeur vapi interne aux LDV, il suffit d'appeler ainsi les
fonctions désirées:<br>
<strong>Vapi-&gt;NomDeLaFonction( ListeDesParamètres ) ;</strong><br>
N'oubliez pas de tester la valeur de retour si la fonction est
suceptible d'en renvoyer une !</p>
<p>Les fonctions sont regroupées en interfaces dans les
chapitres suivants. Afin de retrouver facilement l'interface
d'appartenance de fonctions, tous les noms de fonctions du même
groupe commencent par les mêmes 2 lettres (par exemple
&quot;Pr&quot; pour les fonctions du groupe de progression).</p>
<p>&nbsp;</p>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" width="17%"><a href="in.htm"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
border="0" hspace="2" width="46" height="26"></a><a
href="sommaire.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="26"
height="26"></a></td>
<td align="center" valign="top" rowspan="2" width="8%"><p
align="center"><img src="../images/icoprinc.gif"
width="59" height="71"></p>
</td>
<td width="33%"><p align="center"><font color="#0000FF"
size="5"><strong>Documentation </strong><em><strong>VISION
(VAPI)</strong></em></font></p>
</td>
<td align="center" valign="top" rowspan="2" width="8%"><p
align="center"><img src="../images/icointro.gif"
width="59" height="71"></p>
</td>
<td valign="top" width="17%"><p align="left">Dernière
mise à jour : <!--webbot bot="Timestamp" startspan
s-type="EDITED" s-format="%d/%m/%y" -->04/01/02<!--webbot
bot="Timestamp" i-checksum="12484" endspan --></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a
href="..\..\..\download/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>S
T R U C T U R E S</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</table>
</center></div>
</body>
</html>