Files
FireBee_Setup/tools/vision/ldv/doc/english/struct.htm

465 lines
17 KiB
HTML
Raw Blame History

<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 (LDV): 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="defines.htm"><img
src="images/cprev.jpg" alt="Previous Chapter "
border="0" hspace="2" width="46" height="26"></a><a
href="index.htm"><img src="images/csom.jpg"
alt="Back to content " border="0" hspace="2" width="26"
height="26"></a><a href="kitdev.htm"><img
src="images/csuiv.jpg" alt="Next Chapter " 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><em>VISION </em>Documentation
<em>(LDV)</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">Last update:
<!--webbot bot="Timestamp" startspan
s-type="EDITED" s-format="%d/%m/%y" -->29/10/00<!--webbot
bot="Timestamp" i-checksum="12232" endspan --></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a
href="..\..\download/dvldv.zip">Download documentation</a></p>
</td>
<td width="33%"><p align="center"><font size="4"><strong>5.
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="LDV_INFOS"></a><font size="4"><strong>5.1 LDV_INFOS</strong></font></p>
<p><font size="3"><strong>typedef struct<br>
{<br>
short StrSize ;<br>
short Type ;<br>
char Authors[1+45] ;<br>
<br>
LDV_CAPS Caps[10] ;<br>
<br>
char RFU[16] ;<br>
}<br>
LDV_INFOS ;</strong></font></p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="10%"><strong>Field</strong></td>
<td align="center" width="15%"><strong>Type</strong></td>
<td align="center" width="75%"><strong>Comments</strong></td>
</tr>
<tr>
<td align="center" width="10%">StrSize</td>
<td align="center" width="15%">short</td>
<td width="75%">LDV_INFOS structure size. Must be
initialised with sizeof(LDV_INFOS). The aim of this field
is to prevent <em><strong>VISION</strong></em> from exploding its
internal data if the size of this structure should change.</td>
</tr>
<tr>
<td align="center" width="10%">Type</td>
<td align="center" width="15%">short</td>
<td width="75%">Must be equal to <a href="defines.htm#TLDV">TLDV_MODIFYIMG</a>,
<a href="defines.htm#TLDV">TLDV_LOADIMG</a> or <a
href="defines.htm#TLDV">TLDV_SAVEIMG</a>, or even more in the
future. Currently, only the <a
href="defines.htm#TLDV">TLDV_MODIFYIMG</a> type is accepted
by <em><strong>VISION</strong></em></td>
</tr>
<tr>
<td align="center" width="10%">Authors</td>
<td align="center" width="15%">char[1+45]</td>
<td width="75%">Name of the author(s). 45 characters are available
for this purpose.</td>
</tr>
<tr>
<td align="center" width="10%">Caps</td>
<td align="center" width="15%"><a href="#LDV_CAPS">LDV_CAPS</a>[10]</td>
<td width="75%">Table describing the capabilities of the LDV for
each number of plane. The LDV can handle a maximum of 9 differents
planes because the structure table must end with a structure where
fields are initialised with 0.</td>
</tr>
<tr>
<td align="center" width="10%">RFU</td>
<td align="center" width="15%">char[16]</td>
<td width="75%">Reserved for future use. Don't touch!</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p><a name="LDV_CAPS"></a><font size="4"><strong>5.2 LDV_CAPS</strong></font></p>
<p><font size="3"><strong>typedef struct<br>
{<br>
char NbPlanes ; <br>
char NbPlanesOut ;<br>
unsigned long Flags ; <br>
}<br>
LDV_CAPS ;</strong></font></p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="10%"><strong>Field</strong></td>
<td align="center" width="15%"><strong>Type</strong></td>
<td align="center" width="75%"><strong>Comments</strong></td>
</tr>
<tr>
<td align="center" width="10%">NbPlanes</td>
<td align="center" width="15%">char</td>
<td width="75%">Number of planes for this capability (1,
2, 4, 8 , 16, 24 (not handled), 32)</td>
</tr>
<tr>
<td align="center" width="10%">NbPlanesOut</td>
<td align="center" width="15%">char</td>
<td width="75%">Number of planes on output for this capability.
For a <a href="defines.htm#TLDV">TLDV_MODIFYIMG</a> LDV type,
this field must be equal to NbPlanes</td>
</tr>
<tr>
<td align="center" width="10%">Flags</td>
<td align="center" width="15%">unsigned long</td>
<td width="75%">Combination (| symbol) of the following masks:<ul>
<li><a href="defines.htm#LDVF">LDVF_STDFORMAT</a>:
LDV accepts the standard format</li>
<li><a href="defines.htm#LDVF">LDVF_ATARIFORMAT</a>:
LDV accepts the ATARI format</li>
<li><a href="defines.htm#LDVF">LDVF_SPECFORMAT</a>:
LDV accepts the format specific to the graphic
card</li>
<li><a href="defines.htm#LDVF">LDVF_SUPPORTPREVIEW</a>:
LDV has a Preview function (highly recommanded,
even if it only calls Run)</li>
<li><a href="defines.htm#LDVF">LDVF_AFFECTPALETTE</a>:
LDV modifies the palette (NbPlanes must be less than or
equal to 8)</li>
<li><a href="defines.htm#LDVF">LDVF_SUPPORTPROG</a>:
LDV will call the <a
href="vapi/pr.htm#PrSetProg">PrSetProg</a> function of
<a
href="vapi/index.htm#Pr<50>sentation">VAPI</a> interface
(recommanded if the processing takes more than 2 seconds)</li>
<li><a href="defines.htm#LDVF">LDVF_OPINPLACE</a>:
LDV knows how to work on the source image, without the
need for <em><strong>VISION</strong></em> to allocate the
destination (it is said the transformation in done in
place). In this case, the out parameter of the Run
function is the same as the in parameter. As far as
possible, use this flag, this will lessen the memory
consumption.</li>
<li><a href="defines.htm#LDVF">LDVF_REALTIMEPARAMS</a>:
LDV does Preview (small image displayed by the
<em><strong>VISION</strong></em> dialogue) fast enough for
the modification of LDV's parameters by the sliders to be
smooth (at least 1 image per second)</li>
</ul>
</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p><a name="LDV_IMAGE"></a><font size="4"><strong>5.3 LDV_IMAGE</strong></font></p>
<p><strong>typedef struct<br>
{<br>
short RasterFormat ;<br>
MFDB Raster ; <br>
LDV_PALETTE Palette ; /* Structure given if Raster.fd_nplanes
&lt;= 8 */<br>
}<br>
LDV_IMAGE ;</strong></p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="10%"><strong>Field</strong></td>
<td align="center" width="15%"><strong>Type</strong></td>
<td align="center" width="75%"><strong>Comments</strong></td>
</tr>
<tr>
<td align="center" width="10%">RasterFormat</td>
<td align="center" width="15%">short</td>
<td width="75%"><a href="defines.htm#LDVF">LDVF_STDFORMAT</a>,
<a href="defines.htm#LDVF">LDVF_ATARIFORMAT</a> or <a
href="defines.htm#LDVF">LDVF_SPECFORMAT</a></td>
</tr>
<tr>
<td align="center" width="10%">Raster</td>
<td align="center" width="15%">MFDB</td>
<td width="75%">The classical ATARI MFDB describing
the image data (excluding the palette)</td>
</tr>
<tr>
<td align="center" width="10%">Palette</td>
<td align="center" width="15%"><a href="#LDV_PALETTE">LDV_PALETTE</a></td>
<td width="75%">Pointer on a structure <a
href="#LDV_PALETTE">LDV_PALETTE</a> describing the palette
associated with the image if the number of bits is less than
or equal to 8.</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p><a name="LDV_PALETTE"></a><font size="4"><strong>5.4
LDV_PALETTE</strong></font></p>
<p><strong>typedef struct<br>
{<br>
short NbColors ; <br>
VDI_ELEMENTPAL *Pal ;<br>
}<br>
LDV_PALETTE ;</strong></p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="10%"><strong>Field</strong></td>
<td align="center" width="15%"><strong>Type</strong></td>
<td align="center" width="75%"><strong>Comments</strong></td>
</tr>
<tr>
<td align="center" width="10%">NbColors</td>
<td align="center" width="15%">short</td>
<td width="75%">The number of elements in the table pointed by
Palette (i.e., 2, 4, 16 ou 256 colours)</td>
</tr>
<tr>
<td align="center" width="10%">Pal</td>
<td align="center" width="15%"><a
href="#LDV_VDIELEMENTALPAL">VDI_ELEMENTALPAL</a> *</td>
<td width="75%">Pointer on a table of NbColors
elements of the type VDI_ELEMENTPAL. The proposed palette is
indexed by VDI indexes (those used by the VDI functions such as
line drawing) and not TOS ones (those you get from
<a href="vapi/index.htm#Pr<50>sentation">VAPI</a> raster functions).
Thankfully, <a href="vapi/index.htm#Pr<50>sentation">VAPI</a> has
functions to convert VDI to TOS indexes in both directions.</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p><a name="LDV_VDIELEMENTALPAL"></a><font size="4"><strong>5.5
VDI_ELEMENTALPAL</strong></font></p>
<p><strong>typedef struct<br>
{<br>
short Red ;<br>
short Green ;<br>
short Blue ;<br>
}<br>
VDI_ELEMENTPAL ;</strong></p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="10%"><strong>Field</strong></td>
<td align="center" width="15%"><strong>Type</strong></td>
<td align="center" width="75%"><strong>Comments</strong></td>
</tr>
<tr>
<td align="center" width="10%">Red</td>
<td align="center" width="15%">short</td>
<td width="75%">Component <font color="#FF0000">Red</font>
of the VDI index of the palette (0 &lt;= index &lt;= 1000)</td>
</tr>
<tr>
<td align="center">Green</td>
<td align="center">short</td>
<td>Component <font color="#00FF00">Green</font> of the VDI
index of the palette (0 &lt;= index &lt;= 1000)</td>
</tr>
<tr>
<td align="center">Blue</td>
<td align="center">short</td>
<td>Component <font color="#0000FF">Blue</font>
of the VDI index of the palette (0 &lt;= index &lt;= 1000)</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p><a name="LDV_PARAMS"></a><font size="4"><strong>5.6 LDV_PARAMS</strong></font></p>
<p><strong>typedef struct<br>
{<br>
short x1, y1, x2, y2 ;<br>
short NbParams ;<br>
LDV_BASICPARAM Param[LDVNBMAX_PARAMETERS] ;<br>
}<br>
LDV_PARAMS ;</strong></p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="10%"><strong>Field</strong></td>
<td align="center" width="15%"><strong>Type</strong></td>
<td align="center" width="75%"><strong>Comments</strong></td>
</tr>
<tr>
<td align="center" width="10%">x1</td>
<td align="center" width="15%">short</td>
<td width="75%">X position of the left top border of the
rectangle to be processed
(0 for a full image)</td>
</tr>
<tr>
<td align="center">y1</td>
<td align="center">short</td>
<td>Y position of the left top border of the
rectangle to be processed
(0 for a full image)</td>
</tr>
<tr>
<td align="center">x2</td>
<td align="center">short</td>
<td>X position of the right bottom border of the rectable
to be processed
(image width - 1 for a full image)</td>
</tr>
<tr>
<td align="center">y2</td>
<td align="center">short</td>
<td>YX position of the right bottom border of the rectable
to be processed
(image height - 1 for a full image)</td>
</tr>
<tr>
<td align="center">NbParams</td>
<td align="center">short</td>
<td>Number of valid parameters in the Param table</td>
</tr>
<tr>
<td align="center">Param</td>
<td align="center"><a href="#LDV_BASICPARAM">LDV_BASICPARAM</a></td>
<td>Table containing the parameters entered from the
<em><strong>VISION</strong></em> user interface</td>
</tr>
</table>
</center></div>
<p>&nbsp;</p>
<p><a name="LDV_BASICPARAM"></a><font size="4"><strong>5.7
LDV_BASICPARAM (UNION)</strong></font></p>
<p><strong>typedef union<br>
{<br>
short s ;<br>
float f ;<br>
}<br>
LDV_BASICPARAM ;</strong></p>
<div align="center"><center>
<table border="2" width="100%">
<tr>
<td align="center" width="10%"><strong>Field</strong></td>
<td align="center" width="15%"><strong>Type</strong></td>
<td align="center" width="75%"><strong>Comments</strong></td>
</tr>
<tr>
<td align="center" width="10%">s</td>
<td align="center" width="15%">short</td>
<td width="75%">Parameter value (if this parameter, defined in the
<a href="descrip.htm#fichier ini"> associated .INI
</a> is an integer)</td>
</tr>
<tr>
<td align="center">f</td>
<td align="center">float</td>
<td>Parameter value (if this parameter, defined in the
<a href="descrip.htm#fichier ini"> associated .INI
</a> is a Float. Currently, the type Float is not handled, and
since compilers can differ in the way they code floats, I
strongly recommend to use Shorts).</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="defines.htm"><img
src="images/cprev.jpg" alt="Previous chapter "
border="0" hspace="2" width="46" height="26"></a><a
href="index.htm"><img src="images/csom.jpg"
alt="Back to content " border="0" hspace="2" width="26"
height="26"></a><a href="kitdev.htm"><img
src="images/csuiv.jpg" alt="Next Chapter " 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><em>VISION </em>Documentation
<em>(LDV)</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">Last updpate:
<!--webbot bot="Timestamp" startspan
s-type="EDITED" s-format="%d/%m/%y" -->29/10/00<!--webbot
bot="Timestamp" i-checksum="12232" endspan --></p>
</td>
</tr>
<tr>
<td width="17%"><p align="center"><a
href="..\..\download/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>
</table>
</center></div>
</body>
</html>