moved from dev to prod

This commit is contained in:
root
2022-11-14 10:05:42 +01:00
parent ac142715b0
commit 43d589aa9b
1364 changed files with 27705 additions and 6101 deletions

View File

@@ -1,248 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<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) : Configuration Interface</title></head>
<body background="../images/conc2.gif" bgcolor="#ffffff">
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="ra.htm"><img src="../images/cprev.jpg" alt="Chapitre précédent" border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="26" hspace="2" width="26"></a><a href="in.htm"><img src="../images/csuiv.jpg" alt="Chapitre suivant" border="0" height="26" hspace="2" width="43"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></p>
</td>
<td valign="top" width="17%"><p align="left">Dernière
mise à jour :&nbsp;18/03/18</p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>CONFIGURATION
INTERFACE</strong></font></p>
</td>
<td align="center" width="17%">&nbsp;&nbsp;<a href="http://www.estat.com/getstats?serial=1390118421">&nbsp;</a>&nbsp;<br></td>
</tr>
</tbody></table>
</center></div>
<hr>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td colspan="2" align="center"><strong>Résumé</strong></td>
</tr>
<tr>
<td width="15%"><strong>Préfixe de l'interface</strong></td>
<td width="85%">Co</td>
</tr>
<tr>
<td width="15%"><strong>Nombre de fonctions</strong></td>
<td width="85%">3</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Ensemble de fonctions permettant
d'accéder à la configuration de <em><strong>VISION</strong></em>
(chemins, langues, ...)</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="CoGetLDVPath"></a><strong>Prototype</strong></td>
<td width="85%">char* cdecl <strong>CoGetLDVPath</strong>(void)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Un pointeur sur la chaine contenant le
chemin des LDV</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet de connaitre le répertoire de
stockage des LDV. Cela permet par exemple de charger un
fichier depuis le LDV (fichier de code DSP, fichier INI,
...). Ce chemin est également passé en paramètre à la
fonction <a href="../descrip.htm#getparams">GetParams</a>
(optionnelle).</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%"><a href="index.htm">VAPI</a> vous
retourne un pointeur sur la configuration de <em><strong>VISION</strong></em>.
Vous ne <strong>DEVEZ PAS</strong> modifier les données
accessibles par ce pointeur, si vous en avez besoin,
faites une copie !</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="CoGetCurrentLanguage"></a><strong>Prototype</strong></td>
<td width="85%">char* cdecl <strong>CoGetCurrentLanguage</strong>(void)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Un pointeur sur la chaine contenant la
langue actuellement utilisée par <em><strong>VISION</strong></em></td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet de connaitre la langue courante.
utilisé avec <a href="#CoGetLDVPath">CoGetLDVPath</a>,
cela permet de repérer le fichier INI associé à ce LDV
pour cette langue, il suffit de concaténer ces 2
chaînes.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%"><a href="index.htm">VAPI</a> vous
retourne un pointeur sur la configuration de <em><strong>VISION</strong></em>.
Vous ne <strong>DEVEZ PAS</strong> modifier les données
accessibles par ce pointeur, si vous en avez besoin,
faites une copie !</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>
</p><div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="CoGetFunctionOptimizations"></a><strong>Prototype</strong></td>
<td width="85%">unsigned long cdecl <strong>CoGetFunctionOptimizations</strong>(void
*function)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%">Pointeur sur la fonction <a href="index.htm">VAPI</a> dont on veut connaitre les
optimisations et si celles-ci seront utilisées</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Un mot long dont les bits ont les
significations suivantes:<br>
Bit 0 positionné : Cette fonction possède une
optimisation en code 68030<br>
Bit 1 positionné : Cette fonction possède une
optimisation en code DSP 56001</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet de savoir si une fonction possède
les optimisations spéciales afin de pouvoir l'indiquer
dans la fenêtre de progression (voir la fonction de <a href="pr.htm">l'interface Progress</a> : <a href="pr.htm#PrOptimize">PrOptimize</a>). Ce n'est pas
super utile mais ça en jette !</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Si la machine sur laquelle cet appel est
effectué ne possède pas le processeur ou le DSP en
question, la fonction retournera qu'elle ne possède pas
cette optimisation, c'est un peu logique puisque qu'elle
ne risque pas d'être utilisée...</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.03 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<hr>&nbsp;
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="CoGetProcessors"></a><strong>Prototype</strong></td>
<td width="85%">unsigned long cdecl <strong>CoGetProcessors</strong>(void)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%">Demande à <span style="font-style: italic; font-weight: bold;">VISION</span> quels processeurs sont à disposition</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Un mot long dont le masque de bits a les
significations suivantes:<br>0x02 : Un 68030 ou mieux est présent<br>0x20 : Un FPU (68881 ou mieux) ou mieux est présent<br>0x200: Un DSP 56001 est présent</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet de préparer le LDV à utiliser ses routines spécifiques selon les processeurs disponibles.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Le masque remonté peut être filtré par <span style="font-style: italic; font-weight: bold;">VISION</span>
si dans le fichier VISION.INI les variables Hide030, HideFPU ou HideDSP
sont positionées à 1 Cela est pratique pour simuler le fonctionement du
LDV sur un hardware différent.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.04 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="ra.htm"><img src="../images/cprev.jpg" alt="Chapitre précédent" border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="26" hspace="2" width="26"></a><a href="in.htm"><img src="../images/csuiv.jpg" alt="Chapitre suivant" border="0" height="26" hspace="2" width="43"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></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" -->18/03/18<!--webbot
bot="Timestamp" i-checksum="12484" endspan --></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>CONFIGURATION
INTERFACE</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</tbody></table>
</center></div>
</body></html>

View File

@@ -1,379 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<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) : INI Interface</title></head>
<body background="../images/conc2.gif" bgcolor="#ffffff">
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="co.htm"><img src="../images/cprev.jpg" alt="Chapitre précédent" border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="27" hspace="2" width="32"></a><a href="lo.htm"><img style="border: 0px solid ; width: 43px; height: 26px;" src="../images/csuiv.jpg" alt="Chapitre suivant" hspace="2"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></p>
</td>
<td valign="top" width="17%"><p align="left">Dernière
mise à jour : 19/05/18</p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>INI
INTERFACE</strong></font></p>
</td>
<td align="center" width="17%">&nbsp;&nbsp;</td>
</tr>
</tbody></table>
</center></div>
<hr>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td colspan="2" align="center"><strong>Résumé</strong></td>
</tr>
<tr>
<td width="15%"><strong>Préfixe de l'interface</strong></td>
<td width="85%">In</td>
</tr>
<tr>
<td width="15%"><strong>Nombre de fonctions</strong></td>
<td width="85%">6</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Ensemble de fonctions permettant de
manipuler des fichiers au format INI. Le nombre de
fichiers INI pouvant être gérés sumultanément est de
3.</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="InOpen"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>InOpen</strong>(char
*file)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> file : Nom du
fichier INI </td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Si &gt;= 0 : un identifiant de fichier
INI<br>
Si &lt; 0, il n'y a plus d'identifiant INI disponible
(les 3 sont déjà utilisés)</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Réserve un identifiant INI en vue
d'opérations sur un fichier INI. Si le fichier file
n'existe pas, un identifiant est tout de même renvoyé,
le fichier devra ensuite être sauvé par la fonction <a href="#InSaveAndClose">InSaveAndClose</a>.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">&nbsp;</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="InClose"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>InClose</strong>(long
hini)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> hini : un
identifiant de fichier INI précédemment renvoyé par <a href="#InOpen">InOpen</a></td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : Succès<br>
-1 : Identifiant invalide</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Libère l'identifiant de fichier INI. Ne
sauve pas les modifications, pour cela utiliser <a href="#InSaveAndClose">InSaveAndClose</a>.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">&nbsp;</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="InSaveAndClose"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>InSaveAndClose</strong>(long
hini, char *new_name)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> hini : un
identifiant de fichier INI précédemment renvoyé par <a href="#InOpen">InOpen</a><br>
<strong>[IN]</strong> new_name : nouveau nom de
sauvegarde. NULL si inchangé par rapport à l'appel à <a href="#InOpen">InOpen</a></td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : Succès<br>
-1 : Identifiant invalide ou sauvegarde impossible</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Génère un fichier INI en validant
définitivement toutes les modifications apportées
depuis l'appel à <a href="#InOpen">InOpen</a></td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">&nbsp;</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="InGetKey"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>InGetKey</strong>(long
hini, char *section, char *key, char *val_key)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> hini : un
identifiant de fichier INI précédemment renvoyé par <a href="#InOpen">InOpen</a><br>
<strong>[IN]</strong> section : nom de la section<br>
<strong>[IN] </strong>key : nom de la clé<br>
<strong>[OUT]</strong> val_key : buffer destiné à
recevoir la valeur de la clé en ASCII</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : Echec : la clé ou la section n'ont
pas été trouvées<br>
1 : Succès, la valeur ASCII de la clé de cette section
est présente dans val_key</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Recherche une clé particulière dans une
section particulière</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">&nbsp;</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="InSetKey"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>InSetKey</strong>(long
hini, char *section, char *key, char *val_key)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> hini : un
identifiant de fichier INI précédemment renvoyé par <a href="#InOpen">InOpen</a><br>
<strong>[IN]</strong> section : nom de la section<br>
<strong>[IN] </strong>key : nom de la clé<br>
<strong>[IN] </strong>val_key : buffer contenant la
valeur de la clé en ASCII</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : Echec : la clé ou la section n'ont
pas pu être crées ou modifiées par manque de mémoire<br>
1 : Succès</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Ajoute ou modifie une section et/ou une
clé</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Si la section ou la clé nexiste pas,
elle est crée</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="InGetOrSetKey"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>InGetOrSetKey</strong>(long
hini, char *section, char *key, char *val_key)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> hini : un
identifiant de fichier INI précédemment renvoyé par <a href="#InOpen">InOpen</a><br>
<strong>[IN]</strong> section : nom de la section<br>
<strong>[IN] </strong>key : nom de la clé<br>
<strong>[IN/OUT] </strong>val_key : buffer contenant la
valeur par défaut de la clé en ASCII (<strong>[IN]</strong>)
et/ou la valeur lue de la clé (<strong>[OUT]</strong>)</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : La clé a été relue avec succès<br>
1 : La clé a du être créee.</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet de retrouver la valeur d'une clé
dans une section et, si cette clé ou cette section
n'existe pas de la mettre en place avec une valeur par
défaut.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Très pratique !</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="InGetKeyFromFile"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>InGetKeyFromFile</strong>(char *file, char *section, char *key, char *val_key)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> file : Nom du
fichier INI<a href="in.htm#InOpen"></a><br>
<strong>[IN]</strong> section : nom de la section<br>
<strong>[IN] </strong>key : nom de la clé<br>
<strong>[IN/OUT] </strong>val_key : buffer contenant la
valeur par défaut de la clé en ASCII (<strong>[IN]</strong>)
et/ou la valeur lue de la clé (<strong>[OUT]</strong>)</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : La clé n'a pu être retrouvée (fichier/section/clé inexistant)<br>
1 : La clé a été relue avec succès.</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet
de retrouver la valeur d'une clé dans une section directement sans
crérer la clé comme dans la fonction précédente (pratique pour juste
relire une valeur ponctuellement)</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Très pratique !</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.04 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<font size="3"><br></font><pre><font size="3">Exemple d'utilisation: retrouver une clé propriétaire dans un LDV<br>long hini, must_save ;<br>short angle = 90; </font><font color="#000080" size="3"><em>/* Valeur par défaut */</em></font><font size="3">
char buffer[256] ;
char *path_ldv, *language ;
path_ldv = Vapi-&gt;</font><a href="co.htm#CoGetLDVPath"><font size="3">CoGetLDVPath</font></a><font size="3">() ; </font><font color="#000080" size="3">/* Récupère le chemin courant des LDV */</font><font size="3">
language = Vapi-&gt;</font><a href="co.htm#CoGetCurrentLanguage"><font size="3">CoGetCurrentLanguage</font></a><font size="3">() ; </font><font color="#000080" size="3">/* Récupère la langue actuelle */</font><font size="3">
if ( path_ldv &amp;&amp; language )
{
sprintf( buffer, "%s\\%s\\MYLDV.INI", path_ldv, language ) ;
hini = Vapi-&gt;</font><a href="#InOpen"><font size="3">InOpen</font></a><font size="3">( buffer ) ;<br> if ( hini &gt;= 0 )<br> {<br> sprintf( buffer, "%d", angle ) ; </font><font color="#000080" size="3"><em>/* Mise en place de la valeur par défaut */</em></font><font size="3">
must_save = Vapi-&gt;</font><a href="#InGetOrSetKey"><font size="3">InGetOrSetKey</font></a><font size="3">( hini, "Parameters", "Angle", buffer ) ;<br> angle = atoi( buffer ) ; </font><font color="#000080" size="3"><em>/* Soit angle vaudra 90 (valeur par défaut), soit la valeur donnée par le fichier INI */</em></font><font size="3">
if ( must_save ) Vapi-&gt;</font><a href="#InSaveAndClose"><font size="3">InSaveAndClose</font></a><font size="3">( hini ) ; </font><font color="#000080" size="3"><em>/* Sauvegarde si la clé n'existait pas */</em></font><font size="3">
else Vapi-&gt;</font><a href="#InClose"><font size="3">InClose</font></a><font size="3">( hini ) ; </font><font color="#000080" size="3"><em>/* Fermeture normale sinon */</em></font><font size="3">
}
}</font></pre>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="co.htm"><img src="../images/cprev.jpg" alt="Chapitre précédent" border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="26" hspace="2" width="26"></a><a href="lo.htm"><img style="border: 0px solid ; width: 43px; height: 26px;" src="../images/csuiv.jpg" alt="Chapitre suivant" hspace="2"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></p>
</td>
<td valign="top" width="17%"><p align="left">Dernière
mise à jour : 19/05/18</p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>INI
INTERFACE</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</tbody></table>
</center></div>
</body></html>

