initial commit
This commit is contained in:
290
tools/vision/LDV/doc/english/defines.htm
Normal file
290
tools/vision/LDV/doc/english/defines.htm
Normal file
@@ -0,0 +1,290 @@
|
||||
<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): Defines</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="descrip.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="struct.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>4.
|
||||
D E F I N E S</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--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_STATUS"></a><font size="4"><strong>4.1 Type of return codes
|
||||
</strong></font></p>
|
||||
|
||||
<p><font size="4"><strong>typedef long LDV_STATUS</strong></font></p>
|
||||
|
||||
<p><font size="3">The type of LDV functions return code is a 32 bits
|
||||
integer. Why? First, because some compilers (e.g., GCC) return a 32 bits
|
||||
integer even when specifying a 16 bits integer (short). Secondly, this
|
||||
allows for future extensions of the return code in the remaining bits.
|
||||
</font></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="ELDV"></a><font size="4"><strong>4.2 Return codes</strong></font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="10%"><strong>Define</strong></td>
|
||||
<td align="center" width="75%"><strong>Description</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">ELDV_NOERROR</td>
|
||||
<td width="75%">No error. The function worked correctly
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">ELDV_INVALIDPARAMETER</td>
|
||||
<td width="75%">At least one of the parameters is not valid</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">ELDV_NBPLANESNOTSUPPORTED</td>
|
||||
<td width="75%">The function does not support the number of planes
|
||||
passed in parameters</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">ELDV_NOTENOUGHMEMORY</td>
|
||||
<td>Not enough memory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">ELDV_PREVIEWNOTSUPPORTED</td>
|
||||
<td>The Preview function is not defined (points to
|
||||
NULL)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">ELDV_RUNNOTSUPPORTED</td>
|
||||
<td>The Run function is not defined (points to NULL
|
||||
I wonder who would be dumb enough to write an LDV that does
|
||||
nothing!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">ELDV_BADVAPIVERSION</td>
|
||||
<td>The available version of <a href="vapi/index.htm#Pr<50>sentation">VAPI</a>
|
||||
does not allow to use the LDV (some functions or interfaces
|
||||
are missing)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">ELDV_IMGFORMATMISMATCH</td>
|
||||
<td>The image formats handled by the LDV do not allow VISION to
|
||||
provide an image compatible with one of the expected formats.
|
||||
Normally, the error comes from the LDV.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">ELDV_GENERALFAILURE</td>
|
||||
<td>General failure, reason not specified.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p>These codes can be sent back by LDV functions or by
|
||||
<em><strong>VISION</strong></em> to the user to display the corresponding
|
||||
error messsage. Think also to use the LDV_SUCCESS macro which indicates
|
||||
whether the code passed as a parameter is a success or an error.
|
||||
</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="TLDV"></a><font size="4"><strong>4.3 Module types</strong></font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="10%"><strong>Define</strong></td>
|
||||
<td align="center" width="75%"><strong>Description</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">TLDV_MODIFYIMG</td>
|
||||
<td width="75%">Image modifier module. Can also be used to
|
||||
initialise an image by overwriting completely its content, without
|
||||
taking into account the current data.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">TLDV_LOADIMG</td>
|
||||
<td width="75%">Image loader module.
|
||||
<em><strong>VISION</strong></em>
|
||||
does not handle it yet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">TLDV_SAVEIMG</td>
|
||||
<td width="75%">Image saving module. <em><strong>VISION</strong></em>
|
||||
does not handle it yet</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="LDVF"></a><font size="4"><strong>4.4 Information on possibilities</strong></font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="10%"><strong>Define</strong></td>
|
||||
<td align="center" width="75%"><strong>Description</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">LDVF_STDFORMAT</td>
|
||||
<td width="75%">The LDV accepts the standard image format as
|
||||
defined by ATARI (bitplanes one after the others). This format is
|
||||
not available in True Color.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="10%">LDVF_ATARIFORMAT</td>
|
||||
<td width="75%">The LDV accept ATARI format (interlaced bitplanes
|
||||
(ST), Falcon True Color mode)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">LDVF_SPECFORMAT</td>
|
||||
<td>The LDV accepts the specific format of the graphic card</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">LDVF_SUPPORTPREVIEW</td>
|
||||
<td>The LDV provides a Preview function (highly recommanded, even
|
||||
if it calls Run)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">LDVF_AFFECTPALETTE</td>
|
||||
<td>The LDV modifies the palette (bitplanes modes only). In this
|
||||
case, operation on palette must always be done "in
|
||||
place". <em><strong>VISION</strong></em> will systematically
|
||||
save the palette of the image in the Undo buffer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">LDVF_SUPPORTPROG</td>
|
||||
<td>The LDV will call function <a
|
||||
href="vapi/pr.htm#PrSetProg">PrSetProg</a> of the
|
||||
<a href="vapi/index.htm#Pr<50>sentation">VAPI</a> interface
|
||||
(recommanded is the process takes more than 2 secondes).
|
||||
Before calling <a href="descrip.htm#run">Run</a>, <em><strong>VISION</strong></em>
|
||||
will display a progess bar for the LDV and will make it disapear
|
||||
afterwards. By calling <a
|
||||
href="vapi/pr.htm#PrSetProg">PrSetProg</a> from the
|
||||
<a href="vapi/index.htm#Pr<50>sentation">VAPI</a> interface, the LDV
|
||||
will be able to inform user on the progress of the process.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">LDVF_OPINPLACE</td>
|
||||
<td>The LDV knows how to work on the source image, without
|
||||
<em><strong>VISION</strong></em> having to allocate the
|
||||
destination (the transformation is said to occur in place). In
|
||||
this case, the out parameter of the <a
|
||||
href="descrip.htm#run">Run</a> function is the same as in. As far
|
||||
as possible, use this flag, this spares memory. The presence of
|
||||
this flag impose obviously that the LDV does not modify the size
|
||||
of the image.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">LDVF_REALTIMEPARAMS</td>
|
||||
<td>The LDV does the <a
|
||||
href="descrip.htm#run">Run</a> function fast enough in Preview
|
||||
mode (small image displayed by the
|
||||
<em><strong>VISION</strong></em>) dialog box for the modification
|
||||
of the LDV parameters done with the sliders to be smooth enough
|
||||
(at least 1 image per second). In this case,
|
||||
<em><strong>VISION</strong></em> will call the Prewiew function
|
||||
when the user modifies a parameter control slider, without any
|
||||
need to press the "Preview" button</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p><font size="3">These flags must be combined with the "logical
|
||||
or" (|).
|
||||
</font></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="17%"><a href="descrip.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="struct.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>D
|
||||
E F I N E S</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
</html>
|
||||
427
tools/vision/LDV/doc/english/descrip.htm
Normal file
427
tools/vision/LDV/doc/english/descrip.htm
Normal file
@@ -0,0 +1,427 @@
|
||||
<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): Description</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="notions.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="defines.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>3.
|
||||
D E S C R I P T I O N</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--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>To summarise, here is what happens between
|
||||
<em><strong>VISION</strong></em> and an LDV:</p>
|
||||
|
||||
<p>0. Init (done a single time at the first user call using LDVs).
|
||||
<em><strong>VISION</strong></em>
|
||||
loads the <a href="#capacit<69>s">GetLDVCapabilities</a> function of each
|
||||
LDV, calls the function and memorizes the capabilities of each LDV to limit
|
||||
future hard drive accesses, then launches each LDV</p>
|
||||
|
||||
<p>1. <em><strong>VISION</strong></em> loads the LDV</p>
|
||||
|
||||
<p>2. <em><strong>VISION</strong></em> calls the PreRun function</p>
|
||||
|
||||
<p>3. <em><strong>VISION</strong></em> calls the Run
|
||||
(or Preview) function</p>
|
||||
|
||||
<p>4. <em><strong>VISION</strong></em> unloads the LDV</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="capacit<69>s"></a><font size="4"><strong>3.1 LDV Capabilities
|
||||
</strong></font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td width="15%"><strong>Prototype</strong></td>
|
||||
<td width="85%"><a href="struct.htm#LDV_INFOS">LDV_INFOS</a>
|
||||
* cdecl GetLDVCapabilities(<a href="vapi/struct.htm#VAPI">VAPI</a>
|
||||
*vapi)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN] </strong>vapi: pointer on the
|
||||
<a href="vapi/index.htm#Pr<50>sentation">VAPI</a> interface
|
||||
provided by <em><strong>VISION</strong></em>. This pointer must
|
||||
be memorized for future use.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">A pointer on the structure <a
|
||||
href="struct.htm#LDV_INFOS">LDV_INFOS</a> stored in the
|
||||
LDV (the skeleton declares the LdvInfos variable of the type
|
||||
<a href="struct.htm#LDV_INFOS">LDV_INFOS</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Responsibilities</strong></td>
|
||||
<td width="85%">This function is completely written in the
|
||||
skeleton. The works to be done is to fill the structure of the
|
||||
type <ahref="struct.htm#LDV_INFOS">LDV_INFOS</a> of the LDV
|
||||
skeleton.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="prerun"></a><font size="4"><strong>3.2 PreRun function
|
||||
</strong></font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td width="15%"><strong>Prototype</strong></td>
|
||||
<td width="85%"><a href="defines.htm#LDV_STATUS">LDV_STATUS</a>
|
||||
cdecl PreRun(<a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
*in, <a href="struct.htm#LDV_PARAMS">LDV_PARAMS</a>
|
||||
*params, <a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
*out)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> in: pointer on
|
||||
the structure <a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
describing the image of <em><strong>VISION<br>
|
||||
</strong></em><strong>[IN / OUT]</strong> params:
|
||||
pointeur on a structure <a
|
||||
href="struct.htm#LDV_PARAMS">LDV_PARAMS</a> indicating the
|
||||
area to modify</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%"><a href="defines.htm#ELDV">A success or error
|
||||
code</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Responsibilities</strong></td>
|
||||
<td width="85%">Must mention to <em><strong>VISION</strong></em>
|
||||
the memory to allocate and the part to be saved by the UNDO
|
||||
function:<ol>
|
||||
<li>If the LDV needs it (<a href="defines.htm#LDVF">LDVF_OPINPLACE</a>
|
||||
not defined in the structure <a
|
||||
href="struct.htm#LDV_CAPS">LDV_CAPS</a>),
|
||||
out->Raster.fd_w and out->Raster.fd_h
|
||||
must contain the size of the image to allocate for the
|
||||
destination. This is this image that will be displayed by
|
||||
<em><strong>VISION</strong></em>
|
||||
in the associated window.</li>
|
||||
<li>If needed, indicate in the fields, x1, x2, y1 and
|
||||
y2 of the structure <a
|
||||
href="struct.htm#LDV_PARAMS">LDV_PARAMS</a>, the
|
||||
area to be backed up in the UNDO buffer of the image to
|
||||
be able to undo. Before the call,
|
||||
<em><strong>VISION</strong></em>
|
||||
sets these fields according to the user selection (block
|
||||
or full image)</li>
|
||||
</ol>
|
||||
<p>By default:</p>
|
||||
<ol>
|
||||
<li><em><strong>VISION</strong></em> will allow
|
||||
no memory for the LDV and will suppose the
|
||||
transformation will take place "in place"</li>
|
||||
<li><em><strong>VISION</strong></em> will backup in the
|
||||
UNDO buffer the part specified by the fields
|
||||
x1, x2, y1 and y2 of the structure <a
|
||||
href="struct.htm#LDV_PARAMS">LDV_PARAMS</a>
|
||||
(full image or selection if a block is selected)</li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="run"></a><font size="4"><strong>3.3 Run function</strong></font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td width="15%"><strong>Prototype</strong></td>
|
||||
<td width="85%"><a href="defines.htm#LDV_STATUS">LDV_STATUS</a>
|
||||
cdecl Run(<a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
*in, <a href="struct.htm#LDV_PARAMS">LDV_PARAMS</a>
|
||||
*params, <a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
*out)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> in: pointer on the
|
||||
structure <a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
describing the source image of
|
||||
<em><strong>VISION<br>
|
||||
</strong></em><strong>[IN]</strong> params: pointer on
|
||||
a structure <a href="struct.htm#LDV_PARAMS">LDV_PARAMS</a>
|
||||
indicating the area to modify<br>
|
||||
<strong>[OUT]</strong> out: pointer of the destination image
|
||||
, allocate by <em><strong>VISION</strong></em>
|
||||
with a previous call to PreRun</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%"><a href="defines.htm#ELDV">A success or error
|
||||
code</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Responsibilities / Comments</strong></td>
|
||||
<td width="85%">Must do the operation forecasted for
|
||||
the LDV.<br>
|
||||
<em><strong>VISION</strong></em> choses automatically
|
||||
the most adapted format while trying to minimise the memory,
|
||||
taking into account the format(s) handled by the LDV (knowing the
|
||||
most economical is <a
|
||||
href="defines.htm#LDVF">LDVF_SPECFORMAT</a>)<br>
|
||||
The LDV can modify another area than the one given in the fields
|
||||
x1, y1, x2 and y2 of params if it was mentionned previously by
|
||||
the PreRun function<br>
|
||||
<strong><u>NEVER</u></strong> allocate in the LDV memory for
|
||||
<em><strong>VISION</strong></em>,
|
||||
because it will be freed as soon as
|
||||
<em><strong>VISION</strong></em> will unload the LDV (even if you
|
||||
do not do it explicitely, the compiler of the system will do it).
|
||||
On the other hand, nothing prevents you from allocating memory for
|
||||
internal usage related to this function, but do not forget to free
|
||||
it!</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="preview"></a><font size="4"><strong>3.4 Preview
|
||||
function</strong></font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td width="15%"><strong>Prototype</strong></td>
|
||||
<td width="85%"><a href="defines.htm#LDV_STATUS">LDV_STATUS</a>
|
||||
cdecl Preview(<a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
*in, <a href="struct.htm#LDV_PARAMS">LDV_PARAMS</a>
|
||||
*params, <a href="struct.htm#LDV_IMAGE">LDV_IMAGE</a>
|
||||
*out)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Parameters</strong></td>
|
||||
<td width="85%">Identical to those of the function <a
|
||||
href="#run">Run</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%"><a href="defines.htm#ELDV">A success or error
|
||||
code</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Responsibilities / Comments</strong></td>
|
||||
<td width="85%">This function is identical to the
|
||||
function <a href="#run">Run</a>, but it operates on
|
||||
smaller images (112 x 112 on average). If the function
|
||||
<a href="#run">Run</a> is fast enough to display the result
|
||||
in less than 1 second, the Preview function should simply call
|
||||
it. Otherwise, it is possible to do some approximations or
|
||||
pre-computation to be back below a second.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="fichier ini"></a><font size="4"><strong>3.5 The
|
||||
associated INI file</strong></font></p>
|
||||
|
||||
<p><font size="3">The INI file associated to an LDV has two purposes:</font></p>
|
||||
|
||||
<ol>
|
||||
<li><font size="3">Gather all the information related to the language
|
||||
such as its name and description</font></li>
|
||||
<li><font size="3">Define parameters of the LDV</font></li>
|
||||
</ol>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="langues"></a><font size="4"><strong>3.5.1
|
||||
Language information</strong></font></p>
|
||||
|
||||
<p><font size="3">LDVs are multi-lingual, i.e., if a language has been
|
||||
defined in preferences,
|
||||
<em><strong>VISION</strong></em>
|
||||
is able to use this information also for the LDVs, provided the information is
|
||||
available. The .LDV and the associated .INI are located in the LDV
|
||||
directory of <em><strong>VISION</strong></em>. For instance, the file
|
||||
INVERT.INI is associated to the file INVERT.LDV. In the LDV folder, the
|
||||
more standard LDVs must be found, i.e., in English. If, for instance, you
|
||||
have defined "Fran<EFBFBD>ais" in the preferences of <em><strong>VISION</strong></em>,
|
||||
you just have to create the directory "Fran<EFBFBD>ais"
|
||||
in the folder LDV, and to include the file INVERT.INI translated in French
|
||||
in this directory, for <em><strong>VISION</strong></em> to seek this file
|
||||
instead of the one included directly in the LDV directory.</font></p>
|
||||
|
||||
<p><font size="3">In the [Informations] section, <em><strong>VISION</strong></em>
|
||||
expects the following entries:</font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="15%"><strong>Name of entry</strong></td>
|
||||
<td align="center" width="10%"><strong>Size</strong></td>
|
||||
<td align="center" width="75%"><strong>Description</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><font size="3">ShortName</font></td>
|
||||
<td align="center" width="10%">Max. 15 characters</td>
|
||||
<td width="75%">Short name of the module appearing in the list of
|
||||
modules to select</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><font size="3">LongName</font></td>
|
||||
<td align="center" width="10%">Max. 31 characters</td>
|
||||
<td width="75%">Name appearing when details are required on this
|
||||
LDV</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><font size="3">Description</font></td>
|
||||
<td align="center" width="10%">Max. 79 characters</td>
|
||||
<td width="75%">Complete description of the module on 3 lines</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="parametrage"></a><font size="4"><strong>3.5.2
|
||||
Parameters of the LDV</strong></font></p>
|
||||
|
||||
<p><font size="3"><em><strong>VISION</strong></em> allows to enter up to 4
|
||||
parameters in an LDV. These parameters are entered using GEM sliders that
|
||||
appear or not according to the number of input parameters of the LDV.<br>
|
||||
|
||||
For <em><strong>VISION</strong></em> to accept to display a parameter,
|
||||
a section named [ParameterN] (1 <= N <= 4)
|
||||
must be created with the following entries:</font></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="15%"><strong>Name of entry</strong></td>
|
||||
<td align="center" width="85%"><strong>Description</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><font size="3">Name</font></td>
|
||||
<td width="85%">Name of this parameter (max. 15 characters). If
|
||||
the name is not given, this parameter will not appear</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><font size="3">Type</font></td>
|
||||
<td width="85%">0: 16 bits integer(-32768 --> +32767)<br>
|
||||
1: float (not handled currently)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><font size="3">MinValue</font></td>
|
||||
<td width="85%">Minimum allowed value for this parameter</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">DefautValue</td>
|
||||
<td>Default value given in <em><strong>VISION</strong></em> GUI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">MaxValue</td>
|
||||
<td>Maximum allowed value for this parameter</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="17%"><a href="notions.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="defines.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>3.
|
||||
D E S C R I P T I O N</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</center></div>
|
||||
286
tools/vision/LDV/doc/english/hints.htm
Normal file
286
tools/vision/LDV/doc/english/hints.htm
Normal file
@@ -0,0 +1,286 @@
|
||||
<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): Recommendations</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="kitdev.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="preambule.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" -->17/09/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12363" 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>7.
|
||||
R E C O M M E N D A T I O N S</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--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>Even if managing and programming LDVs is simple, it must respect some
|
||||
common sense rules, one cannot simply do whatever he wants!
|
||||
Here are some rules and clarification on some points which might be
|
||||
troubling when one programs his first LDVs:</p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>#</strong></td>
|
||||
<td align="center" width="95%"><strong>Recommendations /
|
||||
Advises</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>1</strong></td>
|
||||
<td width="95%">If you write an LDV, send it to me!
|
||||
I would like <em><strong>VISION</strong></em> site to centralise
|
||||
all the LDVs created. Verify also that your LDV is not compiled
|
||||
with debug information!
|
||||
It would be to no use, except reduce the performances!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>2</strong></td>
|
||||
<td width="95%">It would be nice and useful for everyone to give
|
||||
the sources of the LDV with the LDV itself... This could give some
|
||||
good ideas to some people...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>3</strong></td>
|
||||
<td width="95%">Do not forget that, by the means of the functions
|
||||
called by <em><strong>VISION</strong></em>, you have
|
||||
a direct access to <em><strong>VISION</strong></em> internal
|
||||
memory. Thus, if you act a little randomly with the pointers
|
||||
provided, <em><strong>VISION</strong></em> will most likely crash
|
||||
sooner or later...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>4</strong></td>
|
||||
<td width="95%">If you use <a href="vapi/index.htm">VAPI</a>
|
||||
(recommended!), the same remark applies, the global Vapi variable
|
||||
of the LDV points directly on <em><strong>VISION</strong></em>
|
||||
memory. If you write into this structure, your LDV might crash!
|
||||
I let you imagine the consequences if you modify the address of
|
||||
the function <a href="vapi/pr.htm#PrSetProg">PrSetProg</a>
|
||||
and then try and call it!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>5</strong></td>
|
||||
<td width="95%">The ERROR to avoid in the function
|
||||
<a href="descrip.htm#run">Run</a> is to allocate yourself the
|
||||
memory for the image passed in the out parameter. Why? Doing this,
|
||||
first, you overwrite the pointer <em><strong>VISION</strong></em>
|
||||
has already allocated to that. Furthermore, as soon as <em><strong>VISION</strong></em>
|
||||
will try to use it, it will crash. If fact, your LDV is more or
|
||||
less "a PRG" launched by
|
||||
<em><strong>VISION</strong></em> and terminated when
|
||||
<em><strong>VISION</strong></em> (more excactly the LDG manager)
|
||||
decides it. At this moment, the compiler or the system will free
|
||||
the memory allocated by this module, even if you do not do it
|
||||
explicitely. That is why that is always
|
||||
<em><strong>VISION</strong></em>, using the function
|
||||
<a href="descrip.htm#prerun">PreRun</a> that will allocate the
|
||||
memory for the LDV, since it will use it after that. The function
|
||||
<a href="descrip.htm#prerun">PreRun</a> is really essential!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>6</strong></td>
|
||||
<td width="95%">If you use the function <a
|
||||
href="vapi/pr.htm#PrSetProg">PrSetProg</a> from <a
|
||||
href="vapi/index.htm">VAPI</a> (really WARMLY recommended, unless
|
||||
your LDV is fast as light!), try not to call it too often, for
|
||||
instance inside a loop, it has no use (it may happen that the
|
||||
percentage has not even changed!) and this will slow unecesseraly
|
||||
your LDV. Before your call, put a test such as <strong>if ( ( iter & 0x0F )
|
||||
== x0F )</strong>, it will call the progress function only one out
|
||||
of sixteen times, this should be largely enough.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>7</strong></td>
|
||||
<td>The function <a href="vapi/pr.htm#PrSetProg">PrSetProg</a>
|
||||
from <a href="vapi/index.htm">VAPI</a>, gives control temporarily
|
||||
to the AES. This will allow to move windows at that moment. That
|
||||
is also one of the reasons why this function must be called a
|
||||
little... but not too much!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>8</strong></td>
|
||||
<td width="95%">If your LDV has parameters (at most 4 parameters),
|
||||
you must use an <a
|
||||
href="descrip.htm#fichier ini">associated INI file</a>.
|
||||
I recommend to associate systematically an INI file to your LDV.
|
||||
It's really handy for translations, and not difficult at all!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>9</strong></td>
|
||||
<td width="95%">If you use an
|
||||
<a
|
||||
href="descrip.htm#fichier ini">INI file</a>, your LDV must control
|
||||
the validity of passed parameters, and not crash stupidely if one
|
||||
of them is out of bounds... In such a case, just return the
|
||||
<a href="defines.htm#ELDV">ELDV_INVALIDPARAMETER</a> error code.
|
||||
Do not forget that the<a href="descrip.htm#fichier ini">
|
||||
INI file</a> is a text file, which can be easily modified by a
|
||||
user...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>10</strong></td>
|
||||
<td width="95%">Floating numbers, while forecasted for a future
|
||||
exxtension, are not necessary for LDV parameters. Let's say you
|
||||
must enter a value between 0.0 and 1.0. All you have to do is to
|
||||
indicate a range of [0;1000] in the <a
|
||||
href="descrip.htm#fichier ini">INI file</a> (which still gives you
|
||||
more precision that what can be entered in the GUI), to convert
|
||||
the parameter given by <em><strong>VISION</strong></em> to float,
|
||||
and then to divide it by 1000. There must exist weird cases where
|
||||
floats are necessary, but one should do without them in 99% of
|
||||
the cases!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>11</strong></td>
|
||||
<td width="95%">I advise, for memory performances reasons, to
|
||||
allways use <a href="defines.htm#LDVF">LDVF_OPINPLACE</a> and <a
|
||||
href="defines.htm#LDVF">LDVF_SPECFORMAT</a> flags. Allocate the
|
||||
memory you want in the LDV (if you can...) and free it after its
|
||||
execution.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>12</strong></td>
|
||||
<td width="95%">If you work only on lines and columns, use the
|
||||
<a href="defines.htm#LDVF">LDVF_SPECFORMAT</a> flag.
|
||||
|
||||
The VDI function vr_cpyfm is made for that purpose. Using the
|
||||
<a href="defines.htm#LDVF">LDVF_ATARIFORMAT</a>
|
||||
or <a href="defines.htm#LDVF">LDVF_STDFORMAT</a> flags would
|
||||
oblige
|
||||
<em><strong>VISION</strong></em> to allocate memory unecessarily
|
||||
(furthermore, the VDI functions ALWAYS work on the machine
|
||||
specific format: <a href="defines.htm#LDVF">LDVF_SPECFORMAT</a>!)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>13</strong></td>
|
||||
<td width="95%">If you have to handle TOS and/or VDI indexes:<ul>
|
||||
<li>You can work by lines or packets of n lines:<br>
|
||||
Use the format <a href="defines.htm#LDVF">LDVF_SPECFORMAT</a>,
|
||||
and the functions of the <a href="vapi/ra.htm">
|
||||
Raster interface</a>. This will minimise the memory to
|
||||
allocate</li>
|
||||
<li>You are obliged to have access to any index at any time:<br>
|
||||
Use the format <a href="defines.htm#LDVF">LDVF_ATARIFORMAT</a>,
|
||||
and the functions of the <a href="vapi/ra.htm">
|
||||
Raster interface</a>. <em><strong>VISION</strong></em>
|
||||
will convert the image from the specific format to the
|
||||
ATARI bitplan format before calling <a
|
||||
href="descrip.htm#prerun">PreRun</a> or <a
|
||||
href="descrip.htm#run">Run</a>.</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>14</strong></td>
|
||||
<td width="95%">Even if the user has selected a block as an area
|
||||
to apply the LDV on the image, you are not limited to the area
|
||||
defined by this block. You have access to the whole image, even
|
||||
more if you decide to enlarge its size (fields out->fd_w and
|
||||
out->fd_h of the function <a
|
||||
But do not forget to update the fields x1, x2, y1 and
|
||||
y2 of the structure <a href="struct.htm#LDV_PARAMS">LDV_PARAMS</a>
|
||||
given by the function <a href="descrip.htm#prerun">PreRun</a>,
|
||||
and also to UNDO buffer, to be able to go back.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>15</strong></td>
|
||||
<td width="95%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="5%"><strong>16</strong></td>
|
||||
<td width="95%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="17%"><a href="kitdev.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="preambule.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" -->17/09/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12363" 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>7.
|
||||
R E C O M M E N D A T I O N S</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
BIN
tools/vision/LDV/doc/english/images/conc2.gif
Normal file
BIN
tools/vision/LDV/doc/english/images/conc2.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
BIN
tools/vision/LDV/doc/english/images/cprev.jpg
Normal file
BIN
tools/vision/LDV/doc/english/images/cprev.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 726 B |
BIN
tools/vision/LDV/doc/english/images/csom.jpg
Normal file
BIN
tools/vision/LDV/doc/english/images/csom.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 518 B |
BIN
tools/vision/LDV/doc/english/images/csuiv.jpg
Normal file
BIN
tools/vision/LDV/doc/english/images/csuiv.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 703 B |
BIN
tools/vision/LDV/doc/english/images/icointro.gif
Normal file
BIN
tools/vision/LDV/doc/english/images/icointro.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 492 B |
BIN
tools/vision/LDV/doc/english/images/icoprinc.gif
Normal file
BIN
tools/vision/LDV/doc/english/images/icoprinc.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 413 B |
159
tools/vision/LDV/doc/english/index.htm
Normal file
159
tools/vision/LDV/doc/english/index.htm
Normal file
@@ -0,0 +1,159 @@
|
||||
<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): Content</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/csom.jpg" alt="Back to content " border="0"
|
||||
hspace="2" width="26" height="26"></a><a href="intro.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" -->17/09/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12363" 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>
|
||||
C O N T E N T</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--webbot
|
||||
bot="HTMLMarkup" startspan --><A HREF="http://www.estat.com/getstats?serial=1390118421">
|
||||
<IMG SRC="http://perso.estat.com/cgi-bin/perso/1390118421?page=DocVision"
|
||||
BORDER=0></A>
|
||||
<!--webbot
|
||||
bot="HTMLMarkup" endspan --></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p align="left"><a href="intro.htm"><strong>1. INTRODUCTION</strong></a></p>
|
||||
|
||||
<p align="left"><a href="notions.htm"><strong>2. ESSENTIAL NOTIONS
|
||||
</strong></a></p>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"><a href="notions.htm#formats d'images">2.1
|
||||
Images formats</a></p>
|
||||
<p align="left"><a href="notions.htm#prog">2.2 Programmation</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a href="descrip.htm"><strong>3. DESCRIPTION</strong></a></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="descrip.htm#capacit<69>s">3.1 Possibilities of LDV</a></p>
|
||||
<p><a href="descrip.htm#prerun">3.2 PreRun function</a></p>
|
||||
<p><a href="descrip.htm#run">3.3 Run function</a></p>
|
||||
<p><a href="descrip.htm#preview">3.4 Preview function</a></p>
|
||||
<p><a href="descrip.htm#fichier ini">3.5 Associated INI
|
||||
file</a></p>
|
||||
<blockquote>
|
||||
<p><a href="descrip.htm#langues"><em>3.5.1 Information
|
||||
on language</em></a></p>
|
||||
<p><a href="descrip.htm#parametrage"><em>3.5.2
|
||||
Configuration of LDV</em></a></p>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<p><a href="defines.htm"><font size="3"><strong>4. DEFINES</strong></font></a></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="defines.htm#ELDV">4.1 Type of return codes</a></p>
|
||||
<p><a href="defines.htm#ELDV">4.2 Return codes</a></p>
|
||||
<p><a href="defines.htm#TLDV">4.3 Module types</a></p>
|
||||
<p><a href="defines.htm#LDVF">4.4 Information on possibilities
|
||||
</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a href="struct.htm"><strong>5. STRUCTURES</strong></a></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="struct.htm#LDV_INFOS">5.1 LDV_INFOS</a></p>
|
||||
<p><a href="struct.htm#LDV_CAPS">5.2 LDV_CAPS</a></p>
|
||||
<p><a href="struct.htm#LDV_IMAGE">5.3 LDV_IMAGE</a></p>
|
||||
<p><a href="struct.htm#LDV_PALETTE">5.4 LDV_PALETTE</a></p>
|
||||
<p><a href="struct.htm#LDV_VDIELEMENTALPAL">5.5
|
||||
LDV_VDIELEMENTALPAL</a></p>
|
||||
<p><a href="struct.htm#LDV_PARAMS">5.6 LDV_PARAMS</a></p>
|
||||
<p><a href="struct.htm#LDV_BASICPARAM">5.7 LDV_BASICPARAM</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a href="kitdev.htm"><strong>6. DEVELOPMENT KIT</strong></a></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="kitdev.htm#install">6.1 Installation</a></p>
|
||||
<p><a href="kitdev.htm#squelette">6.2 Skeleton</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a href="hints.htm"><strong>7. RECOMMANDATIONS</strong></a></p>
|
||||
|
||||
<p><a href="vapi/index.htm"><strong>APPENDIX: VAPI</strong></a></p>
|
||||
|
||||
<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/csom.jpg" alt="Back to content " border="0"
|
||||
hspace="2" width="26" height="26"></a><a href="intro.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" -->17/09/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12363" endspan --></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a
|
||||
href="..\download/dvision.zip">Download documentation</a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>
|
||||
C O N T E N T</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
</html>
|
||||
177
tools/vision/LDV/doc/english/intro.htm
Normal file
177
tools/vision/LDV/doc/english/intro.htm
Normal file
@@ -0,0 +1,177 @@
|
||||
<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): Introduction</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/csom.jpg" alt="Back to content " border="0"
|
||||
hspace="2" width="26" height="26"></a><a
|
||||
href="notions.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" -->02/10/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12216" 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>1.
|
||||
I N T R O D U C T I O N</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--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>At last! After several years, <em><strong>VISION</strong></em>
|
||||
eventually becomes modular! Roughly, the essential purpose of LDVs
|
||||
(Librairies Dynamiques for <em><strong>VISION</strong></em>) is to allow
|
||||
to add your own functions.
|
||||
Typically, an LDV allows to enhance the functions of <em><strong>VISION</strong></em>,
|
||||
for instance by adding an image distortion module.
|
||||
Here are the characteristics of LDVs:</p>
|
||||
|
||||
<ul>
|
||||
<li>Direct access to <em><strong>VISION</strong></em> images</li>
|
||||
<li>Multi-lingual (with optionnal INI file)</li>
|
||||
<li>UNDO management (transparent for LDV programmer)</li>
|
||||
<li>Management of the input of 4 parameters by
|
||||
<em><strong>VISION</strong></em>, which can be sent to the LDV</li>
|
||||
<li>Progress bar management during LDV computation</li>
|
||||
<li>Preview management</li>
|
||||
<li>Can be applied on an image or on a block inside an image</li>
|
||||
<li><em><strong>VISION</strong></em> provides an API (VAPI)
|
||||
giving image modification functions</li>
|
||||
</ul>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>At the development level, the programmer must:</p>
|
||||
|
||||
<ul>
|
||||
<li>Know what he wants to do!</li>
|
||||
<li>Define the capabilities of the LDV (number of plans that can be
|
||||
managed, expected image format, ...)</li>
|
||||
<li>Write 4 functions (2 of them being written 100% by an LDV
|
||||
skeleton!):</li>
|
||||
</ul>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td width="20%">GetLDVCapabilities</td>
|
||||
<td width="80%">Already written. Return to <em><strong>VISION</strong></em>
|
||||
what the LDV can do</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%">PreRun</td>
|
||||
<td width="80%">To be written. Ask <em><strong>VISION</strong></em>
|
||||
to allocate the resources necessary to the function
|
||||
Run</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%">Run</td>
|
||||
<td width="80%">To be written. The function that does something!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%">Preview</td>
|
||||
<td width="80%">To be written or not. Similar to Run, but in
|
||||
Preview mode, if computation time is too long, and if it is
|
||||
possible to do less computation. Very often, Run is called instead
|
||||
(this is what the skeleton does).</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>Of course, writing an LDV requires some notions on images, their
|
||||
formats and programming. See <a
|
||||
href="notions.htm">essential notions</a>.</p>
|
||||
|
||||
<p>Last, I do hope to extend that principle by proposing LDV to load and
|
||||
save images (possibly even more...).
|
||||
However, given the time needed to include this concept in
|
||||
<em><strong>VISION</strong></em>, it will require some persons to be
|
||||
interested before I start with it!</p>
|
||||
|
||||
<p>LDVs are based on LDGs (Librairies Dynamiques GEM) developed by
|
||||
Olivier Landemarre and Dominique B<>r<EFBFBD>ziat: <a
|
||||
href="http://ldg.atari.org">ldg.atari.org</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<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/csom.jpg" alt="Back to content " border="0"
|
||||
hspace="2" width="26" height="26"></a><a
|
||||
href="notions.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" -->02/10/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12216" 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>1.
|
||||
I N T R O D U C T I O N</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
</html>
|
||||
506
tools/vision/LDV/doc/english/kitdev.htm
Normal file
506
tools/vision/LDV/doc/english/kitdev.htm
Normal file
@@ -0,0 +1,506 @@
|
||||
<!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 (LDV): Development kit</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="struct.htm"><img src="images/cprev.jpg" alt="Previous Chapter " border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></a><a href="hints.htm"><img src="images/csuiv.jpg" alt="Next Chapter " 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><em>VISION </em>Documentation
|
||||
<em>(LDV)</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: 05/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>6.
|
||||
DEVELOPMENT KIT</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <br></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>.<a name="install"></a><font size="4"><strong>6.1 INSTALLATION</strong></font></p>
|
||||
|
||||
<p>First, I recommend to install the LDG kit available on the
|
||||
<a href="http://ldg.atari.org">official LDG site</a>.<br>
|
||||
Next, download the<a href="..%5C..%5Cdownload/dvldv.zip">
|
||||
LDV kit+documentation</a><br>
|
||||
To make an LDV, you need:
|
||||
|
||||
</p><ul>
|
||||
<li>Files "header" LDG.H and MT_AES.H. .</li>
|
||||
<li>"Library" files LDG.LIB and
|
||||
MT_AES.LIB. These files are to be taken in the LDG kit in the
|
||||
folder associated to your C compiler.</li>
|
||||
</ul>
|
||||
|
||||
<p>Warning! By default, the development kit provided by
|
||||
<em><strong>VISION</strong></em> includes these files for the PureC
|
||||
compiler. I strongly recommend to update regularly the .H and .LIB
|
||||
according to the evolution of LDGs.</p>
|
||||
|
||||
<p>The tree proposed in <em><strong>VISION</strong></em> LDV kit is the
|
||||
following:</p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td align="center" width="15%"><strong>Folder / Sub
|
||||
folder</strong></td>
|
||||
<td align="center" width="85%"><strong>Files</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><strong><..>/LDV</strong></td>
|
||||
<td width="85%"><em>For LDG management:</em><br>
|
||||
LDG.H: Librairies dynamiques GEM, header file .H<br>
|
||||
MT_AES.H: To use LDG/LDV under a multi tasking OS. In fact, this
|
||||
file is useful only if you use AES in the LDV, which is unlikely
|
||||
at the moment, but perhaps soon...<br>
|
||||
LDG.LIB, MT_AES.LIB: to be linked with your LDV<br>
|
||||
<em>For LDV management:</em><br>
|
||||
LDV.H: Definition of structures and interfaces with <em><strong>VISION</strong></em><br>
|
||||
VAPI.H: Definition of structures and interfaces with <a href="vapi/index.htm">VAPI</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"><strong><...>/LDV/SRC</strong></td>
|
||||
<td width="85%">Each LDV is there in a directory associated with
|
||||
its name. In such a directory, there is:<br>
|
||||
<name of ldv>.C: the "source" file of the
|
||||
LDV<br>
|
||||
<name of ldv>.PRJ: the project file (Pure C)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong><...>/LDV/DOC</strong></td>
|
||||
<td>This documentation</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>.<a name="squelette"></a><font size="4"><strong>6.2 SKELETON</strong></font></p>
|
||||
|
||||
<p>You can use for the skeleton of an LDV any source of an LDV found in
|
||||
the kit. It is up to you to see which file suits best the LDV you want to
|
||||
make!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>.<a name="exemples"></a><font size="4"><strong>6.3 EXAMPLES</strong></font></p>
|
||||
|
||||
<p>The <em><strong>VISION</strong></em> kit provides the following LDVs
|
||||
as well as the sources (in PureC). Here are their characteristics:</p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><strong>INVERT.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Inversion of bits of an image</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capabilities</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). Machine format. Does not modify the palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Transformation type
|
||||
</strong></td>
|
||||
<td width="80%">In place. This property can also be suppressed
|
||||
from the CAPS define, and <em><strong>VISION</strong></em> can be
|
||||
forced to allocate memory for the destination (teaching only
|
||||
purpose!)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Uses VAPI</strong></td>
|
||||
<td width="80%">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>INI file</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Comment</strong></td>
|
||||
<td width="80%">Very simple! Uses only vro_cpyfm VDI function<br>
|
||||
Not really useful: <em><strong>VISION</strong></em>
|
||||
already provides the "N<>gative" function since version
|
||||
1.0!</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><strong>XWAVE.LDV
|
||||
/ YWAVE.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Waves on X / Y axis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capabilities</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). Machine format. Does not modify the palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Transformation
|
||||
type</strong></td>
|
||||
<td width="80%">Forces <em><strong>VISION</strong></em> to
|
||||
allocate memory for destination. It must be possible to do
|
||||
without, but this complicates a little the LDV...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Uses VAPI</strong></td>
|
||||
<td width="80%">Yes (<a href="vapi/pr.htm">Progress</a> +
|
||||
<a href="vapi/ra.htm">Raster Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>INI file</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Comment</strong></td>
|
||||
<td width="80%">Amusing and quite simple. Presents <a href="vapi/pr.htm">the VAPI progress interface</a> and the
|
||||
function to "clear" an image (<a href="vapi/ra.htm#RaImgWhite">RaImgWhite</a>).</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><strong>BW.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Conversion of an image (or part in True colour) to
|
||||
an image in shades of grey</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capabilities</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). Machine format. Modifies the palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Transformation
|
||||
type</strong></td>
|
||||
<td width="80%">In place</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Uses VAPI</strong></td>
|
||||
<td width="80%">Yes (<a href="vapi/pr.htm">Progress</a> +
|
||||
<a href="vapi/ra.htm">Raster Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>INI file</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Comment</strong></td>
|
||||
<td width="80%">Uses True colour conversion format functions (<a href="vapi/ra.htm#RaTCConvert">RaTCConvert</a> and <a href="vapi/ra.htm#RaTCInvConvert">RaTCInvConvert</a>).
|
||||
Shows also how to modify the palette. Compared to the equivalent <em><strong>VISION</strong></em>
|
||||
(B&W conversion) function, this LDV allows to do it on a
|
||||
block (True Colour mode only)</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><a name="pixel"></a><strong>PIXEL.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Performs a pixelization on an image or part of it</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capacit<EFBFBD>s</strong></td>
|
||||
<td width="80%">True Color modes only (16 and 32
|
||||
planes). ATARI. format</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Type de
|
||||
transformation</strong></td>
|
||||
<td width="80%">In place</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Utilise VAPI</strong></td>
|
||||
<td width="80%">Yes (<a href="../../ldv/vapi/pr.htm">Progress
|
||||
Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>Fichier INI</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Remarque</strong></td>
|
||||
<td width="80%">Nice
|
||||
effect and good for learning: this LDV only considers True Color
|
||||
ATARI format and it will nevertheless run on your MagicPC ! It makes
|
||||
use of <em><strong>VISION</strong></em> feature to deal with format handling and only focuses on a specific format. Hadnles cancel feature.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><a name="ypersc"></a><strong>YPERSC.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Performs a perspective effect on an image or part of it</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capacit<EFBFBD>s</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). ATARI format. Does not change palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Type de
|
||||
transformation</strong></td>
|
||||
<td width="80%">Forces <em><strong>VISION</strong></em> to
|
||||
allocate memory for destination.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Utilise VAPI</strong></td>
|
||||
<td width="80%">Oui (<a href="../../ldv/vapi/pr.htm">Progress
|
||||
Interface</a>+ <a href="../../ldv/vapi/ra.htm">Raster Interface</a>
|
||||
+ <a href="../../ldv/vapi/me.htm">MEM Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>Fichier INI</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Remarque</strong></td>
|
||||
<td width="80%">Nice perspective effect. When operating on selection, the allocation bloc is set thanks to <a href="../../ldv/defines.htm#LDVF">LDVF_NOSELECTION</a>
|
||||
flag (pretty painful to handle in bitplane mode). This LDV only gets an image and not bloc selection.<a href="../../ldv/vapi/me.htm">MEM Interface</a> function <a href="../../ldv/vapi/me.htm#MeSCopyMemory8">MeCopyMemoryxx</a> is used to scale lines.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><a name="light"></a><strong>LIGHT.LDV / </strong><a name="gamma"></a><strong>GAMMA.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Change red, green, blue color spreading using a line (light) or a gamma curve (gamma).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capacit<EFBFBD>s</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). Machine format. Modifies the palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Type de
|
||||
transformation</strong></td>
|
||||
<td width="80%">In place</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Utilise VAPI</strong></td>
|
||||
<td width="80%">Yes (<a href="../../ldv/vapi/pr.htm">Progress
|
||||
Interface</a>+ <a href="../../ldv/vapi/ra.htm">Raster Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>Fichier INI</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Remarque</strong></td>
|
||||
<td width="80%">Smart replace for old embedded functions in
|
||||
<em><strong>VISION</strong></em>..In bitplane mode, palette is changed. Handles cancel.<br>
|
||||
These LDVs are pretty optimized for memory performances: they operate
|
||||
in place on machine specific format and can work on a bloc inside the
|
||||
image.(true colro only).<br>
|
||||
These LDVs are very similar : only internal function ChangeColors is specific to a LDV.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><a name="rotate"></a><strong>ROTATE.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Performs a rotation on the image or part of it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capacit<EFBFBD>s</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). Machine format. Does not change the palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Type de
|
||||
transformation</strong></td>
|
||||
<td width="80%">Forces <em><strong>VISION</strong></em> to
|
||||
allocate memory for destination.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Utilise VAPI</strong></td>
|
||||
<td width="80%">Yes (<a href="../../ldv/vapi/pr.htm">Progress
|
||||
Interface</a>+ <a href="../../ldv/vapi/ra.htm">Raster Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>Fichier INI</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Remarque</strong></td>
|
||||
<td width="80%">This LDV is very simple. Actually it just calls <a href="../../ldv/vapi/ra.htm#RaRasterRotateGetDstMFDB">RaRasterRotateGetDstMFDB</a> and <a href="../../ldv/vapi/ra.htm#RaRasterRotate">RaRasterRotate</a>
|
||||
functions in <a href="../../ldv/vapi/index.htm">VAPI</a> <a href="../../ldv/vapi/ra.htm">Raster interface</a> <a href="../../ldv/vapi/index.htm"></a>.<br>
|
||||
Have a look how <a href="../../ldv/defines.htm#LDVF">LDVF_NOSELECTION</a> flag is used in order to not complicate things with blocs.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p></p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><a name="puzzle"></a><strong>PUZZLE.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Mix image blocs to generate a puzzle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capacit<EFBFBD>s</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). Machine format. Does not change the palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Type de
|
||||
transformation</strong></td>
|
||||
<td width="80%">Forces <em><strong>VISION</strong></em> to
|
||||
allocate memory for destination.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Utilise VAPI</strong></td>
|
||||
<td width="80%">Yes (<a href="../../ldv/vapi/pr.htm">Progress
|
||||
Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>Fichier INI</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Remarque</strong></td>
|
||||
<td width="80%">Fun LDV easy to code. Smartest thing is entropy handling i.e. how much disorder there is in the mix.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center" width="20%"><a name="bhole"></a><strong>BHOLE.LDV</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Description</strong></td>
|
||||
<td width="80%">Simulates a black hole in an image. Consider it as a tribute to <a href="https://www.youtube.com/watch?v=A6HhDFskbXs">Stephen Hawking</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Capacit<EFBFBD>s</strong></td>
|
||||
<td width="80%">Any number of bitplans (1, 2, 4, 8, 16, 24
|
||||
and 32). Machine format. Does not change the palette.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Type de
|
||||
transformation</strong></td>
|
||||
<td width="80%">Forces <em><strong>VISION</strong></em> to
|
||||
allocate memory for destination.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Utilise VAPI</strong></td>
|
||||
<td width="80%">Yes (<a href="../../ldv/vapi/pr.htm">Progress
|
||||
Interface</a>+<a href="../../ldv/vapi/co.htm">Config Interface</a>+<a href="../../ldv/vapi/lo.htm">Logging Interface</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>Fichier INI</strong></td>
|
||||
<td>Yes (English / French)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="20%"><strong>Remarque</strong></td>
|
||||
<td width="80%">Most complicated LDV so far. Has its own optimzations for 68030 and 68881. Uses black hole symetry to speed up computations.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tbody><tr>
|
||||
<td align="center" width="17%"><a href="struct.htm"><img src="images/cprev.jpg" alt="Previous chapter " border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></a><a href="hints.htm"><img src="images/csuiv.jpg" alt="Next Chapter " 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><em>VISION </em>Documentation
|
||||
<em>(LDV)</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: 05/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>6.
|
||||
DEVELOPMENT KIT</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
107
tools/vision/LDV/doc/english/modele.htm
Normal file
107
tools/vision/LDV/doc/english/modele.htm
Normal file
@@ -0,0 +1,107 @@
|
||||
<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): Content</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="Previous Chapter "
|
||||
hspace="2" width="46" height="26"><a href="sommaire.htm"><img
|
||||
src="images/csom.jpg" alt="Back to content " border="0"
|
||||
hspace="2" width="26" height="26"></a><a
|
||||
href="preambule.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" -->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">Download documentation</a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>C O N T
|
||||
E N T</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--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> </p>
|
||||
|
||||
<p> </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="Previous Chapter "
|
||||
hspace="2" width="46" height="26"><a href="sommaire.htm"><img
|
||||
src="images/csom.jpg" alt="Back to content " border="0"
|
||||
hspace="2" width="26" height="26"></a><a
|
||||
href="preambule.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" -->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">Download documentation</a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>C O N T
|
||||
E N T</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
</html>
|
||||
218
tools/vision/LDV/doc/english/notions.htm
Normal file
218
tools/vision/LDV/doc/english/notions.htm
Normal file
@@ -0,0 +1,218 @@
|
||||
<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): Essential notions</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="intro.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="descrip.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" -->01/10/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12214" 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>2.
|
||||
ESSENTIAL NOTIONS</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--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="formats d'images"></a><font size="4"><strong>2.1 Images
|
||||
formats</strong></font></p>
|
||||
|
||||
<p>I cannot explain here the bit to bit encoding of an image. Roughly, for
|
||||
a number of plans up to 8, a pixel is associated to a colour index in a
|
||||
palette. Thus, this index points to the true colour of the pixel. Starting
|
||||
with 15 plans, we are in True Color, i.e., each pixel is associated with
|
||||
its colour value (thus with 15, 16, 24 or 32 bits). While in True Color,
|
||||
it's fairly easy, in palette mode (bit-plane) it becomes quickly complex,
|
||||
because each pixel has one of its bits coded in a 16 bits word. This bit
|
||||
should be searched, the different bits from one pixel should be put
|
||||
together, etc... This becomes quickly tiring and, to be fast, this
|
||||
requires assembly optimisation. Thankfully, <em><strong>VISION</strong></em>
|
||||
proposes functions to simplify your work with
|
||||
<a href="vapi/index.htm#Pr<50>sentation">VAPI</a>.</p>
|
||||
|
||||
<p><em><strong>VISION</strong></em>'s LDVs can work in any of the 3
|
||||
following formats (note that there is no interesst for your LDV to handle
|
||||
the 3 formats, <em><strong>VISION</strong></em> will transmit the required
|
||||
format):</p>
|
||||
|
||||
<ul>
|
||||
<li>Standard format</li>
|
||||
<li>ATARI format</li>
|
||||
<li>Specific format</li>
|
||||
</ul>
|
||||
|
||||
<p>This little table specifies these different formats ((R = Red, G =
|
||||
Green, B = Blue):</p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="15%"><strong>Format</strong></td>
|
||||
<td align="center" width="10%"><strong>Number of bits /
|
||||
pixel</strong></td>
|
||||
<td align="center" width="75%"><strong>Description</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%">Standard</td>
|
||||
<td align="center" width="10%">1, 2, 4, 8</td>
|
||||
<td width="75%">Standard format defined by ATARI. The pixel planes
|
||||
(16 pixels) are following each other. In True-Color, this format
|
||||
maybe exists, but I prefer not to know!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%">ATARI</td>
|
||||
<td align="center" width="10%">1, 2, 4, 8</td>
|
||||
<td width="75%">ATARI bit-plane format. Very classical,
|
||||
this is the format of ST-Low, ST-Medium and ST-High, then, by
|
||||
extension, the format of Falcon's bit-plane modes. Contrary to
|
||||
Standard mode, planes are interlaced ((Plan0 - Plan1 - Plan2 -
|
||||
Plan 3, for instance for 16 colours))</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"> </td>
|
||||
<td align="center" width="10%">16</td>
|
||||
<td width="75%">FALCON True Color mode. Each pixel
|
||||
is coded in a 16 bits word such as the following:<br>
|
||||
RRRRRVVVVV0BBBBB<br>
|
||||
15 --> 0 Bit #<br>
|
||||
In fact, the actual encoding is on 15 or 1 pixels. The level of
|
||||
green can be coded on 6 bits (65K) instead of 5 (32K).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"> </td>
|
||||
<td align="center" width="10%">24</td>
|
||||
<td width="75%">Sadly <em><strong>VISION</strong></em>
|
||||
does not handle this format!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%"> </td>
|
||||
<td align="center" width="10%">32</td>
|
||||
<td width="75%">RGB0, R, G, B = red, green or
|
||||
blue component on 8 bits (0...255)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="15%">Specific</td>
|
||||
<td align="center" width="10%">1, 2, 4, 8, 16, 24, 32</td>
|
||||
<td width="75%">Specific to the graphic card. No
|
||||
hypothesis on the bit encoding for a pixel can be made.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p>As far as possible, use the specific format, because it uses the less
|
||||
memory. If your LDV has only to handle lines and columns, you don't have
|
||||
to pay attention to internal pixel coding, the vro_... VDI functions will
|
||||
handle it.</p>
|
||||
|
||||
<p>If you have to handle pixels, I recommand to use the ATARI format,
|
||||
because <em><strong>VISION</strong></em> allows to get very easily the
|
||||
indexes through its <a
|
||||
href="vapi/index.htm#Pr<50>sentation">VAPI</a>.</p>
|
||||
|
||||
<p>The standard format is not very useful, except internally in
|
||||
<em><strong>VISION</strong></em> to display the images correctly. except
|
||||
if you have developed equivalent functions to those proposed in
|
||||
<a href="vapi/index.htm#Pr<50>sentation">VAPI</a>, I would advise not to use
|
||||
this format.</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="prog"></a><font size="4"><strong>2.2 Programing</strong></font></p>
|
||||
|
||||
<p>You have to know how to program in C! Normally, LDVs do not depend on
|
||||
the compiler (I did my best but, as I use only Pure C, I cannot be really
|
||||
sure).</p>
|
||||
|
||||
<p>You have to be fluent in C and not be afraid of handling pointers on
|
||||
structures and functions.</p>
|
||||
|
||||
<p>If you know LDGs, this will be useful but it is not mandatory, the LDV
|
||||
skeleton hides them fairly well.</p>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td align="center" width="17%"><a href="intro.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="descrip.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" -->01/10/00<!--webbot
|
||||
bot="Timestamp" i-checksum="12214" 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>2.
|
||||
ESSENTIAL NOTIONS</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
</html>
|
||||
464
tools/vision/LDV/doc/english/struct.htm
Normal file
464
tools/vision/LDV/doc/english/struct.htm
Normal file
@@ -0,0 +1,464 @@
|
||||
<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%"> <!--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> </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> </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
|
||||
<= 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> </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> </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 <= index <= 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 <= index <= 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 <= index <= 1000)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
|
||||
<p> </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> </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> </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%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
</html>
|
||||
220
tools/vision/LDV/doc/english/vapi/co.htm
Normal file
220
tools/vision/LDV/doc/english/vapi/co.htm
Normal file
@@ -0,0 +1,220 @@
|
||||
<!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<70>c<EFBFBD>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<EFBFBD>re
|
||||
mise <20> jour : 07/04/18</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>CONFIGURATION
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <a href="http://www.estat.com/getstats?serial=1390118421"> </a> <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<EFBFBD>sum<EFBFBD></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Interface prefix</strong></td>
|
||||
<td width="85%">Co</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Number of functions</strong></td>
|
||||
<td width="85%">3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Set of functions giving access to <em><strong>VISION</strong></em>.'s configuration (paths, languages,...)</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">A pointer to string holding LDV path</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used
|
||||
to know what is LDV path. Enables the LDV to load a file from there
|
||||
(e.g. LOD, INI). This path is passed as a parameter to <a href="../descrip.htm#getparams">GetParams</a>
|
||||
function (optional).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%"><a href="index.htm">VAPI</a> returns a pointer to <em><strong>VISION</strong></em>.'x configuration.
|
||||
You shall NOT change data from this pointer; make your own copy if you need !</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or more</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">A pointer to string holding <em><strong>VISION</strong></em>.''s current language<em><strong></strong></em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used to know which language is currently used. Use with <a href="#CoGetLDVPath">CoGetLDVPath</a>, you can locate the INI file for this LDV, just concatenate both strings.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%"><a href="index.htm">VAPI</a> returns a pointer to <em><strong>VISION</strong></em>.'x configuration.
|
||||
You shall NOT change data from this pointer; make your own copy if you need !</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or more</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>Parameters</strong></td>
|
||||
<td width="85%">Pointer to <a href="index.htm">VAPI</a> function for which you'd like to know if some optimization is available</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">A 32bit word which following bit meaning:<br>
|
||||
Bit 0 set This function is 68030 optimized<br>
|
||||
Bit 1 set : This function is DSP 56001 optimzed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used to know if a function has specific processor optimzations to let the progress window know about this (see <a href="pr.htm">Progress Interface</a> : <a href="pr.htm#PrOptimize">PrOptimize</a>). Not that useful but so sexy !</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">If
|
||||
the machine running this call has no 68030 or DSP support, this call
|
||||
won"t return any optimization, which is pretty logical as it won"t be
|
||||
used even if exisitng.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.03 or more</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
<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>Parameters</strong></td>
|
||||
<td width="85%">Requests <em><strong>VISION</strong></em> what are the available processors</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">A 32bit word which following bit meaning:<br>0x02 : A 68030 or better is present<br>0x20 : A FPU (68881 or better) is present<br>0x200: A DSP 56001 is present</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used to prepeare LDV to select appropriae routines depending on processors availability</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">The returned value may be filtered out by <span style="font-style: italic; font-weight: bold;">VISION</span>
|
||||
if VISION.INI says so in Hide030, HideFPU or HideDSP
|
||||
variables set to 1. Very useful to simulate LDV run on a lower configuration.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.04 or more</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<70>c<EFBFBD>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<EFBFBD>re
|
||||
mise <20> jour : 07/04/18</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>CONFIGURATION
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
342
tools/vision/LDV/doc/english/vapi/in.htm
Normal file
342
tools/vision/LDV/doc/english/vapi/in.htm
Normal file
@@ -0,0 +1,342 @@
|
||||
<!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<70>c<EFBFBD>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">Last update: 19/05/18</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>INI
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center"><strong>Abstract</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Interface Prefix</strong></td>
|
||||
<td width="85%">In</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Number of functions</strong></td>
|
||||
<td width="85%">6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Set of functions to manipulate INI files. A maximum of 3 INI files can be simulataneously managed.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> file : INI file name </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">If >= 0 : a INI handle<br>
|
||||
If < 0, No more INI handle available</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Reserve a INI handle to operate later on. If file does not exist, a valid handle is returned, file can then be saved by calling <a href="#InSaveAndClose">InSaveAndClose</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong><strong></strong></td>
|
||||
<td width="85%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> hini : A INI handle previously returned by <a href="#InOpen">InOpen</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : Success<br>
|
||||
-1 : Invalid handle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Free INI handle. Does not save modifications, use <a href="#InSaveAndClose">InSaveAndClose</a> to save them.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> hini : A INI handle previously returned by <a href="in.htm#InOpen">InOpen</a><a href="#InOpen"></a><br>
|
||||
<strong>[IN]</strong> new_name : new filename to use for saving. If NULL, this function will use the one passed to <a href="#InOpen">InOpen</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : Success<br>
|
||||
-1 : Invalid handle, won't save.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Generate a INI file by commiting all modifications made since last call to <a href="#InOpen">InOpen</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> hini : A INI handle previously returned by <a href="in.htm#InOpen">InOpen</a><a href="#InOpen"></a><br>
|
||||
<strong>[IN]</strong> section : section name<br>
|
||||
<strong>[IN] </strong>key : key name<br>
|
||||
<strong>[OUT]</strong> val_key : buffer which will hold the key value in ASCII</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : Error : key or section does not exist<br>
|
||||
1 : Success, ASCII value for this key in the section is hold in val_key</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Retrieves a specific key in a specific section</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> hini : A INI handle previously returned by <a href="in.htm#InOpen">InOpen</a><br>
|
||||
<strong>[IN]</strong> section : section name<br>
|
||||
<strong>[IN] </strong>key : key name<br>
|
||||
<strong>[OUT]</strong> val_key : buffer which holds the key value in ASCII</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : Error : key or section could not be created or changed due to insufficient memory<br>
|
||||
1 : Success</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Adds or modify a key within a section</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">If section r key does not exist, it is created</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> hini : A INI handle previously returned by <a href="in.htm#InOpen">InOpen</a><br>
|
||||
<strong>[IN]</strong> section : section name<br>
|
||||
<strong>[IN] </strong>key : key name<br>
|
||||
<strong>[IN/OUT] </strong>val_key : buffer holding the default key value in ASCII [IN] or/and the key value [OUT]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : Key has been sucessfully retrieved<br>
|
||||
1 : Key has been created.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used to retrieve an existing key in a given section or create it with a default value.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Pretty useful!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<pre><br></pre><div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td width="15%"><strong><a name="GetKeyFromFile"></a>Prototype</strong></td>
|
||||
<td width="85%">long<strong> InGetKeyFromFile</strong>(char *file, char *section, char *key, char *val_key)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> file : INI file name<a href="in.htm#InOpen"></a><br>
|
||||
<strong>[IN]</strong> section : section name<br>
|
||||
<strong>[IN] </strong>key : key name<br>
|
||||
<strong>[IN/OUT] </strong>val_key : buffer holding the default key value in ASCII [IN] or/and the key value [OUT]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : Key could not be retrieved (filename, section or key not found)<br>
|
||||
1 : Key has been succesfully read.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used
|
||||
to read a key value directly from a file without the need to create the
|
||||
key if not present (as previous function). Typically this is used to
|
||||
read a setting from a file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Pretty useful!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.04 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<font size="3"><br></font><pre><font size="3">Example: find a proprietary key in a LDV INI file<br>long hini, must_save ;<br>short angle = 90; </font><font color="#000080" size="3"><em>/* Default value */</em></font><font size="3">
|
||||
char buffer[256] ;
|
||||
char *path_ldv, *language ;
|
||||
|
||||
path_ldv = Vapi-></font><a href="co.htm#CoGetLDVPath"><font size="3">CoGetLDVPath</font></a><font size="3">() ; </font><font color="#000080" size="3">/* Get LDV current path */</font><font size="3">
|
||||
language = Vapi-></font><a href="co.htm#CoGetCurrentLanguage"><font size="3">CoGetCurrentLanguage</font></a><font size="3">() ; </font><font color="#000080" size="3">/* Get current language */</font><font size="3">
|
||||
if ( path_ldv && language )
|
||||
{
|
||||
sprintf( buffer, "%s\\%s\\MYLDV.INI", path_ldv, language ) ;
|
||||
hini = Vapi-></font><a href="#InOpen"><font size="3">InOpen</font></a><font size="3">( buffer ) ;<br> if ( hini >= 0 )<br> {<br> sprintf( buffer, "%d", angle ) ; </font><font color="#000080" size="3"><em>/* Setting default value */</em></font><font size="3">
|
||||
must_save = Vapi-></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>/* Either angle will be set to 90 (default value), or value retrieved from INI file */</em></font><font size="3">
|
||||
if ( must_save ) Vapi-></font><a href="#InSaveAndClose"><font size="3">InSaveAndClose</font></a><font size="3">( hini ) ; </font><font color="#000080" size="3"><em>/* Save if key did not exist */</em></font><font size="3">
|
||||
else Vapi-></font><a href="#InClose"><font size="3">InClose</font></a><font size="3">( hini ) ; </font><font color="#000080" size="3"><em>/* Else regular close */</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<70>c<EFBFBD>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">Last update : 19/05/18</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>INI
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
159
tools/vision/LDV/doc/english/vapi/index.htm
Normal file
159
tools/vision/LDV/doc/english/vapi/index.htm
Normal file
@@ -0,0 +1,159 @@
|
||||
<!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): Presentation</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="Back to content " border="0" height="26" hspace="2" width="26"></a><a href="pr.htm"><img src="../images/csuiv.jpg" alt="Next Chapter " 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><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: 07/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>V
|
||||
A P I</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p><a name="Pr<50>sentation"></a><font size="4"><strong>1.
|
||||
Presentation</strong></font></p>
|
||||
|
||||
<p>VAPI (<em><strong>VISION's</strong></em> Application
|
||||
Programmer Interface) is a part of <em><strong>VISION</strong></em>
|
||||
designed to help you develop LDVs. You must have guessed that internally,
|
||||
<em><strong>VISION</strong></em> uses numerous functions to handle images
|
||||
(bit-planes conversions <--> TOS/VDI indexes, rasters handling,...)
|
||||
as well as user interface functions (e.g., progress windows).<br>
|
||||
The aim of VAPI is make available to LDVs these functions reserved, until
|
||||
now, to the internal operations of <em><strong>VISION</strong></em>.
|
||||
There are two interests for an LDV:</p>
|
||||
|
||||
<ul>
|
||||
<li>Its author spares the time to develop again an existing function
|
||||
</li>
|
||||
<li>The LDV is lighter</li>
|
||||
</ul>
|
||||
|
||||
<p>Of course, <em><strong>VISION</strong></em>
|
||||
has numerous functions (more or less easy and elegant...), a choice must
|
||||
then be made on which ones to export.
|
||||
Furthermore, <font size="3"><em><strong>VISION</strong></em></font> could
|
||||
also export its data such as the catalog, the image Browser, etc...<br>
|
||||
Since it still takes a lot of time to design and make all this, I will
|
||||
first ensure that <em><strong>VISION</strong></em> exports first a few
|
||||
"basic" functions, then, if success increases, more will follow.
|
||||
</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="dev-kit"></a><font size="4"><strong>2. Development kit
|
||||
</strong></font></p>
|
||||
|
||||
<p>The VAPI development kit is identical to the LDV one.
|
||||
You will find it <a href="../kitdev.htm">here</a>.</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="use"></a><font size="4"><strong>3. Use</strong></font></p>
|
||||
|
||||
<p>Using VAPI from an LDV is very simple: when <em><strong>VISION</strong></em>
|
||||
call the GetLDVCapabilities function, it returns a pointer on a structure
|
||||
of the type <a href="struct.htm#VAPI">VAPI</a>.
|
||||
Without going into details, this stucture contains the following
|
||||
information:</p>
|
||||
|
||||
<ul>
|
||||
<li>A header of the type <a href="struct.htm#VAPI_HEADER">VAPI_HEADER</a></li>
|
||||
<li>A list of "loose" functions. These functions are in fact
|
||||
put together in groups (also called interfaces). Each group is
|
||||
terminated by an unused memory area, which purpose is to host new
|
||||
functions from the same group. If new groups are created, they will go
|
||||
at the end of the structure, to garanty ascending compatibility.</li>
|
||||
</ul>
|
||||
|
||||
<p>Now, to use a function from VAPI, it's very simple; imagine you want to
|
||||
initialise the destination image raster passed as a parameter in the Run
|
||||
function, with the colour white (in bit-plane or True Color); you just
|
||||
have to insert the following line:</p>
|
||||
|
||||
<p><strong>Vapi->RaImgWhite( &out->Raster ) ;</strong></p>
|
||||
|
||||
<p>This only suppose you maintained the VAPI pointer provided by
|
||||
<em><strong>VISION</strong></em> through GetLDVCapabilities (done
|
||||
automatically by the skeleton).</p>
|
||||
|
||||
<p>The list of all functions defined by the VAPI interface is available
|
||||
here. Sorry, but all the interfaces and the function names are in English!
|
||||
(Translator's note: this remark is obviously for French readers).</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><a name="interfaces"></a><font size="4"><strong>4. Available interfaces
|
||||
</strong></font></p>
|
||||
|
||||
<p><font size="3">Interfaces are grouping function having a common
|
||||
interest. Here is the list (which I hope is not complete) of the current
|
||||
interfaces:</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> </td>
|
||||
<td align="center"> </td>
|
||||
<td align="center"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
<p> </p><p> </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="index.htm"><img src="../images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></a><a href="pr.htm"><img src="../images/csuiv.jpg" alt="Next Chapter " 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><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: 07/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>V
|
||||
A P I</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
151
tools/vision/LDV/doc/english/vapi/lo.htm
Normal file
151
tools/vision/LDV/doc/english/vapi/lo.htm
Normal file
@@ -0,0 +1,151 @@
|
||||
<!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<70>c<EFBFBD>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">Last update : 08/26/18</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>LOGGING INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center"><strong>Abstract</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Interface Prefix</strong></td>
|
||||
<td width="85%">Lo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Nomber of functions</strong></td>
|
||||
<td width="85%">2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Set of functions enabling logging from LDV</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%">level:
|
||||
bitmask defining the logging level of the message:: LL_FATAL, LL_ERROR,
|
||||
LL_WARNING, LL_INFO, LL_PERF, LL_MEM, LL_GW2, LL_GW1, LL_DEBUG, LL_KCODE, LL_TMP2, LL_TMP1<br>format: format string for parameters passed after (just like sprintf)<br>...: dynamic list of parameters to pass (cf. <a href="https://en.wikipedia.org/wiki/Ellipsis_%28computer_programming%29">'C' ellipsis</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">Number of bytes written to logging file</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used to send information to <em><strong>VISION</strong></em>'s logging file; typically for debugging, performance or error<br>Note that if level parameter does not match current <em><strong>VISION</strong></em>''s
|
||||
logging level bitmask, this function will simply return without even
|
||||
starting formatting data (which may have been CPU consuming)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">Example:<br>Vapi->LoDoLog(LL_DEBUG, "%ld pixels computed or deduced", np) ;<br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.04 or more</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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>Parameters</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">The bitmask logging level currently used by <em><strong>VISION</strong></em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used to know what is the current <em><strong>VISION</strong></em>'s logging level in order to not proceed to some useless computation for some message which won't be logged anyway</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">Use
|
||||
this function only if you may have extra computation before calling
|
||||
LoDoLog as LoDoLog will return immediatly if logging level does not
|
||||
match loggng level message.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.04 or more</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </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<70>c<EFBFBD>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"></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>LOGGING</strong></font><font size="4"><strong> INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
201
tools/vision/LDV/doc/english/vapi/me.htm
Normal file
201
tools/vision/LDV/doc/english/vapi/me.htm
Normal file
@@ -0,0 +1,201 @@
|
||||
<!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) : MEM 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 src="../images/cprev.jpg" alt="Chapitre pr<70>c<EFBFBD>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="struct.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">Last update : 08/04/18</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>MEM
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center"><strong>Abstract</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Pr<EFBFBD>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%">Set of functions allowing to manipulate memory areas, mostly image oriented</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[OUT]</strong> dst : Pointer to memory area to change<br>
|
||||
<strong>[IN]</strong> src : Pointer to memory area to copy from<br>
|
||||
<strong>[OUT]</strong> nb_elems_dst : Number of 8bit elements in destination area<br>
|
||||
<strong>[IN]</strong> nb_elems_src : Number of 8bit elements in source area</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Copies
|
||||
a 8bit memory area by respecting the number of elements in each zone.
|
||||
Very useful to perform changes on a line. Not working with overlapping
|
||||
zones.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Number of elements shall not be more than 65535 due to specific optimization. If a 68030 processor is available, <em><strong>VISION</strong></em>
|
||||
will use automatically an optimzed routine.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[OUT]</strong> dst : Pointer to memory area to change<br>
|
||||
<strong>[IN]</strong> src : Pointer to memory area to copy from<br>
|
||||
<strong>[OUT]</strong> nb_elems_dst : Number of 16bit elements in destination area<br>
|
||||
<strong>[IN]</strong> nb_elems_src : Number of 16bit elements in source area</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Retour</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Copies a 16bit memory area by respecting the number of elements in each
|
||||
zone. Very useful to perform changes on a line. Not working with
|
||||
overlapping zones.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">Number of elements shall not be more than 32767 due to specific optimization. If a 68030 processor is available, <em><strong>VISION</strong></em>
|
||||
will use automatically an optimzed routine.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[OUT]</strong> dst : Pointer to memory area to change<br>
|
||||
<strong>[IN]</strong> src : Pointer to memory area to copy from<br>
|
||||
<strong>[OUT]</strong> nb_elems_dst : Number of 32bit elements in destination area<br>
|
||||
<strong>[IN]</strong> nb_elems_src : Number of 32bit elements in source area</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Copies a 32bit memory area by respecting the number of elements in each
|
||||
zone. Very useful to perform changes on a line. Not working with
|
||||
overlapping zones.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Number of elements shall not be more than 16383 due to specific optimization. If a 68030 processor is available, <em><strong>VISION</strong></em>
|
||||
will use automatically an optimzed routine.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<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="in.htm"><img src="../images/cprev.jpg" alt="Chapitre pr<70>c<EFBFBD>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="struct.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">Last update : 08/04/18</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="17%"><p align="center"><a href="..%5C..%5C..%5Cdownload/dvldv.zip"><br></a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>MEM
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
107
tools/vision/LDV/doc/english/vapi/modele.htm
Normal file
107
tools/vision/LDV/doc/english/vapi/modele.htm
Normal file
@@ -0,0 +1,107 @@
|
||||
<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): Content</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="Previous Chapter "
|
||||
hspace="2" width="46" height="26"><a href="sommaire.htm"><img
|
||||
src="../images/csom.jpg" alt="Back to content "
|
||||
border="0" hspace="2" width="26" height="26"></a><a
|
||||
href="preambule.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>(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">Last update:
|
||||
<!--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">Download documentation</a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>C O N T
|
||||
E N T</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> <!--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> </p>
|
||||
|
||||
<p> </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="Previous chapter "
|
||||
hspace="2" width="46" height="26"><a href="sommaire.htm"><img
|
||||
src="../images/csom.jpg" alt="Back to content "
|
||||
border="0" hspace="2" width="26" height="26"></a><a
|
||||
href="preambule.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>(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">Last update:
|
||||
<!--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">Download documentation</a></p>
|
||||
</td>
|
||||
<td width="33%"><p align="center"><font size="4"><strong>C O N T E
|
||||
N T</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></div>
|
||||
</body>
|
||||
</html>
|
||||
229
tools/vision/LDV/doc/english/vapi/pr.htm
Normal file
229
tools/vision/LDV/doc/english/vapi/pr.htm
Normal file
@@ -0,0 +1,229 @@
|
||||
<!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) : Progress 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="index.htm"><img src="../images/cprev.jpg" alt="Previous Chapter " border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></a><a href="ra.htm"><img src="../images/csuiv.jpg" alt="Next Chapter " 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><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>PROGRESS
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center"><strong>Summary</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Interface prefix</strong></td>
|
||||
<td width="85%">Pr</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Number of functions</strong></td>
|
||||
<td width="85%">4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Set of functions allowing an action on
|
||||
<em><strong>VISION</strong></em>'s progress windows, to inform
|
||||
user about work in progress.</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> pc: percentage
|
||||
of work done (0...100)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Updates the percentage indicator in the progress
|
||||
window</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">If the pc paramteter is out of limits, it will be
|
||||
shifted to the nearest limit. The type long is used to ensure
|
||||
compatibility between compilers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td width="15%"><a name="PrOptimize"></a><strong>Prototype</strong></td>
|
||||
<td width="85%">void cdecl <strong>PrOptimize</strong>(long
|
||||
mask)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> cpu030: 68030 instructions
|
||||
will be used when running<br>
|
||||
<strong>[IN] </strong>mask: bit mask having the following meaning:
|
||||
<br>
|
||||
Bit 0: 68003 instructios will be used<br>
|
||||
Bit 1: DSP will be used</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Indicates to the user that 68030 and/or DSP
|
||||
optimisations will be used when running. This will display a
|
||||
"030!" or "DSP!" in the progress window
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">The type long is used to ensure
|
||||
compatibility between compilers</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> no_line : text area index (0, 1, or 2)<br>
|
||||
<strong>[IN] </strong>text : pointer to string to be displayed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Displays in the defined text area of the progress window, the specified text</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">The type long is used to ensure
|
||||
compatibility between compilers. If no_line is not valid, nothing happens.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
|
||||
|
||||
<table border="2" width="100%"><tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> pc : percentage
|
||||
of work done (0...100)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : User did not request cancel of current operation (Run)<br>
|
||||
!= 0 : User requested to cancel the current operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Update current progress and retuns a non zero value if user wants to cancel the operation.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">If the pc paramteter is out of limits, it will be
|
||||
shifted to the nearest limit. The type long is used to ensure
|
||||
compatibility between compilers.<br>Used together with<a href="../../../ldv/defines.htm#LDVF"> LDVF_SUPPORTCANCEL</a> flag,
|
||||
this function enables managing cancel from a LDV<a href="../../../ldv/descrip.htm#run">Run</a> call.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td></tr></tbody></table><p></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="index.htm"><img src="../images/cprev.jpg" alt="Previous chapter " border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></a><a href="ra.htm"><img src="../images/csuiv.jpg" alt="Next Chapter " 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><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>PROGRESS
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
761
tools/vision/LDV/doc/english/vapi/ra.htm
Normal file
761
tools/vision/LDV/doc/english/vapi/ra.htm
Normal file
@@ -0,0 +1,761 @@
|
||||
<!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): 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%">
|
||||
<tbody><tr>
|
||||
<td align="center" width="17%"><a href="pr.htm"><img src="../images/cprev.jpg" alt="Previous Chapter " border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Back to content " border="0" height="27" hspace="2" width="32"></a><a href="co.htm"><img style="border: 0px solid ; width: 43px; height: 26px;" src="../images/csuiv.jpg" alt="Next Chapter" 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><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>RASTER
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td align="center" width="17%"></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><tr>
|
||||
<td colspan="2" align="center"><strong>Summary</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Interface prefix</strong></td>
|
||||
<td width="85%">Ra</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Number of functions</strong></td>
|
||||
<td width="85%">16</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Set of functions allowing to handle image rasters
|
||||
under different formats (bit-plane, True Color, ATARI formats,
|
||||
specific, standard...).</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN/OUT]</strong> img: pointer
|
||||
on the image to process</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Initialise an image raster with the white colour.
|
||||
The expected format is the <a href="../notions.htm#formats%20d%27images">ATARI format</a>.
|
||||
In palette mode (img->fd_nplanes <= 8), the raster is
|
||||
initialised with bits set to 0 (TOS/VID index = 0), the 0 index of
|
||||
the palette is usually set on the white colour.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">This function processes the transformation
|
||||
"in place".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0: True Color format on 16 bits or
|
||||
number of bits of the graphic resolution not equal to
|
||||
16<br>
|
||||
1: Number of planes of the graphic resolution on 16 bits but pixel
|
||||
coding on 15 bits (5 per component)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Indicates whether the True Color coding of the
|
||||
graphic resolution is on 15 or 16 bits</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">In cases where it is useful to know whether the
|
||||
number of bits of coding for the green component is on 5 or 6
|
||||
bits, it is possible, using this function, to know whether all the
|
||||
16 bits of the True Color mode on 16 planes are used (green
|
||||
component is then coded on 6 bits instead of 5 and RaIs51Bits
|
||||
returns 0) or only 15 bits are used (green component is then coded
|
||||
on 5 bits and RaIs15Bits returns 1)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN/OUT]</strong> img: pointer
|
||||
on the image to process</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Transforms a True Color raster of the specific
|
||||
format of the graphic card to a True Color raster in
|
||||
<a href="../notions.htm#formats%20d%27images">ATARI format</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">This function processes the transformation
|
||||
"in place". If <em><strong>VISION</strong></em>
|
||||
recognises that the machine specific format is the ATARI format,
|
||||
the function returns immediately, without any processing. This
|
||||
function is the reverse of <a href="#RiTCInvConvert">RiTCInvConvert</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN/OUT]</strong> img: pointer
|
||||
on the image to process</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Transforms a True Color raster in
|
||||
<a href="../notions.htm#formats%20d%27images">ATARI format</a>
|
||||
to a True Color raster in the format specific to the graphic card</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">This function processes the transformation
|
||||
"in place". If <em><strong>VISION</strong></em>
|
||||
recognises that the machine specific format is the ATARI format,
|
||||
the function returns immediately, without any processing.
|
||||
This function is the reverse of <a href="#RiTCConvert">RiTCInvConvert</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN/OUT]</strong> img: pointer
|
||||
on the image to process<br>
|
||||
<strong>[IN] </strong>width: maximum width (in pixels).
|
||||
width cannot be greater than 32767.
|
||||
Coding on a 32 bits integer is only for ensuring compatibility
|
||||
with 32 bits compilers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Prepares index transfer operatios to an image
|
||||
raster in <a href="../notions.htm#formats%20d%27images">ATARI format</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">The width may seem redundant with
|
||||
img->fd_w but it is there because VISION always set
|
||||
img->fd_w to a multiple of 16 (internal optimisations). Thus,
|
||||
width allows not to be limited to a width multiple of 16 pixels.<br>
|
||||
<u>Interesting</u> : if width is a multiple of 16, the
|
||||
RaInd2Raster function will be much faster!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> indexes: pointer
|
||||
on the TOS table indexes to convert to the raster previously
|
||||
initialised with the <a href="#RaInd2RasterInit">RaInd2RasterInit</a> function<br>
|
||||
<strong>[IN] </strong>nb_indexes: Number of indexes in the table
|
||||
pointed by indexes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Converts TOS indexes in raster bit-plane data</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Once the initialisation is done by the
|
||||
<a href="#RaInd2RasterInit">RaInd2RasterInit</a> functio,
|
||||
this function may be called as much as wanted to transform the
|
||||
data flow (TOS indexes) to the image raster. VAPI memorises the
|
||||
last position in the raster. For instance:
|
||||
Vapi->RaInd2RasterInit( img, wished_width ) ;<br>
|
||||
for ( y = 0; y < img->fd_h; y++ )<br>
|
||||
{<br>
|
||||
GetTosIndexes( y, tab_indexes, &nb_indexes ) ; /*
|
||||
Get TOS indexes for line y */<br>
|
||||
Vapi->RaInd2Raster( tab_indexes, nb_indexes ) ; /*
|
||||
Send to the ATARI bit-plane format raster */<br>
|
||||
}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> pt_bitplan:
|
||||
pointer on the beginning of raster data to convert
|
||||
(start with a multiple of 16 pixels)<br>
|
||||
<strong>[IN] </strong>nb_pts: Number of points to
|
||||
convert<br>
|
||||
<strong>[IN] </strong>nb_planes: Number of planes of
|
||||
the image raster. nb_planes can only take values
|
||||
1, 2, 4, or 8. Coding on a 32 bits integer is only for ensuring compatibility
|
||||
with 32 bits compilers.<br>
|
||||
<strong>[OUT] </strong>tos_indexes: pointer on the
|
||||
TOS indexes table receiving the data (must be dimensioned to
|
||||
nb_pts bytes)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Converts bit-plane data from the raster to TOS
|
||||
indexes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Reverse function of <a href="#RaInd2Raster">RaInd2Raster</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> nb_planes: Number
|
||||
of plans. nb_planes can only take values 1, 2,
|
||||
4, or 8. Coding on a 32 bits integer is only for ensuring
|
||||
compatibility with 32 bits compilers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">Pointeur on the conversion table
|
||||
TOS index --> VDI index</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Get the matching table between TOS and VDI
|
||||
indexes, for a given number of planes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Reverse function of <a href="#RaGetVDI2TOSArray">RaGetVDI2TOSArray</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> nb_planes: Number
|
||||
of planes. nb_planes can only take values 1, 2,
|
||||
4, or 8. Coding on a 32 bits integer is only for ensuring compatibility
|
||||
with 32 bits compilers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">Pointeur on the conversion table
|
||||
VDI index --> TOS index</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Get the matching table between VDI and TOS
|
||||
indexes, for a given number of planes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%">Reverse function of <a href="#RaGetTOS2VDIArray">RaGetTOS2VDIArray</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI version</strong></td>
|
||||
<td width="85%">1.00 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> width : Image width in pixels number<br>
|
||||
<strong>[IN]</strong> height : Image height in pixels number<br>
|
||||
<strong>[IN]</strong> nplanes : Number of planes per pixel<br>32bit variable sizes is just here for 32bit compilers compatibility.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">The required memory size, in bytes, to hold the image</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used to know the image size, the 16 pixels alignement taken into account</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Comments</strong></td>
|
||||
<td width="85%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN/OUT]</strong> raster :
|
||||
VDI structure defining an image</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">0 : OK, memory has been allocated (pointed out by fd_addr field of MFDB structure)<br>
|
||||
!= 0 : Error (not enough memory)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Allocate an image based on its definition (fd_w, fd_h and fd_nplanes MFDB structure fields).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">Upon success, fd_addr points to image data (not initialized), else fd_addr is set to NULL.<br>
|
||||
fd_wdwidth is updated, other fileds remain unchanged.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN/OUT]</strong> raster : VDI structure defining an image</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Free previously allocated memory by<a href="ra.htm#RaRasterAlloc"> RaRasterAlloc</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">All MFDB fileds are set to zero after memory being freed.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.02 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table style="width: 100%;" border="2">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> rc : Pointer to a <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
|
||||
structure defining elementary color changes, first pixel to change and number of pixels to operate on.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Change the current color spreading of a 15bit True Color image. red, green and blue fields of <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a> shall point to arrays of 32 (32 = 2^5) elements,
|
||||
each element being the value to substitute at this array index for instance the formula:<br>
|
||||
red[i] = i ; (0 <= i < 32) does not change anything (i being replaced by i).<br>
|
||||
Warining ! The new value to substitute shall belong to range [0,31].<br>
|
||||
Another example:: rise lighting by 100% for all compounds:<br>
|
||||
new_val = i * 2 ;<br>
|
||||
if ( new_val > 31) new_val = 31 ; /* Important ! */<br>
|
||||
red[i] = green[i] = blue[i] = new_val ;</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">This function operates on <span style="text-decoration: underline;">Machine specific format </span>! You shall not call <a href="ra.htm#RaTCConvert">RaTCConvert</a> or <a href="ra.htm#RaTCInvConvert">RaTCInvConvert</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%;"><strong>VAPI </strong><strong>Version</strong><strong> </strong></td>
|
||||
<td width="85%">1.03 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> rc : Pointer to a <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
|
||||
structure defining elementary color changes, first pixel to change and number of pixels to operate on.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Change the current color spreading of a 16bit True Color image. red, green and blue fields of <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
|
||||
shall point to arrays of 32 (32 = 2^5) elements for red and
|
||||
blue compounds and 64 (64=2^6) for green compound. Each element being
|
||||
the value to substitute at this array index for instance the formula:<br>
|
||||
red[i] = i ; (0 <= i < 32) does not change anything (i being replaced by i).<br>
|
||||
Warining ! The new value to substitute shall belong to range [0,31] for red and blue and [0;63] for green.<br>
|
||||
Another example:: rise lighting by 100% for green compound:<br>
|
||||
new_val = i * 2 ;<br>
|
||||
if ( new_val > 63) new_val = 63 ; /* Important ! */<br>
|
||||
green[i] = new_val ; /* For 0 <= i < 64) */<br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">This function operates on <span style="text-decoration: underline;">Machine specific format </span>! You shall not call <a href="ra.htm#RaTCConvert">RaTCConvert</a> or <a href="ra.htm#RaTCInvConvert">RaTCInvConvert</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.03 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> rc : Pointer to a <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
|
||||
structure defining elementary color changes, first pixel to change and number of pixels to operate on.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Change the current color spreading of a 32bit True Color image. red, green and blue fields of <a href="struct.htm#REMAP_COLORS">REMAP_COLORS</a>
|
||||
shall point to arrays of 256 (256=2^8) elements each element
|
||||
being the value to substitute at this array index for instance the
|
||||
formula::<br>
|
||||
red[i] = i ; (0 <= i < 256) does not change anything (i being replaced by i).<br>
|
||||
Warining ! The new value to substitute shall belong to range [0,255].<br>
|
||||
Another example:: lower lighting by 20% for all compounds:<br>
|
||||
new_val = (80 * i) / 100 ;<br>
|
||||
/* Note that we still stay in [0;255] range
|
||||
...*/<br>
|
||||
red[i] = green[i] = blue[i] = new_val ; /* For 0 <= i
|
||||
< 256) */</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">This function operates on <span style="text-decoration: underline;">Machine specific format </span>! You shall not call <a href="ra.htm#RaTCConvert">RaTCConvert</a> or <a href="ra.htm#RaTCInvConvert">RaTCInvConvert</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.03 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> in : MFDB
|
||||
describing image to be rotated<br>
|
||||
<strong>[OUT]</strong>out : destination MFDB<br>
|
||||
<strong>[IN]</strong> angle : Angle in degrees for the rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Used
|
||||
to know the the width/height after rotation in order to proper allocate
|
||||
the required memory. All fileds but fd_addr are set as the memory is
|
||||
NOT allocated.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">You should call this function right before the next one.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.03 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<p> </p>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="2" width="100%">
|
||||
<tbody><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>Parameters</strong></td>
|
||||
<td width="85%"><strong>[IN]</strong> in : MFDB
|
||||
describing image to be rotated<br>
|
||||
<strong>[OUT]</strong>out : Destination MFDB<br>
|
||||
<strong>[IN]</strong> angle : Angle in degrees for the rotation<br>
|
||||
<strong>[IN]</strong> flags : if bit#0 is set, inform <a href="index.htm">VAPI</a>
|
||||
to display a progress window</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Return</strong></td>
|
||||
<td width="85%">ELDV_NOERROR : life's good<br>
|
||||
ELDV_NOTENOUGHMEMORY : crystal clear...<br>
|
||||
ELDV_CANCELLED : (only possible if progress window is requested)<br>
|
||||
ELDV_GENERALFAILURE : crystal clear...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Description</strong></td>
|
||||
<td width="85%">Perform
|
||||
the requested rotation. Destination MFDB should be allocated or this
|
||||
function will allocate it. Note that this last option is a bit
|
||||
dangerous as it is now up to the LDV to call <a href="ra.htm#RaRasterFree">RaRasterFree</a> to free it. Good news is that <a href="index.htm">VAPI</a> uses standard VDI format if necessary.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>Remarks</strong></td>
|
||||
<td width="85%">If angle is a multiple of 90degrees, specific routines will be called to avoid un-necessary sinus and cosinus computations</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="15%"><strong>VAPI </strong><strong>Version</strong></td>
|
||||
<td width="85%">1.03 or greater</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
|
||||
<hr>
|
||||
|
||||
<hr>
|
||||
<div align="center"><center>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tbody><tr>
|
||||
<td align="center" width="17%"><a href="pr.htm"><img src="../images/cprev.jpg" alt="Previous chapter " border="0" height="26" hspace="2" width="46"></a><a href="index.htm"><img src="../images/csom.jpg" alt="Back to content " border="0" height="26" hspace="2" width="26"></a><a href="co.htm"><img style="border: 0px solid ; width: 43px; height: 26px;" src="../images/csuiv.jpg" alt="Next Chapter" 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><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>RASTER
|
||||
INTERFACE</strong></font></p>
|
||||
</td>
|
||||
<td valign="top" width="17%"> </td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</center></div>
|
||||
</body></html>
|
||||
183
tools/vision/LDV/doc/english/vapi/struct.htm
Normal file
183
tools/vision/LDV/doc/english/vapi/struct.htm
Normal file
@@ -0,0 +1,183 @@
|
||||
<!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>
|
||||
Reference in New Issue
Block a user