183 lines
7.8 KiB
HTML
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> </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>
|
|
|
|
</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 <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->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> </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%"> </td>
|
|
</tr>
|
|
</tbody></table>
|
|
</center></div>
|
|
</body></html> |