View File

@@ -1,177 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<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) : Présentation</title></head>
<body background="../images/conc2.gif" bgcolor="#ffffff">
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="26" hspace="2" width="26"></a><a href="pr.htm"><img src="../images/csuiv.jpg" alt="Chapitre suivant" border="0" height="26" hspace="2" width="43"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></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" -->18/03/18<!--webbot
bot="Timestamp" i-checksum="12442" endspan --></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>V
A P I</strong></font></p>
</td>
<td align="center" width="17%">&nbsp; <!--webbot
bot="HTMLMarkup" startspan --><a href="http://www.estat.com/getstats?serial=1390118421">&nbsp;</a>
<!--webbot
bot="HTMLMarkup" endspan --></td>
</tr>
</tbody></table>
</center></div>
<hr>
<p><a name="Présentation"></a><font size="4"><strong>1.
Présentation</strong></font></p>
<p>VAPI (<em><strong>VISION's</strong></em> Application
Programmer Interface) est une partie de <em><strong>VISION</strong></em>
destinée à vous aider dans le développement des LDV. Vous
devez bien vous douter qu'en interne <em><strong>VISION</strong></em>
utilise un tas de fonctions permettant la gestion des images
(conversions bit-plan &lt;--&gt; index TOS/VDI, manipulation de
rasters,...) ainsi que des fonctions d'interface utilisateur
(fenêtres de progression par exemple).<br>
L'idée de VAPI est de rendre disponible aux LDV ces fonctions
jusqu'içi réservées au fonctionnement interne de <em><strong>VISION</strong></em>.
Pour un LDV, l'intérêt est double:</p>
<ul>
<li>Son auteur évite de re-développer des fonctions déjà
existantes</li>
<li>Le LDV s'en trouve plus léger</li>
</ul>
<p>Bien entendu, <em><strong>VISION</strong></em> dispose de
pleins de fonctions (plus ou moins aisées et élégantes...), il
s'agit donc de faire un choix pour savoir lesquelles exporter.
D'autant plus que l'on peut imaginer que <font size="3"><em><strong>VISION</strong></em></font>
exporte aussi ses données comme le catalogue, le Browser
d'images, etc...<br>
Etant donné que cela prend quand même pas mal de temps à
concervoir et à réaliser, je ferais en sorte que <em><strong>VISION</strong></em>
exporte tout d'abord quelques fonctions
"élémentaires", puis, si le succès grandit, d'autres
viendront.</p>
<p>&nbsp;</p>
<p><a name="dev-kit"></a><font size="4"><strong>2. Kit de
développement</strong></font></p>
<p>Le kit de développement VAPI est identique à celui des LDV.
Vous le trouverez <a href="../kitdev.htm">ici</a>.</p>
<p>&nbsp;</p>
<p><a name="use"></a><font size="4"><strong>3. Utilisation</strong></font></p>
<p>Utiliser VAPI depuis un LDV est très simple : lorsque <em><strong>VISION</strong></em>
appelle la fonction <a href="../descrip.htm#capacit%E9s">GetLDVCapabilities</a>
du LDV, il vous fournit un pointeur sur une structure de type <a href="struct.htm#VAPI">VAPI</a>. Sans entrer dans le détail,
cette structure rassemble les informations suivantes:</p>
<ul>
<li>Un entête de type <a href="struct.htm#VAPI_HEADER">VAPI_HEADER</a></li>
<li>Une liste de fonctions "en vrac". Ces fonctions
sont en fait rassemblées par groupe (également appelée
interface). Chaque groupe étant terminé par une zone
mémoire non utilisée destinée à recevoir d'autres
fonctions du même groupe. Si de nouveaux groupes sont
crées, ils viendront à la fin de cette structure afin
de garantir la compatibilité ascendante.</li>
</ul>
<p>Maintenant, pour utiliser une fonction de VAPI, c'est très
simple, imaginez que vous vouliez initialiser le raster image
destination fourni passé en paramètre dans la fonction Run,
avec la couleur blanche (en bit-plans ou True Color), il vous
suffit d'insérer la ligne suivante:</p>
<p><strong>Vapi-&gt;RaImgWhite( &amp;out-&gt;Raster ) ;</strong></p>
<p>Cela suppose uniquement que vous avez récupéré le pointeur
Vapi fourni par <em><strong>VISION</strong></em> au travers de <a href="../descrip.htm#capacit%E9s">GetLDVCapabilities</a>
(automatiquement fait par le squelette).</p>
<p>La liste de toutes des fonctions définies par l'interface
VAPI sont disponibles ici. Désolé, mais toutes les interfaces
et les noms de fonctions possèdent des noms en anglais !</p>
<p>&nbsp;</p>
<p><a name="interfaces"></a><font size="4"><strong>4. Interfaces
disponibles</strong></font></p>
<p><font size="3">Les interfaces regroupent des fonctions du
même centre d'intérêt. Voici la liste (que j'espère
non-exhaustive) des interfaces actuelles:</font></p>
<table border="1" width="90%">
<tbody><tr>
<td align="center" width="25%"><a href="pr.htm"><font size="3">Progress Interface</font></a></td>
<td align="center" width="25%"><a href="ra.htm"><font size="3">Raster Interface</font></a></td>
<td align="center" width="25%"><a href="co.htm">Configuration
Interface</a></td>
<td align="center" width="25%"><a href="in.htm">INI
Interface</a></td>
</tr>
<tr>
<td align="center"><a href="me.htm">MEM Interface</a></td>
<td align="center"><a href="lo.htm">Logging Interface</a>&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
</tr>
</tbody></table>
<p>&nbsp;</p>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="26" hspace="2" width="26"></a><a href="pr.htm"><img src="../images/csuiv.jpg" alt="Chapitre suivant" border="0" height="26" hspace="2" width="43"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></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" -->18/03/18<!--webbot
bot="Timestamp" i-checksum="12442" endspan --></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>V
A P I</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</tbody></table>
</center></div>
</body></html>

