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

183 lines
7.8 KiB
HTML

<!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>VISION Documentation (VAPI): Structures</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="Previous Chapter " border="0" height="26" hspace="2" width="46"></a><a href="sommaire.htm"><img src="../images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></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><em>VISION </em>Documentation
<em>(VAPI)</em></strong></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">Last update 08/04/18</p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5Cdownload/dvldv.zip"><br></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%"></td>
</tr>
</tbody></table>
</center></div>
<hr>
<p><a name="VAPI_HEADER"></a><font size="4"><strong> VAPI_HEADER</strong></font></p>
<p><strong>typedef struct<br>
{<br>
unsigned short Version ; <br>
unsigned short StrSize ;<br>
void *Global ;<br>
void cdecl (*GEMMessageLoop)(void *msg) ;<br>
char RFU[116] ;<br>
}<br>
VAPI_HEADER ;</strong></p>
<div align="center"><center>
<table border="2" width="100%">
<tbody><tr>
<td align="center" width="15%"><strong>Field</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%">Of type 0x0101. This number is incremented for
each evolution. This version number will be used eventually by
the LDV to make controls. If the VAPI version does not contain
the necessary interfaces or functions, the LDV must return the
<a href="../defines.htm#ELDV">ELDV_BADVAPIVERSION</a> error code</td>
</tr>
<tr>
<td align="center">StrSize</td>
<td align="center">unsigned short</td>
<td>Size of the VAPI structure</td>
</tr>
<tr>
<td align="center">Global</td>
<td align="center">void *</td>
<td>Pointer on the global table (given by the AES) of <em><strong>VISION</strong></em>.
This table the allows the LDV to use MT_AES. For more details, see
the LDGs documentation. The type is void * and not int *, to avoid
conflicts with compilers (int is 16 bits under Pure C and 32 bits
under GCC).
It is then up to the LDV programer to
"cast" this pointer to the 16 bits type of a
particular compiler.</td>
</tr>
<tr>
<td align="center">GEMMessageLoop</td>
<td align="center">void cdecl (*)(void *)</td>
<td>Pointer on the GEM message loop function of
<em><strong>VISION</strong></em>. This allows the LDV,
if it uses AES, to filter, in the message it receives, those where
recipient is the LDV, and those where recipient is
<em><strong>VISION</strong></em>. Since the LDV is launched by
<em><strong>VISION</strong></em>, it receives the messsages where
recipient should be <em><strong>VISION</strong></em>, and thus
should forward them to <em><strong>VISION</strong></em> using this
function. This is especially useful for the Redraw messages,
otherwise <em><strong>VISION</strong></em> windows will not be
drawn while the LDV is running.
The msg parameter is of the type void * and not int *, for the same
reason as previously.</td>
</tr>
<tr>
<td align="center" width="15%">RFU</td>
<td align="center" width="10%">116 octets</td>
<td width="75%">Reserved for future use. Don't touch!</td>
</tr>
</tbody></table>
</center></div>
<p>&nbsp;</p>
<p><a name="VAPI"></a><font size="4"><strong> VAPI</strong></font></p>
<p><strong>typedef struct<br>
{<br>
</strong><a href="#VAPI_HEADER"><strong>VAPI_HEADER</strong></a><strong>
Header ;<br>
<br>
/* Progress Interface */<br>
....<br>
<br>
/* Raster Interface */<br>
...<br>
<br>
/* More interfaces to come! */<br>
}<br>
VAPI ;</strong></p>
<p>The raw description of this structure is not really of interest, let's
rather see the list of functions available.</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<br>{<br> unsigned char *red ;<br> unsigned char *green ;<br> unsigned char *blue ;<br> void *pt_img ;<br> long nb_pts ;<br>}<br>REMAP_COLORS ;</strong></font></pre>
<p>Such a pointer on this structure shall be passed to&nbsp;<a href="ra.htm#RaTC15RemapColors">RaTCxxRemapColors</a> functions.<br>
red, green and blue point to an array defining elementary values.<br>
pt_img points to the first pixel to change<br>
nb_pts is the number of pixels to change starting at pt_img and using ref, green and blue arrays.</p>
<br>
<p><a name="functions"></a><font size="4"><strong>Functions available
</strong></font></p>
<p>These functions are directly accessed through the VAPI pointer internal
to the LDVs, the desired functions have just to be called as follows:<br>
<strong>Vapi-&gt;FunctionName( ListeOfParameters ) ;</strong><br>
Do not forget to test the return value is the function may return one!
</p>
<p>Functions are grouped by interfaces in the following chapters. To find
easily the an interface, all the function names in the same group begin
with the same 2 letteres (e.g.,
"Pr" for functions of the progress group).</p>
<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="ra.htm"><img src="../images/cprev.jpg" alt="Previous chapter " border="0" height="26" hspace="2" width="46"></a><a href="sommaire.htm"><img src="../images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></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><em>VISION </em>Documentation
<em>(VAPI)</em></strong></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">Last update: 08/04/18</p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a href="..%5C..%5Cdownload/dvldv.zip">Download documentation</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>
</tbody></table>
</center></div>
</body></html>