View File

@@ -1,160 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<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) : Configuration Interface</title></head>
<body background="../images/conc2.gif" bgcolor="#ffffff">
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="in.htm"><img style="border: 0px solid ; width: 46px; height: 26px;" src="../images/cprev.jpg" alt="Chapitre précédent" hspace="2"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="26" hspace="2" width="26"></a><a href="struct.htm"><img style="border: 0px solid ; width: 43px; height: 26px;" src="../images/csuiv.jpg" alt="Chapitre suivant" hspace="2"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></p>
</td>
<td valign="top" width="17%"><p align="left">Dernière
mise à jour : 26/08/18</p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>LOGGING INTERFACE</strong></font></p>
</td>
<td align="center" width="17%">&nbsp;</td>
</tr>
</tbody></table>
</center></div>
<hr>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td colspan="2" align="center"><strong>Résumé</strong></td>
</tr>
<tr>
<td width="15%"><strong>Préfixe de l'interface</strong></td>
<td width="85%">Lo</td>
</tr>
<tr>
<td width="15%"><strong>Nombre de fonctions</strong></td>
<td width="85%">2</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Ensemble de fonctions permettant
d'envoyer des informations à un fichier de logging</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="LoDoLog"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <span style="font-weight: bold;">L</span><strong>oDoLog</strong>(unsigned long level, char* format, ...)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%">level:
bitmask composant le niveau de logging du message: LL_FATAL, LL_ERROR,
LL_WARNING, LL_INFO, LL_PERF, LL_MEM, LL_GW2, LL_GW1, LL_DEBUG,LL_KCODE,&nbsp; LL_TMP2, LL_TMP1<br>format: chaine de formatage des donneés passées ensuite (identique à format de sprintf)<br>...: liste dynamique des paramètres à passer (cf. <a href="https://en.wikipedia.org/wiki/Ellipsis_%28computer_programming%29">'C' ellipsis</a>)</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Nombre d'octets écrits dans le fichier de logging</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet
d'envoyer un message vers le fichier de logging typiquement à des fins
de debug, d'informations de performance ou d'erreur.<br>Notez que si le paramètre level n'est pas dans le bitmask en cours pour le logging <span style="font-weight: bold; font-style: italic;">VISION</span><span style="font-style: italic;"> (</span>voir
fonction suivante), cette fonction retournera tout de suite sans
procéder à un formatage style printf qui pourrait s'avérer couteux en temps
CPU.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%"><a href="index.htm"></a>Exemple d'utilisation:<br>Vapi-&gt;LoDoLog(LL_DEBUG, "%ld pixels computed or deduced", np) ;<br></td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.04 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td width="15%"><a name="LoGetLogLevel"></a><strong>Prototype</strong></td>
<td width="85%">unsigned long cdecl <span style="font-weight: bold;">L</span><strong>oGetLogLevel</strong>(void)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Le bitmask de valeurs LL_... actuellement utilisé par <em><strong>VISION</strong></em></td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet
de connaitre le niveau de logging actuel afin de ne pas effectuer de
calcul inutile si le niveau en cours implique que le prochain appel à
LoDoLog n'écrira rien dans le fichier de logging.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">N'utilisez
cette fonction que si vous avez des calculs un peu lourd à effectuer
avant d'appeler LoDoLog. LoDoLog ne fera pas de formatage inutile si le
niveau de logging est insuffisant pour générer un message quelconque
dans le fichier de logging.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.04 ou supérieure</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center><br></center></div>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" width="17%"><a href="in.htm"><img style="border: 0px solid ; width: 46px; height: 26px;" src="../images/cprev.jpg" alt="Chapitre précédent" hspace="2"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Retour au sommaire" border="0" height="26" hspace="2" width="26"></a><a href="struct.htm"><img style="border: 0px solid ; width: 43px; height: 26px;" src="../images/csuiv.jpg" alt="Chapitre suivant" hspace="2"></a></td>
<td rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icoprinc.gif" height="71" width="59"></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 rowspan="2" align="center" valign="top" width="8%"><p align="center"><img src="../images/icointro.gif" height="71" width="59"></p>
</td>
<td valign="top" width="17%"><p align="left"><br></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip">Télécharger la doc</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>LOGGING</strong></font><font size="4"><strong>&nbsp;INTERFACE</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</tbody></table>
</center></div>
</body></html>

View File

@@ -1,276 +0,0 @@
<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) : MEM Interface</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="index.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="32"
height="27"></a><a href="struct.htm"><img
src="../images/csuiv.jpg" alt="Chapitre suivant"
border="0" hspace="2" width="43" 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>MEM
INTERFACE</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>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" colspan="2"><strong>Résumé</strong></td>
</tr>
<tr>
<td width="15%"><strong>Préfixe de l'interface</strong></td>
<td width="85%">Me</td>
</tr>
<tr>
<td width="15%"><strong>Nombre de fonctions</strong></td>
<td width="85%">3</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Ensemble de fonctions permettant de
manipuler des zones mémoires, plutôt orienté image.</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="MeSCopyMemory8"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>MeSCopyMemory8</strong>(char
*dst, char *src, unsigned long nb_elems_dst, unsigned
long nb_elems_src)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[OUT]</strong> dst : Pointeur sur
la zone mémoire à écrire<br>
<strong>[IN]</strong> src : Pointeur sur la zone mémoire
à recopier<br>
<strong>[OUT]</strong> nb_elems_dst : Nombre d'éléments
8 bits contenus dans la zone de destination<br>
<strong>[IN]</strong> nb_elems_src : Nombre d'éléments
8 bits contenus dans la zone à recopier</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Recopie une zone mémoire constituée
d'elements 8 bits en respectant le facteur d'échelle
donné par le nombre d'éléments de chaque zone. Très
pratique pour effectuer des changements d'echelle sur une
ligne. Ne gère pas le chevauchement des zones source et
destination.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Bien que le nombre d'éléments soit
codé sur un entier 32 bits, ce nombre d'éléments ne
doit pas dépasser 65535 pour des raisons d'optimisation
interne sur le facteur d'échelle. Si un CPU 030 ou
supérieur est détecté, <em><strong>VISION</strong></em>
utilise automatiquement une routine plus optimisée.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="MeSCopyMemory16"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>MeSCopyMemory16</strong>(char
*dst, char *src, unsigned long nb_elems_dst, unsigned
long nb_elems_src)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[OUT]</strong> dst : Pointeur sur
la zone mémoire à écrire<br>
<strong>[IN]</strong> src : Pointeur sur la zone mémoire
à recopier<br>
<strong>[OUT]</strong> nb_elems_dst : Nombre d'éléments
16 bits contenus dans la zone de destination<br>
<strong>[IN]</strong> nb_elems_src : Nombre d'éléments
16 bits contenus dans la zone à recopier</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Recopie une zone mémoire constituée
d'elements 16 bits en respectant le facteur d'échelle
donné par le nombre d'éléments de chaque zone. Très
pratique pour effectuer des changements d'echelle sur une
ligne. Ne gère pas le chevauchement des zones source et
destination.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Bien que le nombre d'éléments soit
codé sur un entier 32 bits, ce nombre d'éléments ne
doit pas dépasser 32767 pour des raisons d'optimisation
interne sur le facteur d'échelle. Si un CPU 030 ou
supérieur est détecté, <em><strong>VISION</strong></em>
utilise automatiquement une routine plus optimisée.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="MeSCopyMemory32"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>MeSCopyMemory32</strong>(char
*dst, char *src, unsigned long nb_elems_dst, unsigned
long nb_elems_src)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[OUT]</strong> dst : Pointeur sur
la zone mémoire à écrire<br>
<strong>[IN]</strong> src : Pointeur sur la zone mémoire
à recopier<br>
<strong>[OUT]</strong> nb_elems_dst : Nombre d'éléments
32 bits contenus dans la zone de destination<br>
<strong>[IN]</strong> nb_elems_src : Nombre d'éléments
32 bits contenus dans la zone à recopier</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Recopie une zone mémoire constituée
d'elements 32 bits en respectant le facteur d'échelle
donné par le nombre d'éléments de chaque zone. Très
pratique pour effectuer des changements d'echelle sur une
ligne. Ne gère pas le chevauchement des zones source et
destination.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Bien que le nombre d'éléments soit
codé sur un entier 32 bits, ce nombre d'éléments ne
doit pas dépasser 16383 pour des raisons d'optimisation
interne sur le facteur d'échelle. Si un CPU 030 ou
supérieur est détecté, <em><strong>VISION</strong></em>
utilise automatiquement une routine plus optimisée.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<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="index.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="26"
height="26"></a><a href="struct.htm"><img
src="../images/csuiv.jpg" alt="Chapitre suivant"
border="0" hspace="2" width="43" 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>MEM
INTERFACE</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</table>
</center></div>
</body>
</html>

View File

@@ -1,107 +0,0 @@
<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 (LDV) : Sommaire</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%"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
hspace="2" width="46" height="26"><a href="sommaire.htm"><img
src="../images/csom.jpg" alt="Retour au sommaire"
border="0" hspace="2" width="26" height="26"></a><a
href="preambule.htm"><img src="../images/csuiv.jpg"
alt="Chapitre suivant" border="0" hspace="2" width="43"
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" -->09/09/00<!--webbot
bot="Timestamp" i-checksum="12366" 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
O M M A I R E</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>&nbsp;</p>
<p>&nbsp;</p>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" width="17%"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
hspace="2" width="46" height="26"><a href="sommaire.htm"><img
src="../images/csom.jpg" alt="Retour au sommaire"
border="0" hspace="2" width="26" height="26"></a><a
href="preambule.htm"><img src="../images/csuiv.jpg"
alt="Chapitre suivant" border="0" hspace="2" width="43"
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" -->09/09/00<!--webbot
bot="Timestamp" i-checksum="12366" 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
O M M A I R E</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</table>
</center></div>
</body>
</html>

View File

@@ -1,290 +0,0 @@
<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) : Progress Interface</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="index.htm"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
border="0" hspace="2" width="46" height="26"></a><a
href="index.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="26"
height="26"></a><a href="ra.htm"><img
src="../images/csuiv.jpg" alt="Chapitre suivant"
border="0" hspace="2" width="43" 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>PROGRESS
INTERFACE</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>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" colspan="2"><strong>Résumé</strong></td>
</tr>
<tr>
<td width="15%"><strong>Préfixe de l'interface</strong></td>
<td width="85%">Pr</td>
</tr>
<tr>
<td width="15%"><strong>Nombre de fonctions</strong></td>
<td width="85%">4</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Ensemble de fonctions permettant d'agir
sur les fenêtres de progression de <em><strong>VISION</strong></em>
afin de prévenir l'utilisateur de la progression du
travail</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="PrSetProg"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>PrSetProg</strong>(long
pc)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> pc : pourcentage de
travail accompli (0...100)</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Met à jour l'indicateur de pourcentage
de la fenêtre de progression</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Si le paramètre pc est hors limite, il
sera ramené à sa limite la plus proche. Le type long
est utilisé pour assurer la comptabilité entre
compilateurs</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="PrSetText"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>PrOptimize</strong>(long
mask)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN] </strong>mask : masque de
bits ayant la signification suivante:<br>
Bit 0 : des instructions 68030 seront utilisées<br>
Bit 1 : le DSP sera utilisé</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Indique à l'utilisateur que des
optimisations en 68030 et/ou DSP seront utilisées lors
du travail. Cela a pour effet d'afficher un
&quot;030!&quot; ou &quot;DSP!&quot; dans la fenêtre de
progression.<br>
Si votre LDV comporte plusieurs phases dans le
traitement, vous pouvez aussi bien valider qu'invalider
l'affichage des optimisations, il suffit d'appeler cette
fonction avec le bon masque en paramètre (valable pour
toute version de VAPI à partir de la 1.02).</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Le type long est utilisé pour assurer la
comptabilité entre compilateurs</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="PrOptimize"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>PrSetText</strong>(long
no_line, char *text)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> no_line : index de
la zone de texte concernée (0, 1, ou 2)<br>
<strong>[IN] </strong>text : pointeur sur la chaine de
caractères à afficher</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Affiche dans la zone de texte concernée
de la fenêtre de progression le texte spécifié</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Le type long est utilisé pour assurer la
comptabilité entre compilateurs. Si le paramètre
no_line est hors limite, rien ne se passe.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="PrSetProgEx"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>PrSetProgEx</strong>(long
pc)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> pc : pourcentage de
travail accompli (0...100)</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : L'utilisateur n'a pas demandé
l'annulation de l'opération en cours (Run à priori)<br>
!= 0 : L'utilisateur a demandé l'annulation</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Met à jour l'indicateur de pourcentage
de la fenêtre de progression et renvoit en retour une
valeur non nulle si une demande d'annulation a été
demandée par l'utilisateur</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Si le paramètre pc est hors limite, il
sera ramené à sa limite la plus proche. Le type long
est utilisé pour assurer la comptabilité entre
compilateurs.<br>
Utilisé avec le flag <a href="../defines.htm#LDVF">LDVF_SUPPORTCANCEL</a>,
cette fonction permet de gérer l'annulation de la
fonction <a href="../descrip.htm#run">Run</a> d'un LDV.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" width="17%"><a href="index.htm"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
border="0" hspace="2" width="46" height="26"></a><a
href="index.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="26"
height="26"></a><a href="ra.htm"><img
src="../images/csuiv.jpg" alt="Chapitre suivant"
border="0" hspace="2" width="43" 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>PROGRESS
INTERFACE</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</table>
</center></div>
</body>

View File

@@ -1,900 +0,0 @@
<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) : Raster Index Interface</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="pr.htm"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
border="0" hspace="2" width="46" height="26"></a><a
href="index.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="32"
height="27"></a><a href="co.htm"><img
src="../images/csuiv.jpg" alt="Chapitre suivant"
border="0" hspace="2" width="43" 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>RASTER
INTERFACE</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>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" colspan="2"><strong>Résumé</strong></td>
</tr>
<tr>
<td width="15%"><strong>Préfixe de l'interface</strong></td>
<td width="85%">Ra</td>
</tr>
<tr>
<td width="15%"><strong>Nombre de fonctions</strong></td>
<td width="85%">16</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Ensemble de fonctions permettant de
manipuler des rasters image sous différents formats
(bit-plan, True Color, formats ATARI, spécifique,
standard...).</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaImgWhite"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaImgWhite</strong>(MFDB
*img)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN/OUT]</strong> img : pointeur
sur l'image à traiter</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Initialise un raster image avec la
couleur blanche. Le format attendu est le <a
href="../notions.htm#formats d'images">format ATARI</a>.
En mode palette (img-&gt;fd_nplanes &lt;= 8), le raster
est initialisé avec des bits mis à 0 (index TOS/VDI =
0), l'indice 0 de la palette est généralement
positionné sur la couleur blanche.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Cette fonction effectue la transformation
&quot;sur place&quot;.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaIs15Bits"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>RaIs15Bits</strong>(void)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : Format True Color sur 16 bits ou
nombre de bits de la résolution graphique différent de
16<br>
1 : Nombre de plans de la résolution graphique sur 16
bits mais codage des pixels sur 15 bits (5 par
composante)</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Indique si le codage True Color de la
résolution graphique courante est sur 15 ou 16 bits</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Au cas où il est important de savoir si
le nombre de bits de codage de la composante verte est
sur 5 ou 6 bits, on peut par cette fonction savoir si
tous les 16 bits du mode True Color sur 16 plans sont
utilisés (la composante verte est alors codée sur 6
bits au lieu de 5 et RaIs15Bits renvoie 0) ou si seuls 15
bits sont utiles (la composante verte est alors codée
sur 5 bits et RaIs15Bits renvoie 1)</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaTCConvert"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaTCConvert</strong>(MFDB
*img)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN/OUT]</strong> img : pointeur
sur l'image à traiter</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Transforme un raster True Color au format
spécifique de la carte graphique en un raster True Color
au <a href="../notions.htm#formats d'images">format ATARI</a></td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Cette fonction effectue la transformation
&quot;sur place&quot;. Si <em><strong>VISION</strong></em>
se rend compte que le format spécifique de la machine
est le format ATARI, la fonction rend immédiatement la
main, sans effectuer de traitement. Cette fonction est
l'inverse de <a href="#RiTCInvConvert">RaTCInvConvert</a></td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaTCInvConvert"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaTCInvConvert</strong>(MFDB
*img)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN/OUT]</strong> img : pointeur
sur l'image à traiter</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Transforme un raster True Color au <a
href="../notions.htm#formats d'images">format ATARI</a>
en un raster True Color au format spécifique de la carte
graphique</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Cette fonction effectue la transformation
&quot;sur place&quot;. Si <em><strong>VISION</strong></em>
se rend compte que le format spécifique de la machine
est le format ATARI, la fonction rend immédiatement la
main, sans effectuer de traitement. Cette fonction est
l'inverse de <a href="#RiTCConvert">RaTCInvConvert</a></td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaInd2RasterInit"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaInd2RasterInit</strong>(MFDB
*img, long width)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN/OUT]</strong> img : pointeur
sur l'image à traiter<br>
<strong>[IN] </strong>width : largeur (en pixels)
maximale à ne pas dépasser. width ne peut dépasser
32767. Le codage sur un entier 32 bits ne sert qu'à
assurer la compatibilité avec les compilateurs 32 bits.</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Prépare des opérations de transfert
d'index vers un raster image au <a
href="../notions.htm#formats d'images">format ATARI</a>.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Le paramètre width peut paraître
redondant avec img-&gt;fd_w mais il est là parce que <em><strong>VISION</strong></em>
positionne toujours img-&gt;fd_w à un multiple de 16
(optimisations internes). width permet donc de ne pas
être limité à une largeur multiple de 16 pixels.<br>
<u>Intéressant</u> : si width est multiple de 16, la
fonction RaInd2Raster sera bien plus rapide !</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaInd2Raster"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaInd2Raster</strong>(unsigned
char*indexes, long nb_indexes)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> indexes : pointeur
sur le tableau d'indices TOS à converir vers le raster
précédemment initialisé avec la fonction <a
href="#RaInd2RasterInit">RaInd2RasterInit</a><br>
<strong>[IN] </strong>nb_indexes : Nombre d'index dans le
tableau pointé par indexes</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Convertit les indices TOS en données
bit-plan du raster</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Une fois l'initialisation faite par la
fonction <a href="#RaInd2RasterInit">RaInd2RasterInit</a>,
on peut appeler cette fonction autant de fois qu'on le
veut afin de transformer le flux de données (indices
TOS) vers le raster image. VAPI mémorise la dernière
position atteinte dans le raster. Par exemple :<br>
Vapi-&gt;RaInd2RasterInit( img, wished_width ) ;<br>
for ( y = 0; y &lt; img-&gt;fd_h; y++ )<br>
{<br>
GetTosIndexes( y, tab_indexes, &amp;nb_indexes ) ; /*
Recupere les indices TOS pour la ligne y */<br>
Vapi-&gt;RaInd2Raster( tab_indexes, nb_indexes ) ; /*
Envoi vers le raster au format ATARI bit-plan */<br>
}</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaRaster2Ind"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaRaster2Ind</strong>(short
*pt_bitplan, long nb_pts, long nb_planes, unsigned char
*tos_indexes)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> pt_bitplan :
pointeur sur le début des données raster à convertir
(démarrage sur un multiple de 16 pixels)<br>
<strong>[IN] </strong>nb_pts : Nombre de points à
convertir<br>
<strong>[IN] </strong>nb_planes : Nombre de plans du
raster image. nb_planes ne peut prendre que les valeurs
1, 2, 4, ou 8. Le codage sur un entier 32 bits ne sert
qu'à assurer la compatibilité avec les compilateurs 32
bits.<br>
<strong>[OUT] </strong>tos_indexes : pointeur vers le
tableau d'indices TOS recevant les données (doit être
dimensionné à nb_pts octets)</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Convertit des données bit-plan du raster
en indices TOS</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Fonction réciproque de <a
href="#RaInd2Raster">RaInd2Raster</a>. Attention ! A
cause des optimisations internes de la fonction, nb_pts
DOIT être multiple de 16, sinon vous n'aurez pas les
derneiers points (si vous spécifiez 35 points, vous n'en
n'aurez que 32 en retour). Il vous faut donc ajuster
nb_pts avant l'appel et sur-dimensionner de 16 points
votre buffer tos_indexes de réception pour être
tranquille...</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaGetTOS2VDIArray"></a><strong>Prototype</strong></td>
<td width="85%">unsigned char *cdecl <strong>RaGetTOS2VDIArray</strong>(long
nb_planes)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> nb_planes : Nombre
de plans. nb_planes ne peut prendre que les valeurs 1, 2,
4, ou 8. Le codage sur un entier 32 bits ne sert qu'à
assurer la compatibilité avec les compilateurs 32 bits.</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Pointeur sur le tableau de converion
index TOS --&gt; index VDI</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Récupérer le tableau de correspondance
entre les indices TOS et VDI, pour un nombre de plans
donné</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Fonction réciproque de <a
href="#RaGetVDI2TOSArray">RaGetVDI2TOSArray</a></td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaGetVDI2TOSArray"></a><strong>Prototype</strong></td>
<td width="85%">unsigned char *cdecl <strong>RaGetVDI2TOSArray</strong>(long
nb_planes)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> nb_planes : Nombre
de plans. nb_planes ne peut prendre que les valeurs 1, 2,
4, ou 8. Le codage sur un entier 32 bits ne sert qu'à
assurer la compatibilité avec les compilateurs 32 bits.</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Pointeur sur le tableau de converion
index VDI --&gt; index TOS</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Récupérer le tableau de correspondance
entre les indices VDI et TOS, pour un nombre de plans
donné</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Fonction réciproque de <a
href="#RaGetTOS2VDIArray">RaGetTOS2VDIArray</a></td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.00 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaGetImgSize"></a><strong>Prototype</strong></td>
<td width="85%">unsigned long *cdecl <font size="3"><strong>RaGetImgSize</strong></font>(long
width, long height, long nplanes)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> width : Largeur de
l'image en nombre de pixels<br>
<strong>[IN]</strong> height : Hauteur de l'image en
nombre de pixels<br>
<strong>[IN]</strong> nplanes : Nombre de plans pour
coder un pixel<br>
Le codage sur un entier 32 bits ne sert qu'à assurer la
compatibilité avec les compilateurs 32 bits.</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">La taille mémoire nécessaire (en
octets) pour contenir une telle image.</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet de connaitre la taille d'une image
compte tenu des contraintes d'alignement VDI sur 16
pixels.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">&nbsp;</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaRasterAlloc"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>RaRasterAlloc</strong>(MFDB
*raster)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN/OUT]</strong> raster :
Structure VDI décrivant une image</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">0 : OK, l'image a été allouée (pointé
par le champ fd_addr de la structure MFDB)<br>
!= 0 : Erreur (mémoire)</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Alloue une image d'après les champs
fd_w, fd_h et fd_nplanes de la strucuture MFDB.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Si succès le champ fd_addr pointe vers
les données image (non initialisées), sinon fd_addr
vaut NULL<br>
fd_wdwidth est aussi mis à jour. Les autres champs
restent inchangés.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaRasterFree"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaRasterFree</strong>(MFDB
*raster)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN/OUT]</strong> raster :
Structure VDI décrivant une image</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Libère une image précédemment allouée
par <a href="#RaRasterAlloc">RaRasterAlloc</a></td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Tous les champs de la structure MFDB sont
remis à zéro après libération.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.02 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaTC15RemapColors"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaTC15RemapColors</strong>(<a
href="struct.htm#REMAP_COLORS">REMAP_COLORS</a> *rc)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> rc : Pointeur sur
une structure de type <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
définissant la table de redéfinition des couleurs
élémentaires, le début du buffer à modifier et le
nombre de points</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Modifie la répartition actuelle des
couleurs d'une suite de points en True Color 15 bits. Les
champs red, green et blue de la structure <a
href="struct.htm#REMAP_COLORS">REMAP_COLORS</a> doivent
pointer sur des tableaux de 32 (32 = 2^5) éléments,
chaque élément du tableau devant définir la valeur à
substituer à l'indice de ce tableau, par exemple la
formule:<br>
red[i] = i ; (0 &lt;= i &lt; 32) ne change rien pour la
table de la composante rouge (i sera remplacé par i).<br>
Attention ! La nouvelle valeur substitué doit appartenir
à l'intervalle [0,31].<br>
Exemple tout bête : augmenter la luminosité de 100% sur
toutes les composantes:<br>
new_val = i * 2 ;<br>
if ( new_val &gt; 31) new_val = 31 ; /* Important ! */<br>
red[i] = green[i] = blue[i] = new_val ;</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Cette fonction travaille sur le <u>format
spécifique de la machine</u> ! Inutile donc de passer
par les fonctions <a href="#RaTCConvert">RaTCConvert</a>
et <a href="#RaTCInvConvert">RaTCInvConvert</a>.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.03 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaTC16RemapColors"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaTC16RemapColors</strong>(<a
href="struct.htm#REMAP_COLORS">REMAP_COLORS</a> *rc)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> rc : Pointeur sur
une structure de type <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
définissant la table de redéfinition des couleurs
élémentaires, le début du buffer à modifier et le
nombre de points</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Modifie la répartition actuelle des
couleurs d'une suite de points en True Color 16 bits. Les
champs red, green et blue de la structure <a
href="struct.htm#REMAP_COLORS">REMAP_COLORS</a> doivent
pointer sur des tableaux de 32 (32 = 2^5) éléments pour
red et blue, et 64 (64=2^6) pour green, chaque élément
du tableau devant définir la valeur à substituer à
l'indice de ce tableau, par exemple la formule:<br>
red[i] = i ; (0 &lt;= i &lt; 32) ne change rien pour la
table de la composante rouge (i sera remplacé par i).<br>
Attention ! La nouvelle valeur substitué doit appartenir
à l'intervalle [0,31] pour red et blue et [0,63] pour
green.<br>
Exemple tout bête : augmenter la luminosité de 100% sur
la composante verte:<br>
new_val = i * 2 ;<br>
if ( new_val &gt; 63) new_val = 63 ; /* Important ! */<br>
green[i] = new_val ; /* Pour 0 &lt;= i &lt; 64) */</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Cette fonction travaille sur le <u>format
spécifique de la machine</u> ! Inutile donc de passer
par les fonctions <a href="#RaTCConvert">RaTCConvert</a>
et <a href="#RaTCInvConvert">RaTCInvConvert</a>.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.03 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaTC32RemapColors"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaTC32RemapColors</strong>(<a
href="struct.htm#REMAP_COLORS">REMAP_COLORS</a> *rc)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> rc : Pointeur sur
une structure de type <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
définissant la table de redéfinition des couleurs
élémentaires, le début du buffer à modifier et le
nombre de points</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Modifie la répartition actuelle des
couleurs d'une suite de points en True Color 32 bits. Les
champs red, green et blue de la structure <a
href="struct.htm#REMAP_COLORS">REMAP_COLORS</a> doivent
pointer sur des tableaux de 256 (256=2^8) éléments,
chaque élément du tableau devant définir la valeur à
substituer à l'indice de ce tableau, par exemple la
formule:<br>
red[i] = i ; (0 &lt;= i &lt; 256) ne change rien pour la
table de la composante rouge (i sera remplacé par i).<br>
Attention ! La nouvelle valeur substitué doit appartenir
à l'intervalle [0,255].<br>
Exemple tout bête : baisser la luminosité de 20% sur
toutes les composantes:<br>
new_val = (80 * i) / 100 ;<br>
/* Notons que on retombe forcément dans la plage [0;255]
...*/<br>
red[i] = green[i] = blue[i] = new_val ; /* Pour 0 &lt;= i
&lt; 256) */</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Cette fonction travaille sur le <u>format
spécifique de la machine</u> ! Inutile donc de passer
par les fonctions <a href="#RaTCConvert">RaTCConvert</a>
et <a href="#RaTCInvConvert">RaTCInvConvert</a>.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.03 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaRasterRotateGetDstMFDB"></a><strong>Prototype</strong></td>
<td width="85%">void cdecl <strong>RaRasterRotateGetDstMFDB</strong>(MFDB
*in, MFDB *out, long angle)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> in : MFDB
décrivant l'image dont on veut effectuer la rotation<br>
<strong>[OUT]</strong>out : MFDB de destination<br>
<strong>[IN]</strong> angle : angle en degrés de la
rotation</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">Aucun</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Permet de connaitre la taille de l'image
après rotation en vue d'une allocation par exemple. tous
les champs du MFDB out sont mis à jour SAUF fd_addr car
l'image destination n'est pas allouée.</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Généralement, cette fonction est
appelée avant la fonction suivante</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.03 ou supérieure</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td width="15%"><a name="RaRasterRotate"></a><strong>Prototype</strong></td>
<td width="85%">long cdecl <strong>RaRasterRotate</strong>(MFDB
*in, MFDB *out, long angle, long flags)</td>
</tr>
<tr>
<td width="15%"><strong>Paramètres</strong></td>
<td width="85%"><strong>[IN]</strong> in : MFDB
décrivant l'image dont on veut effectuer la rotation<br>
<strong>[OUT]</strong>out : MFDB de destination<br>
<strong>[IN]</strong> angle : angle en degrés de la
rotation<br>
<strong>[IN]</strong> flags : drapeau dont les bits ont
la signification suivante:<br>
Bit 0 positionné : Demande à <a href="index.htm">VAPI</a>
d'afficher une barre de progression</td>
</tr>
<tr>
<td width="15%"><strong>Retour</strong></td>
<td width="85%">ELDV_NOERROR : tout va bien<br>
ELDV_NOTENOUGHMEMORY : pas assez de mémoire<br>
ELDV_CANCELLED : (possible seulement si la progression a
été demandée)<br>
ELDV_GENERALFAILURE : erreur inconnue</td>
</tr>
<tr>
<td width="15%"><strong>Description</strong></td>
<td width="85%">Efectue la rotation d'angle spécifié su
le MFDB source. Le MFDB destination doit avoir été
alloué, sinon la fonction l'allouera. Notez que cette
dernière solution est un peu dangereuse car c'est
maintenant au LDV de gérer sa libération par <a
href="#RaRasterFree">RaRasterFree</a>.<br>
La bonne nouvelle c'est que <a href="index.htm">VAPI</a>
se charge de prendre en compte le format VDI standard si
nécessaire !</td>
</tr>
<tr>
<td width="15%"><strong>Remarques</strong></td>
<td width="85%">Si l'angle est multiple de 90°, des
routines spéciales sont appelées afin d'éviter des
calculs approximatifs et inutiles de sinus et cosinus.</td>
</tr>
<tr>
<td width="15%"><strong>Version VAPI</strong></td>
<td width="85%">1.03 ou supérieure</td>
</tr>
</table>
</center></div>
<hr>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" width="17%"><a href="pr.htm"><img
src="../images/cprev.jpg" alt="Chapitre précédent"
border="0" hspace="2" width="46" height="26"></a><a
href="index.htm"><img src="../images/csom.jpg"
alt="Retour au sommaire" border="0" hspace="2" width="26"
height="26"></a><a href="co.htm"><img
src="../images/csuiv.jpg" alt="Chapitre suivant"
border="0" hspace="2" width="43" 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>RASTER
INTERFACE</strong></font></p>
</td>
<td valign="top" width="17%">&nbsp; </td>
</tr>
</table>
</center></div>
</body>
</html>

View File

@@ -1,235 +0,0 @@
<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>