Release version 1.3 documentation
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
146
cva-input.html
@ -1,146 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<title>libcvautomation: $title</title>
|
||||
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script><script src="http://www.mathjax.org/mathjax/MathJax.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div! -->
|
||||
|
||||
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Generated by Doxygen 1.7.6.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>Bradlee Speice <<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>> </dd></dl>
|
||||
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
|
||||
<h2><a class="anchor" id="usage"></a>
|
||||
Usage:</h2>
|
||||
<p>This program works kind of like a mini-language. All options are parsed left-to-right, and executed right there. Thus, specifying "--display" at different places in the options will cause this program to use the most recent given display. </p>
|
||||
<h2><a class="anchor" id="example"></a>
|
||||
Example Usage:</h2>
|
||||
<p>Click the mouse:</p>
|
||||
<p>cva-input -s 'click 1'</p>
|
||||
<p>Press key 'a':</p>
|
||||
<p>cva-input -s 'keyclick a'</p>
|
||||
<h2><a class="anchor" id="options"></a>
|
||||
Full Options:</h2>
|
||||
<p>-h, --help: Display this usage message.</p>
|
||||
<p>-u, --usage: Display this usage message.</p>
|
||||
<p>-d, --display: Specify the X display to use.</p>
|
||||
<p>-m, --search-method: Specify a method to search by. See <code>cva-match --help</code> for more information on this.</p>
|
||||
<p>-t, --tolerance: Specify how strict the match is.</p>
|
||||
<p>-b, --button: Specify the mouse button to press (default 1).</p>
|
||||
<p>-c, --center: Instead of matching the top-left corner of an image, match the center of the image.</p>
|
||||
<p>-o, --sane-tolerance: Set the tolerance using a scale of 1-100, rather than INT_MIN to INT_MAX (100 ~= INT_MAX)</p>
|
||||
<p>-s, --string: Command string - see below.</p>
|
||||
<h2><a class="anchor" id="commands"></a>
|
||||
Full Command List:</h2>
|
||||
<p><code>mouseclick:</code> Click the mouse in-place.</p>
|
||||
<p><code>imouseclick:</code> Click the mouse at an image's top-left corner.</p>
|
||||
<p><code>icmouseclick:</code> Click the mouse at an image's center.</p>
|
||||
<p><code>mousexy:</code> Move the mouse to the given coordinate.</p>
|
||||
<p><code>mouserxy:</code> Move the mouse by the given x and y values (relative motion).</p>
|
||||
<p><code>mouseimage:</code> Move the mouse to an image's top-left corner.</p>
|
||||
<p><code>cmouseimage:</code> Move the mouse to an image's center.</p>
|
||||
<p><code>mousedown:</code> Push and leave down a mouse button.</p>
|
||||
<p><code>mouseup:</code> Release a mouse button.</p>
|
||||
<p><code>mousejiggle:</code> Jiggle the mouse (helps to activate some widgets).</p>
|
||||
<p><code>mousescrollu:</code> Scroll the mouse wheel up</p>
|
||||
<p><code>mousescrolld:</code> Scroll the mouse wheel down</p>
|
||||
<p><code>keyclick:</code> Click a keyboard button.</p>
|
||||
<p><code>keydown:</code> Push and leave down a keyboard button.</p>
|
||||
<p><code>keyup:</code> Release a keyboard button.</p>
|
||||
<p><code>keystring:</code> Input a string of keys to X11.</p>
|
||||
<h2><a class="anchor" id="contact"></a>
|
||||
Contact Information:</h2>
|
||||
<p>Questions? Comments? Concerns? Suggestions? Send all feedback to Bradlee Speice at <<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>> </p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Defines</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,250 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: cva-input.c Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>cva-input.c</h1><a href="cva-input_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: cva-input.c</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: This is an example program to demonstrate the XTest and XInput</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * functionality in libcvautomation</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> *</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Created: 06/26/2012 09:20:20 AM</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Author: Bradlee Speice (), bspeice.nc@gmail.com</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * Organization: </span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> *</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> */</span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <getopt.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include <limits.h></span>
|
||||
<a name="l00023"></a>00023 <span class="preprocessor">#include <math.h></span>
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="libcvautomation_8h.html">libcvautomation/libcvautomation.h</a>></span>
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">void</span> <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a> ();
|
||||
<a name="l00028"></a>00028 <span class="keywordtype">void</span> <a class="code" href="cva-input_8c.html#21a0cec68b592a986793eb77804e776f">checkXTEEnabled</a> (Display *display);
|
||||
<a name="l00029"></a>00029
|
||||
<a name="l00030"></a><a class="code" href="cva-input_8c.html#24e6ce6d053864cf5fb7af941457bb0e">00030</a> <span class="keywordtype">int</span> <a class="code" href="cva-input_8c.html#24e6ce6d053864cf5fb7af941457bb0e">main</a>( <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv )
|
||||
<a name="l00031"></a>00031 {
|
||||
<a name="l00032"></a>00032 <span class="comment">/* Set up for getopt */</span>
|
||||
<a name="l00033"></a>00033 <span class="keywordtype">int</span> mouseButton;
|
||||
<a name="l00034"></a>00034 mouseButton = 1;
|
||||
<a name="l00035"></a>00035 <span class="keywordtype">char</span> *separator;
|
||||
<a name="l00036"></a>00036 separator = <span class="stringliteral">","</span>;
|
||||
<a name="l00037"></a>00037 <span class="keywordtype">char</span> *xDisplayLocation;
|
||||
<a name="l00038"></a>00038 xDisplayLocation = <span class="stringliteral">""</span>;
|
||||
<a name="l00039"></a>00039 Display *display;
|
||||
<a name="l00040"></a>00040 display = NULL;
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="keywordtype">int</span> searchMethod, tolerance;
|
||||
<a name="l00043"></a>00043 searchMethod = 0;
|
||||
<a name="l00044"></a>00044 tolerance = INT_MAX;
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00046"></a>00046 <span class="comment">/* Start getopt */</span>
|
||||
<a name="l00047"></a>00047 <span class="keywordflow">while</span> (1)
|
||||
<a name="l00048"></a>00048 {
|
||||
<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">struct </span>option long_options[] =
|
||||
<a name="l00050"></a>00050 {
|
||||
<a name="l00051"></a>00051 {<span class="stringliteral">"help"</span>, no_argument, 0, <span class="charliteral">'h'</span>},
|
||||
<a name="l00052"></a>00052 {<span class="stringliteral">"usage"</span>, no_argument, 0, <span class="charliteral">'u'</span>},
|
||||
<a name="l00053"></a>00053 {<span class="stringliteral">"version"</span>, no_argument, 0, <span class="charliteral">'v'</span>},
|
||||
<a name="l00054"></a>00054 {<span class="stringliteral">"display"</span>, required_argument, 0, <span class="charliteral">'d'</span>},
|
||||
<a name="l00055"></a>00055 {<span class="stringliteral">"search-method"</span>,required_argument, 0, <span class="charliteral">'m'</span>},
|
||||
<a name="l00056"></a>00056 {<span class="stringliteral">"tolerance"</span>, required_argument, 0, <span class="charliteral">'t'</span>},
|
||||
<a name="l00057"></a>00057 {<span class="stringliteral">"button"</span>, required_argument, 0, <span class="charliteral">'b'</span>},
|
||||
<a name="l00058"></a>00058 {<span class="stringliteral">"string"</span>, required_argument, 0, <span class="charliteral">'s'</span>},
|
||||
<a name="l00059"></a>00059 {<span class="stringliteral">"sane-tolerance"</span>, required_argument, 0,<span class="charliteral">'o'</span>},
|
||||
<a name="l00060"></a>00060 {<span class="stringliteral">"print-format"</span>,required_argument, 0, <span class="charliteral">'p'</span>},
|
||||
<a name="l00061"></a>00061 <span class="comment">/* Other valid values are "optional_argument"</span>
|
||||
<a name="l00062"></a>00062 <span class="comment"> * and "required_argument" */</span>
|
||||
<a name="l00063"></a>00063 {0, 0, 0, 0}
|
||||
<a name="l00064"></a>00064 };
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066 <span class="keywordtype">int</span> option_index = 0;
|
||||
<a name="l00067"></a>00067 opterr = 0;
|
||||
<a name="l00068"></a>00068
|
||||
<a name="l00069"></a>00069 <span class="keywordtype">int</span> c = getopt_long (argc, argv, <span class="stringliteral">"hud:m:t:b:cs:"</span>, <span class="comment">/* Use a single colon for required_argument,</span>
|
||||
<a name="l00070"></a>00070 <span class="comment"> * double colon for optional_argument */</span>
|
||||
<a name="l00071"></a>00071 long_options, &option_index);
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00073"></a>00073 <span class="comment">/* We're done with parsing options */</span>
|
||||
<a name="l00074"></a>00074 <span class="keywordflow">if</span> (c == -1)
|
||||
<a name="l00075"></a>00075 <span class="keywordflow">break</span>;
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00077"></a>00077 <span class="keywordflow">switch</span> (c)
|
||||
<a name="l00078"></a>00078 {
|
||||
<a name="l00079"></a>00079 <span class="keywordflow">case</span> 0:
|
||||
<a name="l00080"></a>00080 <span class="keywordflow">break</span>;
|
||||
<a name="l00081"></a>00081
|
||||
<a name="l00082"></a>00082 <span class="keywordflow">case</span> <span class="charliteral">'h'</span>:
|
||||
<a name="l00083"></a>00083 <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a>();
|
||||
<a name="l00084"></a>00084 <span class="keywordflow">break</span>;
|
||||
<a name="l00085"></a>00085
|
||||
<a name="l00086"></a>00086 <span class="keywordflow">case</span> <span class="charliteral">'u'</span>:
|
||||
<a name="l00087"></a>00087 <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a>();
|
||||
<a name="l00088"></a>00088 <span class="keywordflow">break</span>;
|
||||
<a name="l00089"></a>00089
|
||||
<a name="l00090"></a>00090 <span class="keywordflow">case</span> <span class="charliteral">'v'</span>:
|
||||
<a name="l00091"></a>00091 <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a>();
|
||||
<a name="l00092"></a>00092 <span class="keywordflow">break</span>;
|
||||
<a name="l00093"></a>00093
|
||||
<a name="l00094"></a>00094 <span class="keywordflow">case</span> <span class="charliteral">'d'</span>:
|
||||
<a name="l00095"></a>00095 <span class="keywordflow">if</span> (display == NULL)
|
||||
<a name="l00096"></a>00096 display = XOpenDisplay( optarg );
|
||||
<a name="l00097"></a>00097 <span class="keywordflow">else</span>
|
||||
<a name="l00098"></a>00098 {
|
||||
<a name="l00099"></a>00099 XCloseDisplay( display );
|
||||
<a name="l00100"></a>00100 XOpenDisplay( optarg );
|
||||
<a name="l00101"></a>00101 }
|
||||
<a name="l00102"></a>00102
|
||||
<a name="l00103"></a>00103 <span class="keywordflow">case</span> <span class="charliteral">'m'</span>:
|
||||
<a name="l00104"></a>00104 searchMethod = atoi(optarg);
|
||||
<a name="l00105"></a>00105 <span class="keywordflow">break</span>;
|
||||
<a name="l00106"></a>00106
|
||||
<a name="l00107"></a>00107 <span class="keywordflow">case</span> <span class="charliteral">'t'</span>:
|
||||
<a name="l00108"></a>00108 tolerance = atoi(optarg);
|
||||
<a name="l00109"></a>00109 <span class="keywordflow">break</span>;
|
||||
<a name="l00110"></a>00110
|
||||
<a name="l00111"></a>00111 <span class="keywordflow">case</span> <span class="charliteral">'b'</span>:
|
||||
<a name="l00112"></a>00112 mouseButton = atoi(optarg);
|
||||
<a name="l00113"></a>00113 <span class="keywordflow">break</span>;
|
||||
<a name="l00114"></a>00114
|
||||
<a name="l00115"></a>00115 <span class="keywordflow">case</span> <span class="charliteral">'s'</span>:
|
||||
<a name="l00116"></a>00116 <span class="keywordflow">if</span> (display == NULL)
|
||||
<a name="l00117"></a>00117 display = XOpenDisplay( xDisplayLocation );
|
||||
<a name="l00118"></a>00118 <a class="code" href="structcvaPoint.html">cvaPoint</a> returnPoint;
|
||||
<a name="l00119"></a>00119 returnPoint = <a class="code" href="libcvautomation-xtest_8h.html#382af05e5669ea2cbb22608e41cbc49a">xte_commandString</a>( display, optarg, mouseButton, searchMethod, tolerance );
|
||||
<a name="l00120"></a>00120
|
||||
<a name="l00121"></a>00121 <span class="keywordflow">if</span> (returnPoint.<a class="code" href="structcvaPoint.html#4b281115ba26b80bfc9ab6250b37d01d">x</a> != -1 && returnPoint.<a class="code" href="structcvaPoint.html#3e7df78670c23fb2114a386750edbf1e">y</a> != -1)
|
||||
<a name="l00122"></a>00122 printf(<span class="stringliteral">"%s%s%i%s%i\n"</span>, optarg, separator, returnPoint.<a class="code" href="structcvaPoint.html#4b281115ba26b80bfc9ab6250b37d01d">x</a>, separator, returnPoint.<a class="code" href="structcvaPoint.html#3e7df78670c23fb2114a386750edbf1e">y</a>);
|
||||
<a name="l00123"></a>00123 <span class="keywordflow">else</span>
|
||||
<a name="l00124"></a>00124 printf(<span class="stringliteral">"%s\n"</span>, optarg);
|
||||
<a name="l00125"></a>00125 <span class="keywordflow">break</span>;
|
||||
<a name="l00126"></a>00126
|
||||
<a name="l00127"></a>00127 <span class="keywordflow">case</span> <span class="charliteral">'o'</span>:
|
||||
<a name="l00128"></a>00128 tolerance = atoi(optarg);
|
||||
<a name="l00129"></a>00129 <span class="comment">/* Provide a more sane way to configure tolerance:</span>
|
||||
<a name="l00130"></a>00130 <span class="comment"> * --sane-tolerance=100 ~= INT_MAX */</span>
|
||||
<a name="l00131"></a>00131 tolerance = pow(1.2397076, tolerance);
|
||||
<a name="l00132"></a>00132 <span class="keywordflow">break</span>;
|
||||
<a name="l00133"></a>00133
|
||||
<a name="l00134"></a>00134 <span class="keywordflow">case</span> <span class="charliteral">'?'</span>:
|
||||
<a name="l00135"></a>00135 <span class="comment">/* Error routine */</span>
|
||||
<a name="l00136"></a>00136 <span class="keywordflow">break</span>;
|
||||
<a name="l00137"></a>00137
|
||||
<a name="l00138"></a>00138 <span class="keywordflow">default</span>:
|
||||
<a name="l00139"></a>00139 fprintf( stderr, <span class="stringliteral">"Unknown option..."</span> );
|
||||
<a name="l00140"></a>00140 exit(0);
|
||||
<a name="l00141"></a>00141 };
|
||||
<a name="l00142"></a>00142 }
|
||||
<a name="l00143"></a>00143
|
||||
<a name="l00144"></a>00144 <span class="keywordflow">if</span> ( display != NULL )
|
||||
<a name="l00145"></a>00145 XCloseDisplay( display );
|
||||
<a name="l00146"></a>00146
|
||||
<a name="l00147"></a>00147 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00148"></a>00148 }
|
||||
<a name="l00149"></a>00149
|
||||
<a name="l00150"></a>00150 <span class="comment">/* </span>
|
||||
<a name="l00151"></a>00151 <span class="comment"> * === FUNCTION ======================================================================</span>
|
||||
<a name="l00152"></a>00152 <span class="comment"> * Name: usage</span>
|
||||
<a name="l00153"></a>00153 <span class="comment"> * Description: I really shouldn't need to write this</span>
|
||||
<a name="l00154"></a>00154 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00155"></a>00155 <span class="comment"> */</span>
|
||||
<a name="l00156"></a><a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">00156</a> <span class="keywordtype">void</span> <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a> ( )
|
||||
<a name="l00157"></a>00157 {
|
||||
<a name="l00158"></a>00158 fprintf( stderr, <span class="stringliteral">"\</span>
|
||||
<a name="l00159"></a>00159 <span class="stringliteral">Libcvautomation version: %s\n\</span>
|
||||
<a name="l00160"></a>00160 <span class="stringliteral">cva-input -s <command_string>\n\</span>
|
||||
<a name="l00161"></a>00161 <span class="stringliteral">\n\</span>
|
||||
<a name="l00162"></a>00162 <span class="stringliteral">The cva-input program demonstrates the XTest section of libcvautomation.\n\</span>
|
||||
<a name="l00163"></a>00163 <span class="stringliteral">\n\</span>
|
||||
<a name="l00164"></a>00164 <span class="stringliteral">Usage: \n\</span>
|
||||
<a name="l00165"></a>00165 <span class="stringliteral">\n\</span>
|
||||
<a name="l00166"></a>00166 <span class="stringliteral">\t-h, --help:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00167"></a>00167 <span class="stringliteral">\t-u, --usage:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00168"></a>00168 <span class="stringliteral">\t-d, --display:\t\tSpecify the X display to use.\n\</span>
|
||||
<a name="l00169"></a>00169 <span class="stringliteral">\t-m, --search-method:\tSpecify a method to search by. See `cva-match --help\'\n\</span>
|
||||
<a name="l00170"></a>00170 <span class="stringliteral">\t\t\t\tfor more information on this.\n\</span>
|
||||
<a name="l00171"></a>00171 <span class="stringliteral">\t-t, --tolerance:\tSpecify how strict the match is.\n\</span>
|
||||
<a name="l00172"></a>00172 <span class="stringliteral">\t-b, --button:\t\tSpecify the mouse button to press (default 1).\n\</span>
|
||||
<a name="l00173"></a>00173 <span class="stringliteral">\t-c, --center:\t\tInstead of matching the top-left corner of an image,\n\</span>
|
||||
<a name="l00174"></a>00174 <span class="stringliteral">\t\t\t\tmatch the center of the image.\n\</span>
|
||||
<a name="l00175"></a>00175 <span class="stringliteral">\t-o, --sane-tolerance:\tSet the tolerance using a scale of 1-100,\n\</span>
|
||||
<a name="l00176"></a>00176 <span class="stringliteral">\t-s, --string:\t\tCommand string - see below.\n\</span>
|
||||
<a name="l00177"></a>00177 <span class="stringliteral">\n\</span>
|
||||
<a name="l00178"></a>00178 <span class="stringliteral">This program works kind of like a mini-language. All options\n\</span>
|
||||
<a name="l00179"></a>00179 <span class="stringliteral">are parsed left-to-right, and executed right there. Thus, specifying \"--display\"\n\</span>
|
||||
<a name="l00180"></a>00180 <span class="stringliteral">at different places in the options will cause this program to use the most recent\n\</span>
|
||||
<a name="l00181"></a>00181 <span class="stringliteral">given display.\n\</span>
|
||||
<a name="l00182"></a>00182 <span class="stringliteral">Available commands:\n\</span>
|
||||
<a name="l00183"></a>00183 <span class="stringliteral">\tmouseclick:\tClick the mouse in-place.\n\</span>
|
||||
<a name="l00184"></a>00184 <span class="stringliteral">\timouseclick:\tClick the mouse at an image's top-left corner.\n\</span>
|
||||
<a name="l00185"></a>00185 <span class="stringliteral">\ticmouseclick:\tClick the mouse at an image's center.\n\</span>
|
||||
<a name="l00186"></a>00186 <span class="stringliteral">\tmousexy:\tMove the mouse to the given coordinate.\n\</span>
|
||||
<a name="l00187"></a>00187 <span class="stringliteral">\tmouserxy:\tMove the mouse by the given x and y values (relative motion).\n\</span>
|
||||
<a name="l00188"></a>00188 <span class="stringliteral">\tmouseimage:\tMove the mouse to an image's top-left corner.\n\</span>
|
||||
<a name="l00189"></a>00189 <span class="stringliteral">\tcmouseimage:\tMove the mouse to an image's center.\n\</span>
|
||||
<a name="l00190"></a>00190 <span class="stringliteral">\tmousedown:\tPush and leave down a mouse button.\n\</span>
|
||||
<a name="l00191"></a>00191 <span class="stringliteral">\tmouseup:\tRelease a mouse button.\n\</span>
|
||||
<a name="l00192"></a>00192 <span class="stringliteral">\tmousejiggle:\tJiggle the mouse (helps to activate some widgets).\n\</span>
|
||||
<a name="l00193"></a>00193 <span class="stringliteral">\tkeyclick:\tClick a keyboard button.\n\</span>
|
||||
<a name="l00194"></a>00194 <span class="stringliteral">\tkeydown:\tPush and leave down a keyboard button.\n\</span>
|
||||
<a name="l00195"></a>00195 <span class="stringliteral">\tkeyup:\tRelease a keyboard button.\n\</span>
|
||||
<a name="l00196"></a>00196 <span class="stringliteral">\tkeystring:\tInput a string of keys to X11.\n\</span>
|
||||
<a name="l00197"></a>00197 <span class="stringliteral">\n\</span>
|
||||
<a name="l00198"></a>00198 <span class="stringliteral">If you have any questions, comments, concerns, email <%s>.\n\n"</span>, <a class="code" href="libcvautomation_8h.html#6b6ab32b9a55421b91988946b2180bd0">LIBCVAUTOMATION_VERSION</a>, <a class="code" href="libcvautomation_8h.html#064f2ecb9f4013fd636368d0dd59e453">LIBCVAUTOMATION_BUGREPORT</a> );
|
||||
<a name="l00199"></a>00199
|
||||
<a name="l00200"></a>00200 exit (0);
|
||||
<a name="l00201"></a>00201
|
||||
<a name="l00202"></a>00202 } <span class="comment">/* ----- end of function usage ----- */</span>
|
||||
<a name="l00203"></a>00203
|
||||
<a name="l00204"></a><a class="code" href="cva-input_8c.html#21a0cec68b592a986793eb77804e776f">00204</a> <span class="keywordtype">void</span> <a class="code" href="cva-input_8c.html#21a0cec68b592a986793eb77804e776f">checkXTEEnabled</a> ( Display *display )
|
||||
<a name="l00205"></a>00205 {
|
||||
<a name="l00206"></a>00206 <span class="comment">/* Make sure we have the XTest Extensions enabled.</span>
|
||||
<a name="l00207"></a>00207 <span class="comment"> * This is a quick wrapper. */</span>
|
||||
<a name="l00208"></a>00208 <span class="keywordflow">if</span> (! <a class="code" href="libcvautomation-xtest_8h.html#d054a30613fdebf388218ce7c7ba8eaa">xte_XTestSupported</a>( display ))
|
||||
<a name="l00209"></a>00209 {
|
||||
<a name="l00210"></a>00210 printf(<span class="stringliteral">"The XTest extension is not supported! Aborting..."</span>);
|
||||
<a name="l00211"></a>00211 exit(255);
|
||||
<a name="l00212"></a>00212 }
|
||||
<a name="l00213"></a>00213 }
|
||||
<a name="l00214"></a>00214
|
||||
<a name="l00215"></a>00215 <span class="comment">/* Doxygen Information */</span>
|
||||
<a name="l00222"></a>00222 <span class="comment">/* The biggest purpose of documenting this code is to trick doxygen into making a man page for it. */</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -1,143 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<title>libcvautomation: cva-input.c File Reference</title>
|
||||
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script><script src="http://www.mathjax.org/mathjax/MathJax.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div! -->
|
||||
|
||||
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Generated by Doxygen 1.7.6.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">cva-input.c File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>The cva-input program to demonstrate Libcvautomation's XTest functionality.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <stdlib.h></code><br/>
|
||||
<code>#include <stdio.h></code><br/>
|
||||
<code>#include <unistd.h></code><br/>
|
||||
<code>#include <getopt.h></code><br/>
|
||||
<code>#include <limits.h></code><br/>
|
||||
<code>#include <math.h></code><br/>
|
||||
<code>#include <<a class="el" href="libcvautomation_8h_source.html">libcvautomation/libcvautomation.h</a>></code><br/>
|
||||
</div>
|
||||
<p><a href="cva-input_8c_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr><td colspan="2"><h2><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ef30c42cbc289d899a8be5d2d8f77d0"></a><!-- doxytag: member="cva-input.c::usage" ref="a2ef30c42cbc289d899a8be5d2d8f77d0" args="()" -->
|
||||
void </td><td class="memItemRight" valign="bottom"><b>usage</b> ()</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2696f2da072e093c11c1827c24b8952e"></a><!-- doxytag: member="cva-input.c::checkXTEEnabled" ref="a2696f2da072e093c11c1827c24b8952e" args="(Display *display)" -->
|
||||
void </td><td class="memItemRight" valign="bottom"><b>checkXTEEnabled</b> (Display *display)</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c04138a5bfe5d72780bb7e82a18e627"></a><!-- doxytag: member="cva-input.c::main" ref="a3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" -->
|
||||
int </td><td class="memItemRight" valign="bottom"><b>main</b> (int argc, char **argv)</td></tr>
|
||||
</table>
|
||||
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
|
||||
<div class="textblock"><p>The cva-input program to demonstrate Libcvautomation's XTest functionality. </p>
|
||||
<dl class="author"><dt><b>Author:</b></dt><dd>Bradlee Speice <<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>> </dd></dl>
|
||||
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="cva-input_8c_source.html">cva-input.c</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Defines</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,331 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<title>libcvautomation: cva-input.c Source File</title>
|
||||
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script><script src="http://www.mathjax.org/mathjax/MathJax.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div! -->
|
||||
|
||||
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Generated by Doxygen 1.7.6.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">cva-input.c</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="cva-input_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: cva-input.c</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: This is an example program to demonstrate the XTest and XInput</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * functionality in libcvautomation</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> *</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Created: 06/26/2012 09:20:20 AM</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Author: Bradlee Speice (), bspeice.nc@gmail.com</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * Organization: </span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> *</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> */</span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <getopt.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include <limits.h></span>
|
||||
<a name="l00023"></a>00023 <span class="preprocessor">#include <math.h></span>
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>></span>
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">void</span> usage ();
|
||||
<a name="l00028"></a>00028 <span class="keywordtype">void</span> checkXTEEnabled (Display *display);
|
||||
<a name="l00029"></a>00029
|
||||
<a name="l00030"></a>00030 <span class="keywordtype">int</span> main( <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv )
|
||||
<a name="l00031"></a>00031 {
|
||||
<a name="l00032"></a>00032 <span class="comment">/* Set up for getopt */</span>
|
||||
<a name="l00033"></a>00033 <span class="keywordtype">int</span> mouseButton;
|
||||
<a name="l00034"></a>00034 mouseButton = 1;
|
||||
<a name="l00035"></a>00035 <span class="keywordtype">char</span> *separator;
|
||||
<a name="l00036"></a>00036 separator = <span class="stringliteral">","</span>;
|
||||
<a name="l00037"></a>00037 <span class="keywordtype">char</span> *xDisplayLocation;
|
||||
<a name="l00038"></a>00038 xDisplayLocation = <span class="stringliteral">""</span>;
|
||||
<a name="l00039"></a>00039 Display *display;
|
||||
<a name="l00040"></a>00040 display = NULL;
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="keywordtype">int</span> searchMethod, tolerance;
|
||||
<a name="l00043"></a>00043 searchMethod = 0;
|
||||
<a name="l00044"></a>00044 tolerance = INT_MAX;
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00046"></a>00046 <span class="comment">/* Start getopt */</span>
|
||||
<a name="l00047"></a>00047 <span class="keywordflow">while</span> (1)
|
||||
<a name="l00048"></a>00048 {
|
||||
<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">struct </span>option long_options[] =
|
||||
<a name="l00050"></a>00050 {
|
||||
<a name="l00051"></a>00051 {<span class="stringliteral">"help"</span>, no_argument, 0, <span class="charliteral">'h'</span>},
|
||||
<a name="l00052"></a>00052 {<span class="stringliteral">"usage"</span>, no_argument, 0, <span class="charliteral">'u'</span>},
|
||||
<a name="l00053"></a>00053 {<span class="stringliteral">"version"</span>, no_argument, 0, <span class="charliteral">'v'</span>},
|
||||
<a name="l00054"></a>00054 {<span class="stringliteral">"display"</span>, required_argument, 0, <span class="charliteral">'d'</span>},
|
||||
<a name="l00055"></a>00055 {<span class="stringliteral">"search-method"</span>,required_argument, 0, <span class="charliteral">'m'</span>},
|
||||
<a name="l00056"></a>00056 {<span class="stringliteral">"tolerance"</span>, required_argument, 0, <span class="charliteral">'t'</span>},
|
||||
<a name="l00057"></a>00057 {<span class="stringliteral">"button"</span>, required_argument, 0, <span class="charliteral">'b'</span>},
|
||||
<a name="l00058"></a>00058 {<span class="stringliteral">"string"</span>, required_argument, 0, <span class="charliteral">'s'</span>},
|
||||
<a name="l00059"></a>00059 {<span class="stringliteral">"sane-tolerance"</span>, required_argument, 0,<span class="charliteral">'o'</span>},
|
||||
<a name="l00060"></a>00060 {<span class="stringliteral">"print-format"</span>,required_argument, 0, <span class="charliteral">'p'</span>},
|
||||
<a name="l00061"></a>00061 <span class="comment">/* Other valid values are "optional_argument"</span>
|
||||
<a name="l00062"></a>00062 <span class="comment"> * and "required_argument" */</span>
|
||||
<a name="l00063"></a>00063 {0, 0, 0, 0}
|
||||
<a name="l00064"></a>00064 };
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066 <span class="keywordtype">int</span> option_index = 0;
|
||||
<a name="l00067"></a>00067 opterr = 0;
|
||||
<a name="l00068"></a>00068
|
||||
<a name="l00069"></a>00069 <span class="keywordtype">int</span> c = getopt_long (argc, argv, <span class="stringliteral">"hud:m:t:b:cs:"</span>, <span class="comment">/* Use a single colon for required_argument,</span>
|
||||
<a name="l00070"></a>00070 <span class="comment"> * double colon for optional_argument */</span>
|
||||
<a name="l00071"></a>00071 long_options, &option_index);
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00073"></a>00073 <span class="comment">/* We're done with parsing options */</span>
|
||||
<a name="l00074"></a>00074 <span class="keywordflow">if</span> (c == -1)
|
||||
<a name="l00075"></a>00075 <span class="keywordflow">break</span>;
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00077"></a>00077 <span class="keywordflow">switch</span> (c)
|
||||
<a name="l00078"></a>00078 {
|
||||
<a name="l00079"></a>00079 <span class="keywordflow">case</span> 0:
|
||||
<a name="l00080"></a>00080 <span class="keywordflow">break</span>;
|
||||
<a name="l00081"></a>00081
|
||||
<a name="l00082"></a>00082 <span class="keywordflow">case</span> <span class="charliteral">'h'</span>:
|
||||
<a name="l00083"></a>00083 usage();
|
||||
<a name="l00084"></a>00084 <span class="keywordflow">break</span>;
|
||||
<a name="l00085"></a>00085
|
||||
<a name="l00086"></a>00086 <span class="keywordflow">case</span> <span class="charliteral">'u'</span>:
|
||||
<a name="l00087"></a>00087 usage();
|
||||
<a name="l00088"></a>00088 <span class="keywordflow">break</span>;
|
||||
<a name="l00089"></a>00089
|
||||
<a name="l00090"></a>00090 <span class="keywordflow">case</span> <span class="charliteral">'v'</span>:
|
||||
<a name="l00091"></a>00091 usage();
|
||||
<a name="l00092"></a>00092 <span class="keywordflow">break</span>;
|
||||
<a name="l00093"></a>00093
|
||||
<a name="l00094"></a>00094 <span class="keywordflow">case</span> <span class="charliteral">'d'</span>:
|
||||
<a name="l00095"></a>00095 <span class="keywordflow">if</span> (display == NULL)
|
||||
<a name="l00096"></a>00096 display = XOpenDisplay( optarg );
|
||||
<a name="l00097"></a>00097 <span class="keywordflow">else</span>
|
||||
<a name="l00098"></a>00098 {
|
||||
<a name="l00099"></a>00099 XCloseDisplay( display );
|
||||
<a name="l00100"></a>00100 XOpenDisplay( optarg );
|
||||
<a name="l00101"></a>00101 }
|
||||
<a name="l00102"></a>00102
|
||||
<a name="l00103"></a>00103 <span class="keywordflow">case</span> <span class="charliteral">'m'</span>:
|
||||
<a name="l00104"></a>00104 searchMethod = atoi(optarg);
|
||||
<a name="l00105"></a>00105 <span class="keywordflow">break</span>;
|
||||
<a name="l00106"></a>00106
|
||||
<a name="l00107"></a>00107 <span class="keywordflow">case</span> <span class="charliteral">'t'</span>:
|
||||
<a name="l00108"></a>00108 tolerance = atoi(optarg);
|
||||
<a name="l00109"></a>00109 <span class="keywordflow">break</span>;
|
||||
<a name="l00110"></a>00110
|
||||
<a name="l00111"></a>00111 <span class="keywordflow">case</span> <span class="charliteral">'b'</span>:
|
||||
<a name="l00112"></a>00112 mouseButton = atoi(optarg);
|
||||
<a name="l00113"></a>00113 <span class="keywordflow">break</span>;
|
||||
<a name="l00114"></a>00114
|
||||
<a name="l00115"></a>00115 <span class="keywordflow">case</span> <span class="charliteral">'s'</span>:
|
||||
<a name="l00116"></a>00116 <span class="keywordflow">if</span> (display == NULL)
|
||||
<a name="l00117"></a>00117 display = XOpenDisplay( xDisplayLocation );
|
||||
<a name="l00118"></a>00118 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> returnPoint;
|
||||
<a name="l00119"></a>00119 returnPoint = <a class="code" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8" title="Execute a command where the command is coming from a string.">xte_commandString</a>( display, optarg, mouseButton, searchMethod, tolerance );
|
||||
<a name="l00120"></a>00120
|
||||
<a name="l00121"></a>00121 <span class="keywordflow">if</span> (returnPoint.x != -1 && returnPoint.y != -1)
|
||||
<a name="l00122"></a>00122 printf(<span class="stringliteral">"%s%s%i%s%i\n"</span>, optarg, separator, returnPoint.x, separator, returnPoint.y);
|
||||
<a name="l00123"></a>00123 <span class="keywordflow">else</span>
|
||||
<a name="l00124"></a>00124 printf(<span class="stringliteral">"%s\n"</span>, optarg);
|
||||
<a name="l00125"></a>00125 <span class="keywordflow">break</span>;
|
||||
<a name="l00126"></a>00126
|
||||
<a name="l00127"></a>00127 <span class="keywordflow">case</span> <span class="charliteral">'o'</span>:
|
||||
<a name="l00128"></a>00128 tolerance = atoi(optarg);
|
||||
<a name="l00129"></a>00129 <span class="comment">/* Provide a more sane way to configure tolerance:</span>
|
||||
<a name="l00130"></a>00130 <span class="comment"> * --sane-tolerance=100 ~= INT_MAX */</span>
|
||||
<a name="l00131"></a>00131 tolerance = pow(1.2397076, tolerance);
|
||||
<a name="l00132"></a>00132 <span class="keywordflow">break</span>;
|
||||
<a name="l00133"></a>00133
|
||||
<a name="l00134"></a>00134 <span class="keywordflow">case</span> <span class="charliteral">'?'</span>:
|
||||
<a name="l00135"></a>00135 <span class="comment">/* Error routine */</span>
|
||||
<a name="l00136"></a>00136 <span class="keywordflow">break</span>;
|
||||
<a name="l00137"></a>00137
|
||||
<a name="l00138"></a>00138 <span class="keywordflow">default</span>:
|
||||
<a name="l00139"></a>00139 fprintf( stderr, <span class="stringliteral">"Unknown option..."</span> );
|
||||
<a name="l00140"></a>00140 exit(0);
|
||||
<a name="l00141"></a>00141 };
|
||||
<a name="l00142"></a>00142 }
|
||||
<a name="l00143"></a>00143
|
||||
<a name="l00144"></a>00144 <span class="keywordflow">if</span> ( display != NULL )
|
||||
<a name="l00145"></a>00145 XCloseDisplay( display );
|
||||
<a name="l00146"></a>00146
|
||||
<a name="l00147"></a>00147 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00148"></a>00148 }
|
||||
<a name="l00149"></a>00149
|
||||
<a name="l00150"></a>00150 <span class="comment">/* </span>
|
||||
<a name="l00151"></a>00151 <span class="comment"> * === FUNCTION ======================================================================</span>
|
||||
<a name="l00152"></a>00152 <span class="comment"> * Name: usage</span>
|
||||
<a name="l00153"></a>00153 <span class="comment"> * Description: I really shouldn't need to write this</span>
|
||||
<a name="l00154"></a>00154 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00155"></a>00155 <span class="comment"> */</span>
|
||||
<a name="l00156"></a>00156 <span class="keywordtype">void</span> usage ( )
|
||||
<a name="l00157"></a>00157 {
|
||||
<a name="l00158"></a>00158 fprintf( stderr, <span class="stringliteral">"\</span>
|
||||
<a name="l00159"></a>00159 <span class="stringliteral">Libcvautomation version: %s\n\</span>
|
||||
<a name="l00160"></a>00160 <span class="stringliteral">cva-input -s <command_string>\n\</span>
|
||||
<a name="l00161"></a>00161 <span class="stringliteral">\n\</span>
|
||||
<a name="l00162"></a>00162 <span class="stringliteral">The cva-input program demonstrates the XTest section of libcvautomation.\n\</span>
|
||||
<a name="l00163"></a>00163 <span class="stringliteral">\n\</span>
|
||||
<a name="l00164"></a>00164 <span class="stringliteral">Usage: \n\</span>
|
||||
<a name="l00165"></a>00165 <span class="stringliteral">\n\</span>
|
||||
<a name="l00166"></a>00166 <span class="stringliteral">\t-h, --help:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00167"></a>00167 <span class="stringliteral">\t-u, --usage:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00168"></a>00168 <span class="stringliteral">\t-d, --display:\t\tSpecify the X display to use.\n\</span>
|
||||
<a name="l00169"></a>00169 <span class="stringliteral">\t-m, --search-method:\tSpecify a method to search by. See `cva-match --help\'\n\</span>
|
||||
<a name="l00170"></a>00170 <span class="stringliteral">\t\t\t\tfor more information on this.\n\</span>
|
||||
<a name="l00171"></a>00171 <span class="stringliteral">\t-t, --tolerance:\tSpecify how strict the match is.\n\</span>
|
||||
<a name="l00172"></a>00172 <span class="stringliteral">\t-b, --button:\t\tSpecify the mouse button to press (default 1).\n\</span>
|
||||
<a name="l00173"></a>00173 <span class="stringliteral">\t-c, --center:\t\tInstead of matching the top-left corner of an image,\n\</span>
|
||||
<a name="l00174"></a>00174 <span class="stringliteral">\t\t\t\tmatch the center of the image.\n\</span>
|
||||
<a name="l00175"></a>00175 <span class="stringliteral">\t-o, --sane-tolerance:\tSet the tolerance using a scale of 1-100,\n\</span>
|
||||
<a name="l00176"></a>00176 <span class="stringliteral">\t-s, --string:\t\tCommand string - see below.\n\</span>
|
||||
<a name="l00177"></a>00177 <span class="stringliteral">\n\</span>
|
||||
<a name="l00178"></a>00178 <span class="stringliteral">This program works kind of like a mini-language. All options\n\</span>
|
||||
<a name="l00179"></a>00179 <span class="stringliteral">are parsed left-to-right, and executed right there. Thus, specifying \"--display\"\n\</span>
|
||||
<a name="l00180"></a>00180 <span class="stringliteral">at different places in the options will cause this program to use the most recent\n\</span>
|
||||
<a name="l00181"></a>00181 <span class="stringliteral">given display.\n\</span>
|
||||
<a name="l00182"></a>00182 <span class="stringliteral">Available commands:\n\</span>
|
||||
<a name="l00183"></a>00183 <span class="stringliteral">\tmouseclick:\tClick the mouse in-place.\n\</span>
|
||||
<a name="l00184"></a>00184 <span class="stringliteral">\timouseclick:\tClick the mouse at an image's top-left corner.\n\</span>
|
||||
<a name="l00185"></a>00185 <span class="stringliteral">\ticmouseclick:\tClick the mouse at an image's center.\n\</span>
|
||||
<a name="l00186"></a>00186 <span class="stringliteral">\tmousexy:\tMove the mouse to the given coordinate.\n\</span>
|
||||
<a name="l00187"></a>00187 <span class="stringliteral">\tmouserxy:\tMove the mouse by the given x and y values (relative motion).\n\</span>
|
||||
<a name="l00188"></a>00188 <span class="stringliteral">\tmouseimage:\tMove the mouse to an image's top-left corner.\n\</span>
|
||||
<a name="l00189"></a>00189 <span class="stringliteral">\tcmouseimage:\tMove the mouse to an image's center.\n\</span>
|
||||
<a name="l00190"></a>00190 <span class="stringliteral">\tmousedown:\tPush and leave down a mouse button.\n\</span>
|
||||
<a name="l00191"></a>00191 <span class="stringliteral">\tmouseup:\tRelease a mouse button.\n\</span>
|
||||
<a name="l00192"></a>00192 <span class="stringliteral">\tmousejiggle:\tJiggle the mouse (helps to activate some widgets).\n\</span>
|
||||
<a name="l00193"></a>00193 <span class="stringliteral">\tmousescrollu:\tScroll the mouse wheel up.\n\</span>
|
||||
<a name="l00194"></a>00194 <span class="stringliteral">\tmousescrolld:\tScroll the mouse wheel down.\n\</span>
|
||||
<a name="l00195"></a>00195 <span class="stringliteral">\tkeyclick:\tClick a keyboard button.\n\</span>
|
||||
<a name="l00196"></a>00196 <span class="stringliteral">\tkeydown:\tPush and leave down a keyboard button.\n\</span>
|
||||
<a name="l00197"></a>00197 <span class="stringliteral">\tkeyup:\tRelease a keyboard button.\n\</span>
|
||||
<a name="l00198"></a>00198 <span class="stringliteral">\tkeystring:\tInput a string of keys to X11.\n\</span>
|
||||
<a name="l00199"></a>00199 <span class="stringliteral">\n\</span>
|
||||
<a name="l00200"></a>00200 <span class="stringliteral">If you have any questions, comments, concerns, email <%s>.\n\n"</span>, <a class="code" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9" title="Define what version of Libcvautomation we are using.">LIBCVAUTOMATION_VERSION</a>, <a class="code" href="libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe" title="Define who to send bug reports to for Libcvautomation.">LIBCVAUTOMATION_BUGREPORT</a> );
|
||||
<a name="l00201"></a>00201
|
||||
<a name="l00202"></a>00202 exit (0);
|
||||
<a name="l00203"></a>00203
|
||||
<a name="l00204"></a>00204 } <span class="comment">/* ----- end of function usage ----- */</span>
|
||||
<a name="l00205"></a>00205
|
||||
<a name="l00206"></a>00206 <span class="keywordtype">void</span> checkXTEEnabled ( Display *display )
|
||||
<a name="l00207"></a>00207 {
|
||||
<a name="l00208"></a>00208 <span class="comment">/* Make sure we have the XTest Extensions enabled.</span>
|
||||
<a name="l00209"></a>00209 <span class="comment"> * This is a quick wrapper. */</span>
|
||||
<a name="l00210"></a>00210 <span class="keywordflow">if</span> (! <a class="code" href="libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4" title="Check if the XTest extension is supported.">xte_XTestSupported</a>( display ))
|
||||
<a name="l00211"></a>00211 {
|
||||
<a name="l00212"></a>00212 printf(<span class="stringliteral">"The XTest extension is not supported! Aborting..."</span>);
|
||||
<a name="l00213"></a>00213 exit(255);
|
||||
<a name="l00214"></a>00214 }
|
||||
<a name="l00215"></a>00215 }
|
||||
<a name="l00216"></a>00216
|
||||
<a name="l00217"></a>00217 <span class="comment">/* Doxygen Information */</span>
|
||||
<a name="l00224"></a>00224 <span class="comment">/* The biggest purpose of documenting this code is to trick doxygen into making a man page for it. */</span>
|
||||
</pre></div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Defines</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
||||
</body>
|
||||
</html>
|
132
cva-match.html
@ -1,132 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<title>libcvautomation: $title</title>
|
||||
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script><script src="http://www.mathjax.org/mathjax/MathJax.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div! -->
|
||||
|
||||
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Generated by Doxygen 1.7.6.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>Bradlee Speice <<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>> </dd></dl>
|
||||
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
|
||||
<h2><a class="anchor" id="usage"></a>
|
||||
Usage:</h2>
|
||||
<p>This program uses OpenCV in order to recognize an image within an image. The return code is how many matches were found - return 0 for no matches, 1 for one match, etc.</p>
|
||||
<h2><a class="anchor" id="example"></a>
|
||||
Example Usage:</h2>
|
||||
<p>Match two images against the root X11 window:</p>
|
||||
<p>cva-match --x-root -s "<image_name>" -s "<image_name_2>"</p>
|
||||
<p>Match a root and sub image with a custom tolerance and search method</p>
|
||||
<p>cva-match -r "<root_image>" -s "<image_name>" -o 75 -m 1</p>
|
||||
<h2><a class="anchor" id="options"></a>
|
||||
Full Options:</h2>
|
||||
<p>-h, --help: Display this usage message.</p>
|
||||
<p>-u, --usage: Display this usage message.</p>
|
||||
<p>-r, --root-image: Location of the root image to compare against.</p>
|
||||
<p>-s, --sub-image: Location of the sub-image to find in root.</p>
|
||||
<p>-p, --separator: Separator of the X and Y coordinates.</p>
|
||||
<p>-t, --tolerance: Set how strict the match is - 100 is recommended lowest value.</p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>When using CCORR or CCOEFF tolerance works in opposite direction, so -50 is recommended highest value.</dd></dl>
|
||||
<p>-m, --search-method: Set which method is used to search for sub-images.</p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>Search Methods: CV_TM_SQDIFF = 0, CV_TM_SQDIFF_NORMED = 1, CV_TM_CCORR = 2, CV_TM_CCORR_NORMED = 3, CV_TM_CCOEFF = 4, CV_TM_COEFF_NORMED = 5</dd></dl>
|
||||
<p>-x, --x-root[=DISPLAY]: Set the root image to come from X11</p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>The DISPLAY variable is optional, not specifying it will cause X to use the default display (not specifically :0.0)</dd></dl>
|
||||
<p>-c, --center: The output points should be centered on the sub-image, rather than the top-left corner.</p>
|
||||
<p>-o, --sane-tolerance: Set the tolerance using a scale of 1-100, rather than INT_MIN to INT_MAX (100 ~= INT_MAX)</p>
|
||||
<h2><a class="anchor" id="contact"></a>
|
||||
Contact Information:</h2>
|
||||
<p>Questions? Comments? Concerns? Suggestions? Send all feedback to Bradlee Speice at <<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>> </p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Defines</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,294 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: cva-match.c Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>cva-match.c</h1><a href="cva-match_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: cva-match.c</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: Match an image to its parent image, and return the coordinates</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> *</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Version: 0.1</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Created: 06/20/2012</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Author: Bradlee Speice, bspeice@uncc.edu</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * Organization: MOSAIC at University of North Carolina at Charlotte</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> *</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> */</span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <getopt.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include <limits.h></span>
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="libcvautomation_8h.html">libcvautomation/libcvautomation.h</a>></span>
|
||||
<a name="l00025"></a>00025
|
||||
<a name="l00026"></a>00026 <span class="keywordtype">void</span> <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a> ();
|
||||
<a name="l00027"></a>00027
|
||||
<a name="l00028"></a><a class="code" href="structlist.html">00028</a> <span class="keyword">struct </span><a class="code" href="structlist.html">list</a> {
|
||||
<a name="l00029"></a><a class="code" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">00029</a> <span class="keywordtype">char</span> *<a class="code" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">fileName</a>;
|
||||
<a name="l00030"></a><a class="code" href="structlist.html#17ba8e20337279fa9dfa74ac99c21bc1">00030</a> <span class="keyword">struct </span><a class="code" href="structlist.html">list</a> *<a class="code" href="structlist.html#17ba8e20337279fa9dfa74ac99c21bc1">next</a>;
|
||||
<a name="l00031"></a>00031 };
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a><a class="code" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">00033</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structlist.html">list</a> <a class="code" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">basic_list</a>;
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00035"></a><a class="code" href="cva-match_8c.html#24e6ce6d053864cf5fb7af941457bb0e">00035</a> <span class="keywordtype">int</span> <a class="code" href="cva-input_8c.html#24e6ce6d053864cf5fb7af941457bb0e">main</a>( <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv )
|
||||
<a name="l00036"></a>00036 {
|
||||
<a name="l00037"></a>00037 CvPoint result_point;
|
||||
<a name="l00038"></a>00038 result_point.x = result_point.y = 0;
|
||||
<a name="l00039"></a>00039
|
||||
<a name="l00040"></a>00040 <span class="comment">/* Set up everything for getopt */</span>
|
||||
<a name="l00041"></a>00041 <span class="keywordtype">char</span> *separator = <span class="stringliteral">","</span>;
|
||||
<a name="l00042"></a>00042 <span class="keywordtype">char</span> *root_location = <span class="stringliteral">"root.png"</span>;
|
||||
<a name="l00043"></a>00043 <span class="keywordtype">char</span> *sub_location = <span class="stringliteral">"sub.png"</span>;
|
||||
<a name="l00044"></a>00044 <span class="keywordtype">int</span> tolerance = INT_MAX;
|
||||
<a name="l00045"></a>00045 <span class="keywordtype">int</span> search_method = CV_TM_SQDIFF;
|
||||
<a name="l00046"></a>00046 <span class="keywordtype">int</span> useX = 0; <span class="comment">/* bool useX = false; */</span>
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">int</span> useCenter = 0;
|
||||
<a name="l00048"></a>00048 <span class="keywordtype">char</span> *xDisplayLocation;
|
||||
<a name="l00049"></a>00049 Display *display;
|
||||
<a name="l00050"></a>00050 <span class="comment">/* This line to suppress a compiler warning */</span>
|
||||
<a name="l00051"></a>00051 display = NULL;
|
||||
<a name="l00052"></a>00052
|
||||
<a name="l00053"></a>00053 <span class="comment">/* Set the default display */</span>
|
||||
<a name="l00054"></a>00054 xDisplayLocation = <span class="stringliteral">""</span>;
|
||||
<a name="l00055"></a>00055
|
||||
<a name="l00056"></a>00056 <span class="comment">/* Set up the linked list for slave images */</span>
|
||||
<a name="l00057"></a>00057 <a class="code" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">basic_list</a> *list_head = NULL, *list_curr = NULL, *list_prev = NULL;
|
||||
<a name="l00058"></a>00058
|
||||
<a name="l00059"></a>00059 <span class="comment">/* Start getopt */</span>
|
||||
<a name="l00060"></a>00060 <span class="keywordflow">while</span> (1)
|
||||
<a name="l00061"></a>00061 {
|
||||
<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">struct </span>option long_options[] =
|
||||
<a name="l00063"></a>00063 {
|
||||
<a name="l00064"></a>00064 {<span class="stringliteral">"help"</span>, no_argument, 0, <span class="charliteral">'h'</span>},
|
||||
<a name="l00065"></a>00065 {<span class="stringliteral">"usage"</span>, no_argument, 0, <span class="charliteral">'u'</span>},
|
||||
<a name="l00066"></a>00066 {<span class="stringliteral">"version"</span>, no_argument, 0, <span class="charliteral">'v'</span>},
|
||||
<a name="l00067"></a>00067 {<span class="stringliteral">"root-image"</span>, required_argument, 0, <span class="charliteral">'r'</span>},
|
||||
<a name="l00068"></a>00068 {<span class="stringliteral">"sub-image"</span>, required_argument, 0, <span class="charliteral">'s'</span>},
|
||||
<a name="l00069"></a>00069 {<span class="stringliteral">"separator"</span>, required_argument, 0, <span class="charliteral">'p'</span>},
|
||||
<a name="l00070"></a>00070 {<span class="stringliteral">"search-method"</span>,required_argument, 0, <span class="charliteral">'m'</span>},
|
||||
<a name="l00071"></a>00071 {<span class="stringliteral">"tolerance"</span>, required_argument, 0, <span class="charliteral">'t'</span>},
|
||||
<a name="l00072"></a>00072 {<span class="stringliteral">"x-root"</span>, optional_argument, 0, <span class="charliteral">'x'</span>},
|
||||
<a name="l00073"></a>00073 {<span class="stringliteral">"center"</span>, no_argument, 0, <span class="charliteral">'c'</span>},
|
||||
<a name="l00074"></a>00074 {<span class="stringliteral">"sane-tolerance"</span>, required_argument, 0, <span class="charliteral">'o'</span>},
|
||||
<a name="l00075"></a>00075 {0, 0, 0, 0}
|
||||
<a name="l00076"></a>00076 };
|
||||
<a name="l00077"></a>00077
|
||||
<a name="l00078"></a>00078 <span class="keywordtype">int</span> option_index = 0;
|
||||
<a name="l00079"></a>00079 opterr = 0;
|
||||
<a name="l00080"></a>00080
|
||||
<a name="l00081"></a>00081 <span class="keywordtype">int</span> c = getopt_long (argc, argv, <span class="stringliteral">"hur:s:p:m:t:x::c"</span>,
|
||||
<a name="l00082"></a>00082 long_options, &option_index);
|
||||
<a name="l00083"></a>00083
|
||||
<a name="l00084"></a>00084 <span class="comment">/* We're done with parsing options */</span>
|
||||
<a name="l00085"></a>00085 <span class="keywordflow">if</span> (c == -1)
|
||||
<a name="l00086"></a>00086 <span class="keywordflow">break</span>;
|
||||
<a name="l00087"></a>00087
|
||||
<a name="l00088"></a>00088 <span class="keywordflow">switch</span> (c)
|
||||
<a name="l00089"></a>00089 {
|
||||
<a name="l00090"></a>00090 <span class="keywordflow">case</span> 0:
|
||||
<a name="l00091"></a>00091 <span class="keywordflow">break</span>;
|
||||
<a name="l00092"></a>00092
|
||||
<a name="l00093"></a>00093 <span class="keywordflow">case</span> <span class="charliteral">'h'</span>:
|
||||
<a name="l00094"></a>00094 <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a>();
|
||||
<a name="l00095"></a>00095 <span class="keywordflow">break</span>;
|
||||
<a name="l00096"></a>00096
|
||||
<a name="l00097"></a>00097 <span class="keywordflow">case</span> <span class="charliteral">'u'</span>:
|
||||
<a name="l00098"></a>00098 <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a>();
|
||||
<a name="l00099"></a>00099 <span class="keywordflow">break</span>;
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 <span class="keywordflow">case</span> <span class="charliteral">'v'</span>:
|
||||
<a name="l00102"></a>00102 <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a>();
|
||||
<a name="l00103"></a>00103 <span class="keywordflow">break</span>;
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105 <span class="keywordflow">case</span> <span class="charliteral">'r'</span>:
|
||||
<a name="l00106"></a>00106 root_location = optarg;
|
||||
<a name="l00107"></a>00107 <span class="keywordflow">break</span>;
|
||||
<a name="l00108"></a>00108
|
||||
<a name="l00109"></a>00109 <span class="keywordflow">case</span> <span class="charliteral">'s'</span>:
|
||||
<a name="l00110"></a>00110 <span class="keywordflow">if</span> ( list_head == NULL )
|
||||
<a name="l00111"></a>00111 {
|
||||
<a name="l00112"></a>00112 list_head = (<a class="code" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">basic_list</a> *) malloc (<span class="keyword">sizeof</span>(<a class="code" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">basic_list</a>));
|
||||
<a name="l00113"></a>00113 list_curr = list_head;
|
||||
<a name="l00114"></a>00114 }
|
||||
<a name="l00115"></a>00115 list_curr-><a class="code" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">fileName</a> = optarg;
|
||||
<a name="l00116"></a>00116 list_curr->next = (<a class="code" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">basic_list</a> *) malloc (<span class="keyword">sizeof</span>(<a class="code" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">basic_list</a>));
|
||||
<a name="l00117"></a>00117 list_curr = list_curr->next;
|
||||
<a name="l00118"></a>00118 <span class="keywordflow">break</span>;
|
||||
<a name="l00119"></a>00119
|
||||
<a name="l00120"></a>00120 <span class="keywordflow">case</span> <span class="charliteral">'p'</span>:
|
||||
<a name="l00121"></a>00121 separator = optarg;
|
||||
<a name="l00122"></a>00122 <span class="keywordflow">break</span>;
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00124"></a>00124 <span class="keywordflow">case</span> <span class="charliteral">'m'</span>:
|
||||
<a name="l00125"></a>00125 search_method = atoi(optarg);
|
||||
<a name="l00126"></a>00126 <span class="keywordflow">break</span>;
|
||||
<a name="l00127"></a>00127
|
||||
<a name="l00128"></a>00128 <span class="keywordflow">case</span> <span class="charliteral">'t'</span>:
|
||||
<a name="l00129"></a>00129 tolerance = atoi(optarg);
|
||||
<a name="l00130"></a>00130 <span class="keywordflow">break</span>;
|
||||
<a name="l00131"></a>00131
|
||||
<a name="l00132"></a>00132 <span class="keywordflow">case</span> <span class="charliteral">'x'</span>:
|
||||
<a name="l00133"></a>00133 <span class="keywordflow">if</span> ( optarg != NULL ) {
|
||||
<a name="l00134"></a>00134 useX = 1;
|
||||
<a name="l00135"></a>00135 xDisplayLocation = optarg;
|
||||
<a name="l00136"></a>00136 display = XOpenDisplay(xDisplayLocation);
|
||||
<a name="l00137"></a>00137 } <span class="keywordflow">else</span> {
|
||||
<a name="l00138"></a>00138 useX = 1;
|
||||
<a name="l00139"></a>00139 xDisplayLocation = <span class="stringliteral">""</span>;
|
||||
<a name="l00140"></a>00140 display = XOpenDisplay(xDisplayLocation);
|
||||
<a name="l00141"></a>00141 }
|
||||
<a name="l00142"></a>00142 <span class="keywordflow">break</span>;
|
||||
<a name="l00143"></a>00143
|
||||
<a name="l00144"></a>00144 <span class="keywordflow">case</span> <span class="charliteral">'c'</span>:
|
||||
<a name="l00145"></a>00145 useCenter = 1;
|
||||
<a name="l00146"></a>00146
|
||||
<a name="l00147"></a>00147 <span class="keywordflow">case</span> <span class="charliteral">'o'</span>:
|
||||
<a name="l00148"></a>00148 tolerance = atoi(optarg);
|
||||
<a name="l00149"></a>00149 <span class="comment">/* Provide a more sane way to configure tolerance:</span>
|
||||
<a name="l00150"></a>00150 <span class="comment"> * --sane-tolerance=100 ~= INT_MAX */</span>
|
||||
<a name="l00151"></a>00151 tolerance = pow(1.2397076, tolerance);
|
||||
<a name="l00152"></a>00152 <span class="keywordflow">break</span>;
|
||||
<a name="l00153"></a>00153
|
||||
<a name="l00154"></a>00154 <span class="keywordflow">case</span> <span class="charliteral">'?'</span>:
|
||||
<a name="l00155"></a>00155 <span class="comment">/* Error routine */</span>
|
||||
<a name="l00156"></a>00156 <span class="keywordflow">break</span>;
|
||||
<a name="l00157"></a>00157
|
||||
<a name="l00158"></a>00158 <span class="keywordflow">default</span>:
|
||||
<a name="l00159"></a>00159 fprintf( stderr, <span class="stringliteral">"Unknown option..."</span> );
|
||||
<a name="l00160"></a>00160 exit(0);
|
||||
<a name="l00161"></a>00161 };
|
||||
<a name="l00162"></a>00162 }
|
||||
<a name="l00163"></a>00163
|
||||
<a name="l00164"></a>00164 <span class="comment">/* Make sure we have a linked list, </span>
|
||||
<a name="l00165"></a>00165 <span class="comment"> * and reset the linked list to go back through from the top */</span>
|
||||
<a name="l00166"></a>00166 <span class="keywordflow">if</span> ( list_head == NULL )
|
||||
<a name="l00167"></a>00167 <span class="keywordflow">return</span> 1;
|
||||
<a name="l00168"></a>00168 <span class="keywordflow">else</span>
|
||||
<a name="l00169"></a>00169 list_curr = list_head;
|
||||
<a name="l00170"></a>00170
|
||||
<a name="l00171"></a>00171 <span class="keywordflow">do</span>
|
||||
<a name="l00172"></a>00172 {
|
||||
<a name="l00173"></a>00173 sub_location = list_curr-><a class="code" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">fileName</a>;
|
||||
<a name="l00174"></a>00174
|
||||
<a name="l00175"></a>00175 <span class="keywordflow">if</span> (useX && useCenter)
|
||||
<a name="l00176"></a>00176 result_point = <a class="code" href="libcvautomation-xlib_8h.html#b441627acd22889f404d89c9cc4809f5">matchSubImage_X11_location_center</a>( display, sub_location, search_method, tolerance );
|
||||
<a name="l00177"></a>00177 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (useX && !useCenter)
|
||||
<a name="l00178"></a>00178 result_point = <a class="code" href="libcvautomation-xlib_8h.html#d238842448af81c09f56d1d54253c1b5">matchSubImage_X11_location</a>( display, sub_location, search_method, tolerance );
|
||||
<a name="l00179"></a>00179 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!useX && useCenter)
|
||||
<a name="l00180"></a>00180 result_point = <a class="code" href="libcvautomation-opencv_8h.html#bed7c891adb272993912d973c0e08c27">matchSubImage_location_center</a>( root_location, sub_location, search_method, tolerance );
|
||||
<a name="l00181"></a>00181 <span class="keywordflow">else</span> <span class="comment">/* if (!useX && !useCenter) */</span>
|
||||
<a name="l00182"></a>00182 result_point = <a class="code" href="libcvautomation-opencv_8h.html#c0d3066da6b2d42251c876d12a7158c7">matchSubImage_location</a>( root_location, sub_location, search_method, tolerance );
|
||||
<a name="l00183"></a>00183
|
||||
<a name="l00184"></a>00184 <span class="keywordflow">if</span> ( result_point.x != -1 && result_point.y != -1 )
|
||||
<a name="l00185"></a>00185 <span class="comment">/* Output the match location */</span>
|
||||
<a name="l00186"></a>00186 printf (<span class="stringliteral">"%s%s%i%s%i\n"</span>, list_curr->fileName, separator,
|
||||
<a name="l00187"></a>00187 result_point.x, separator, result_point.y );
|
||||
<a name="l00188"></a>00188
|
||||
<a name="l00189"></a>00189 <span class="comment">/* With the way we allocate the list, we ensure that we always</span>
|
||||
<a name="l00190"></a>00190 <span class="comment"> * have at least one element past the end of the list.</span>
|
||||
<a name="l00191"></a>00191 <span class="comment"> * Also, deconstruct the list as we go. */</span>
|
||||
<a name="l00192"></a>00192 list_prev = list_curr;
|
||||
<a name="l00193"></a>00193 list_curr = list_curr->next;
|
||||
<a name="l00194"></a>00194 free(list_prev);
|
||||
<a name="l00195"></a>00195
|
||||
<a name="l00196"></a>00196 } <span class="keywordflow">while</span> ( list_curr->fileName != NULL );
|
||||
<a name="l00197"></a>00197
|
||||
<a name="l00198"></a>00198 <span class="comment">/* And free the final element */</span>
|
||||
<a name="l00199"></a>00199 free(list_curr);
|
||||
<a name="l00200"></a>00200
|
||||
<a name="l00201"></a>00201 <span class="comment">/* Clean up X */</span>
|
||||
<a name="l00202"></a>00202 <span class="keywordflow">if</span> (useX)
|
||||
<a name="l00203"></a>00203 XCloseDisplay(display);
|
||||
<a name="l00204"></a>00204
|
||||
<a name="l00205"></a>00205 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00206"></a>00206 }
|
||||
<a name="l00207"></a>00207
|
||||
<a name="l00208"></a>00208 <span class="comment">/* </span>
|
||||
<a name="l00209"></a>00209 <span class="comment"> * === FUNCTION ======================================================================</span>
|
||||
<a name="l00210"></a>00210 <span class="comment"> * Name: usage</span>
|
||||
<a name="l00211"></a>00211 <span class="comment"> * Description: I really shouldn't need to write this</span>
|
||||
<a name="l00212"></a>00212 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00213"></a>00213 <span class="comment"> */</span>
|
||||
<a name="l00214"></a>00214 <span class="keywordtype">void</span> <a class="code" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a> ( )
|
||||
<a name="l00215"></a>00215 {
|
||||
<a name="l00216"></a>00216 fprintf( stderr, <span class="stringliteral">"\</span>
|
||||
<a name="l00217"></a>00217 <span class="stringliteral">Libcvautomation version: %s\n\</span>
|
||||
<a name="l00218"></a>00218 <span class="stringliteral">cva-match -r <root_image> -s <sub_image> \n\</span>
|
||||
<a name="l00219"></a>00219 <span class="stringliteral">cva-match -s <sub_image> -x \n\</span>
|
||||
<a name="l00220"></a>00220 <span class="stringliteral">\n\</span>
|
||||
<a name="l00221"></a>00221 <span class="stringliteral">This program uses OpenCV in order to recognize an image within an image.\n\</span>
|
||||
<a name="l00222"></a>00222 <span class="stringliteral">The return code is how many matches were found - return 0 for no matches,\n\</span>
|
||||
<a name="l00223"></a>00223 <span class="stringliteral">1 for one match, etc.\n\</span>
|
||||
<a name="l00224"></a>00224 <span class="stringliteral">\n\</span>
|
||||
<a name="l00225"></a>00225 <span class="stringliteral">Usage: \n\</span>
|
||||
<a name="l00226"></a>00226 <span class="stringliteral">\n\</span>
|
||||
<a name="l00227"></a>00227 <span class="stringliteral">\t-h, --help:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00228"></a>00228 <span class="stringliteral">\t-u, --usage:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00229"></a>00229 <span class="stringliteral">\t-r, --root-image:\tLocation of the root image to compare against.\n\</span>
|
||||
<a name="l00230"></a>00230 <span class="stringliteral">\t-s, --sub-image:\tLocation of the sub-image to find in root.\n\</span>
|
||||
<a name="l00231"></a>00231 <span class="stringliteral">\t-p, --separator:\tSeparator of the X and Y coordinates.\n\</span>
|
||||
<a name="l00232"></a>00232 <span class="stringliteral">\t-t, --tolerance:\tSet how strict the match is - 100 is recommended lowest value.\n\</span>
|
||||
<a name="l00233"></a>00233 <span class="stringliteral">\t\t\t\tNote: When using CCORR or CCOEFF tolerance works in opposite direction,\n\</span>
|
||||
<a name="l00234"></a>00234 <span class="stringliteral">\t\t\t\tso -50 is recommended highest value.\n\</span>
|
||||
<a name="l00235"></a>00235 <span class="stringliteral">\t-m, --search-method:\tSet which method is used to search for sub-images.\n\</span>
|
||||
<a name="l00236"></a>00236 <span class="stringliteral">\t\t\t\tMethods:\n\</span>
|
||||
<a name="l00237"></a>00237 <span class="stringliteral">\t\t\t\t\tCV_TM_SQDIFF = 0\n\</span>
|
||||
<a name="l00238"></a>00238 <span class="stringliteral">\t\t\t\t\tCV_TM_SQDIFF_NORMED = 1\n\</span>
|
||||
<a name="l00239"></a>00239 <span class="stringliteral">\t\t\t\t\tCV_TM_CCORR = 2\n\</span>
|
||||
<a name="l00240"></a>00240 <span class="stringliteral">\t\t\t\t\tCV_TM_CCORR_NORMED = 3\n\</span>
|
||||
<a name="l00241"></a>00241 <span class="stringliteral">\t\t\t\t\tCV_TM_CCOEFF = 4\n\</span>
|
||||
<a name="l00242"></a>00242 <span class="stringliteral">\t\t\t\t\tCV_TM_COEFF_NORMED = 5\n\</span>
|
||||
<a name="l00243"></a>00243 <span class="stringliteral">\t-x, --x-root[=DISPLAY]:\tSet the root image to come from X11\n\</span>
|
||||
<a name="l00244"></a>00244 <span class="stringliteral">\t\t\t\tThe DISPLAY variable is optional, not specifying it will cause X\n\</span>
|
||||
<a name="l00245"></a>00245 <span class="stringliteral">\t\t\t\tto use the default display (not specifically :0.0)\n\</span>
|
||||
<a name="l00246"></a>00246 <span class="stringliteral">\t\t\t\tPlease note also that the '-x' must come at the end\n\</span>
|
||||
<a name="l00247"></a>00247 <span class="stringliteral">\t\t\t\tsince it is an optional argument.\n\</span>
|
||||
<a name="l00248"></a>00248 <span class="stringliteral">\t-c, --center:\t\tThe output points should be centered on the sub-image, rather\n\</span>
|
||||
<a name="l00249"></a>00249 <span class="stringliteral">\t\t\t\tthan the top-left corner.\n\</span>
|
||||
<a name="l00250"></a>00250 <span class="stringliteral">\t-o, --sane-tolerance:\tSet the tolerance using a scale of 1-100,\n\</span>
|
||||
<a name="l00251"></a>00251 <span class="stringliteral">\t\t\t\trather than INT_MIN to INT_MAX (100 ~= INT_MAX)\n\</span>
|
||||
<a name="l00252"></a>00252 <span class="stringliteral">\n\</span>
|
||||
<a name="l00253"></a>00253 <span class="stringliteral">If you have any questions, comments, concerns, email <%s>\n"</span>, <a class="code" href="libcvautomation_8h.html#6b6ab32b9a55421b91988946b2180bd0">LIBCVAUTOMATION_VERSION</a>, <a class="code" href="libcvautomation_8h.html#064f2ecb9f4013fd636368d0dd59e453">LIBCVAUTOMATION_BUGREPORT</a> );
|
||||
<a name="l00254"></a>00254
|
||||
<a name="l00255"></a>00255 exit (0);
|
||||
<a name="l00256"></a>00256
|
||||
<a name="l00257"></a>00257 } <span class="comment">/* ----- end of function usage ----- */</span>
|
||||
<a name="l00258"></a>00258
|
||||
<a name="l00259"></a>00259 <span class="comment">/* Doxygen Information */</span>
|
||||
<a name="l00266"></a>00266 <span class="comment">/* The biggest purpose of documenting this code is to trick doxygen into making a man page for it. */</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -1,140 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<title>libcvautomation: cva-match.c File Reference</title>
|
||||
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script><script src="http://www.mathjax.org/mathjax/MathJax.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div! -->
|
||||
|
||||
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Generated by Doxygen 1.7.6.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">cva-match.c File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>The cva-input program to demonstrate Libcvautomation's XTest functionality.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <stdlib.h></code><br/>
|
||||
<code>#include <stdio.h></code><br/>
|
||||
<code>#include <unistd.h></code><br/>
|
||||
<code>#include <getopt.h></code><br/>
|
||||
<code>#include <limits.h></code><br/>
|
||||
<code>#include <<a class="el" href="libcvautomation_8h_source.html">libcvautomation/libcvautomation.h</a>></code><br/>
|
||||
</div>
|
||||
<p><a href="cva-match_8c_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr><td colspan="2"><h2><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ef30c42cbc289d899a8be5d2d8f77d0"></a><!-- doxytag: member="cva-match.c::usage" ref="a2ef30c42cbc289d899a8be5d2d8f77d0" args="()" -->
|
||||
void </td><td class="memItemRight" valign="bottom"><b>usage</b> ()</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c04138a5bfe5d72780bb7e82a18e627"></a><!-- doxytag: member="cva-match.c::main" ref="a3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" -->
|
||||
int </td><td class="memItemRight" valign="bottom"><b>main</b> (int argc, char **argv)</td></tr>
|
||||
</table>
|
||||
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
|
||||
<div class="textblock"><p>The cva-input program to demonstrate Libcvautomation's XTest functionality. </p>
|
||||
<dl class="author"><dt><b>Author:</b></dt><dd>Bradlee Speice <<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>> </dd></dl>
|
||||
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="cva-match_8c_source.html">cva-match.c</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Defines</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,376 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<title>libcvautomation: cva-match.c Source File</title>
|
||||
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script><script src="http://www.mathjax.org/mathjax/MathJax.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div! -->
|
||||
|
||||
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Generated by Doxygen 1.7.6.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">cva-match.c</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="cva-match_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: cva-match.c</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: Match an image to its parent image, and return the coordinates</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> *</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Version: 0.1</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Created: 06/20/2012</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Author: Bradlee Speice, bspeice@uncc.edu</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * Organization: MOSAIC at University of North Carolina at Charlotte</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> *</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> */</span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <getopt.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include <limits.h></span>
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>></span>
|
||||
<a name="l00025"></a>00025
|
||||
<a name="l00026"></a>00026 <span class="keywordtype">void</span> usage ();
|
||||
<a name="l00027"></a>00027
|
||||
<a name="l00029"></a>00029 <span class="keyword">struct </span>list {
|
||||
<a name="l00030"></a>00030 <span class="keywordtype">char</span> *fileName;
|
||||
<a name="l00031"></a>00031 <span class="keyword">struct </span>list *next;
|
||||
<a name="l00032"></a>00032 };
|
||||
<a name="l00033"></a>00033
|
||||
<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">struct </span>list basic_list;
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00037"></a>00037 <span class="keywordtype">int</span> main( <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv )
|
||||
<a name="l00038"></a>00038 {
|
||||
<a name="l00039"></a>00039 CvPoint result_point;
|
||||
<a name="l00040"></a>00040 result_point.x = result_point.y = 0;
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="comment">/* Set up everything for getopt */</span>
|
||||
<a name="l00043"></a>00043 <span class="keywordtype">char</span> *separator = <span class="stringliteral">","</span>;
|
||||
<a name="l00044"></a>00044 <span class="keywordtype">char</span> *root_location = <span class="stringliteral">"root.png"</span>;
|
||||
<a name="l00045"></a>00045 <span class="keywordtype">char</span> *sub_location = <span class="stringliteral">"sub.png"</span>;
|
||||
<a name="l00046"></a>00046 <span class="keywordtype">int</span> tolerance = INT_MAX;
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">int</span> search_method = CV_TM_SQDIFF;
|
||||
<a name="l00048"></a>00048 <span class="keywordtype">int</span> useX = 0; <span class="comment">/* bool useX = false; */</span>
|
||||
<a name="l00049"></a>00049 Bool useCenter = False;
|
||||
<a name="l00050"></a>00050 <span class="keywordtype">char</span> *xDisplayLocation;
|
||||
<a name="l00051"></a>00051 Display *display;
|
||||
<a name="l00052"></a>00052 <span class="comment">/* This line to suppress a compiler warning */</span>
|
||||
<a name="l00053"></a>00053 display = NULL;
|
||||
<a name="l00054"></a>00054
|
||||
<a name="l00055"></a>00055 <span class="comment">/* Set the default display */</span>
|
||||
<a name="l00056"></a>00056 xDisplayLocation = <span class="stringliteral">""</span>;
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00058"></a>00058 <span class="comment">/* Set up the linked list for slave images */</span>
|
||||
<a name="l00059"></a>00059 basic_list *list_head, *list_curr, *list_prev;
|
||||
<a name="l00060"></a>00060 list_head = list_curr = list_prev = NULL;
|
||||
<a name="l00061"></a>00061
|
||||
<a name="l00062"></a>00062 <span class="comment">/* Start getopt */</span>
|
||||
<a name="l00063"></a>00063 <span class="keywordflow">while</span> (1)
|
||||
<a name="l00064"></a>00064 {
|
||||
<a name="l00065"></a>00065 <span class="keyword">static</span> <span class="keyword">struct </span>option long_options[] =
|
||||
<a name="l00066"></a>00066 {
|
||||
<a name="l00067"></a>00067 {<span class="stringliteral">"help"</span>, no_argument, 0, <span class="charliteral">'h'</span>},
|
||||
<a name="l00068"></a>00068 {<span class="stringliteral">"usage"</span>, no_argument, 0, <span class="charliteral">'u'</span>},
|
||||
<a name="l00069"></a>00069 {<span class="stringliteral">"version"</span>, no_argument, 0, <span class="charliteral">'v'</span>},
|
||||
<a name="l00070"></a>00070 {<span class="stringliteral">"root-image"</span>, required_argument, 0, <span class="charliteral">'r'</span>},
|
||||
<a name="l00071"></a>00071 {<span class="stringliteral">"sub-image"</span>, required_argument, 0, <span class="charliteral">'s'</span>},
|
||||
<a name="l00072"></a>00072 {<span class="stringliteral">"separator"</span>, required_argument, 0, <span class="charliteral">'p'</span>},
|
||||
<a name="l00073"></a>00073 {<span class="stringliteral">"search-method"</span>,required_argument, 0, <span class="charliteral">'m'</span>},
|
||||
<a name="l00074"></a>00074 {<span class="stringliteral">"tolerance"</span>, required_argument, 0, <span class="charliteral">'t'</span>},
|
||||
<a name="l00075"></a>00075 {<span class="stringliteral">"x-root"</span>, optional_argument, 0, <span class="charliteral">'x'</span>},
|
||||
<a name="l00076"></a>00076 {<span class="stringliteral">"center"</span>, no_argument, 0, <span class="charliteral">'c'</span>},
|
||||
<a name="l00077"></a>00077 {<span class="stringliteral">"sane-tolerance"</span>, required_argument, 0, <span class="charliteral">'o'</span>},
|
||||
<a name="l00078"></a>00078 {0, 0, 0, 0}
|
||||
<a name="l00079"></a>00079 };
|
||||
<a name="l00080"></a>00080
|
||||
<a name="l00081"></a>00081 <span class="keywordtype">int</span> option_index = 0;
|
||||
<a name="l00082"></a>00082 opterr = 0;
|
||||
<a name="l00083"></a>00083
|
||||
<a name="l00084"></a>00084 <span class="keywordtype">int</span> c = getopt_long (argc, argv, <span class="stringliteral">"hur:s:p:m:t:x::c"</span>,
|
||||
<a name="l00085"></a>00085 long_options, &option_index);
|
||||
<a name="l00086"></a>00086
|
||||
<a name="l00087"></a>00087 <span class="comment">/* We're done with parsing options */</span>
|
||||
<a name="l00088"></a>00088 <span class="keywordflow">if</span> (c == -1)
|
||||
<a name="l00089"></a>00089 <span class="keywordflow">break</span>;
|
||||
<a name="l00090"></a>00090
|
||||
<a name="l00091"></a>00091 <span class="keywordflow">switch</span> (c)
|
||||
<a name="l00092"></a>00092 {
|
||||
<a name="l00093"></a>00093 <span class="keywordflow">case</span> 0:
|
||||
<a name="l00094"></a>00094 <span class="keywordflow">break</span>;
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096 <span class="keywordflow">case</span> <span class="charliteral">'h'</span>:
|
||||
<a name="l00097"></a>00097 usage();
|
||||
<a name="l00098"></a>00098 <span class="keywordflow">break</span>;
|
||||
<a name="l00099"></a>00099
|
||||
<a name="l00100"></a>00100 <span class="keywordflow">case</span> <span class="charliteral">'u'</span>:
|
||||
<a name="l00101"></a>00101 usage();
|
||||
<a name="l00102"></a>00102 <span class="keywordflow">break</span>;
|
||||
<a name="l00103"></a>00103
|
||||
<a name="l00104"></a>00104 <span class="keywordflow">case</span> <span class="charliteral">'v'</span>:
|
||||
<a name="l00105"></a>00105 usage();
|
||||
<a name="l00106"></a>00106 <span class="keywordflow">break</span>;
|
||||
<a name="l00107"></a>00107
|
||||
<a name="l00108"></a>00108 <span class="keywordflow">case</span> <span class="charliteral">'r'</span>:
|
||||
<a name="l00109"></a>00109 root_location = optarg;
|
||||
<a name="l00110"></a>00110 <span class="keywordflow">break</span>;
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00112"></a>00112 <span class="keywordflow">case</span> <span class="charliteral">'s'</span>:
|
||||
<a name="l00113"></a>00113 <span class="keywordflow">if</span> ( list_head == NULL )
|
||||
<a name="l00114"></a>00114 {
|
||||
<a name="l00115"></a>00115 list_head = (basic_list *) malloc (<span class="keyword">sizeof</span>(basic_list));
|
||||
<a name="l00116"></a>00116 list_curr = list_head;
|
||||
<a name="l00117"></a>00117 }
|
||||
<a name="l00118"></a>00118 list_curr->fileName = optarg;
|
||||
<a name="l00119"></a>00119 list_curr->next = (basic_list *) malloc (<span class="keyword">sizeof</span>(basic_list));
|
||||
<a name="l00120"></a>00120 list_curr->next->fileName = NULL;
|
||||
<a name="l00121"></a>00121 list_curr = list_curr->next;
|
||||
<a name="l00122"></a>00122 <span class="keywordflow">break</span>;
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00124"></a>00124 <span class="keywordflow">case</span> <span class="charliteral">'p'</span>:
|
||||
<a name="l00125"></a>00125 separator = optarg;
|
||||
<a name="l00126"></a>00126 <span class="keywordflow">break</span>;
|
||||
<a name="l00127"></a>00127
|
||||
<a name="l00128"></a>00128 <span class="keywordflow">case</span> <span class="charliteral">'m'</span>:
|
||||
<a name="l00129"></a>00129 search_method = atoi(optarg);
|
||||
<a name="l00130"></a>00130 <span class="keywordflow">break</span>;
|
||||
<a name="l00131"></a>00131
|
||||
<a name="l00132"></a>00132 <span class="keywordflow">case</span> <span class="charliteral">'t'</span>:
|
||||
<a name="l00133"></a>00133 tolerance = atoi(optarg);
|
||||
<a name="l00134"></a>00134 <span class="keywordflow">break</span>;
|
||||
<a name="l00135"></a>00135
|
||||
<a name="l00136"></a>00136 <span class="keywordflow">case</span> <span class="charliteral">'x'</span>:
|
||||
<a name="l00137"></a>00137 <span class="keywordflow">if</span> ( optarg != NULL ) {
|
||||
<a name="l00138"></a>00138 useX = 1;
|
||||
<a name="l00139"></a>00139 xDisplayLocation = optarg;
|
||||
<a name="l00140"></a>00140 display = XOpenDisplay(xDisplayLocation);
|
||||
<a name="l00141"></a>00141 } <span class="keywordflow">else</span> {
|
||||
<a name="l00142"></a>00142 useX = 1;
|
||||
<a name="l00143"></a>00143 xDisplayLocation = <span class="stringliteral">""</span>;
|
||||
<a name="l00144"></a>00144 display = XOpenDisplay(xDisplayLocation);
|
||||
<a name="l00145"></a>00145 }
|
||||
<a name="l00146"></a>00146 <span class="keywordflow">break</span>;
|
||||
<a name="l00147"></a>00147
|
||||
<a name="l00148"></a>00148 <span class="keywordflow">case</span> <span class="charliteral">'c'</span>:
|
||||
<a name="l00149"></a>00149 useCenter = True;
|
||||
<a name="l00150"></a>00150 <span class="keywordflow">break</span>;
|
||||
<a name="l00151"></a>00151
|
||||
<a name="l00152"></a>00152 <span class="keywordflow">case</span> <span class="charliteral">'o'</span>:
|
||||
<a name="l00153"></a>00153 tolerance = atoi(optarg);
|
||||
<a name="l00154"></a>00154 <span class="comment">/* Provide a more sane way to configure tolerance:</span>
|
||||
<a name="l00155"></a>00155 <span class="comment"> * --sane-tolerance=100 ~= INT_MAX */</span>
|
||||
<a name="l00156"></a>00156 tolerance = pow(1.2397076, tolerance);
|
||||
<a name="l00157"></a>00157 <span class="keywordflow">break</span>;
|
||||
<a name="l00158"></a>00158
|
||||
<a name="l00159"></a>00159 <span class="keywordflow">case</span> <span class="charliteral">'?'</span>:
|
||||
<a name="l00160"></a>00160 <span class="comment">/* Error routine */</span>
|
||||
<a name="l00161"></a>00161 <span class="keywordflow">break</span>;
|
||||
<a name="l00162"></a>00162
|
||||
<a name="l00163"></a>00163 <span class="keywordflow">default</span>:
|
||||
<a name="l00164"></a>00164 fprintf( stderr, <span class="stringliteral">"Unknown option..."</span> );
|
||||
<a name="l00165"></a>00165 exit(0);
|
||||
<a name="l00166"></a>00166 };
|
||||
<a name="l00167"></a>00167 }
|
||||
<a name="l00168"></a>00168
|
||||
<a name="l00169"></a>00169 <span class="comment">/* Make sure we have a linked list, </span>
|
||||
<a name="l00170"></a>00170 <span class="comment"> * and reset the linked list to go back through from the top */</span>
|
||||
<a name="l00171"></a>00171 <span class="keywordflow">if</span> ( list_head == NULL )
|
||||
<a name="l00172"></a>00172 <span class="keywordflow">return</span> 1;
|
||||
<a name="l00173"></a>00173 <span class="keywordflow">else</span>
|
||||
<a name="l00174"></a>00174 list_curr = list_head;
|
||||
<a name="l00175"></a>00175
|
||||
<a name="l00176"></a>00176 <span class="keywordflow">do</span>
|
||||
<a name="l00177"></a>00177 {
|
||||
<a name="l00178"></a>00178 sub_location = list_curr->fileName;
|
||||
<a name="l00179"></a>00179
|
||||
<a name="l00180"></a>00180 <span class="keywordflow">if</span> (useX && useCenter)
|
||||
<a name="l00181"></a>00181 result_point = <a class="code" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e" title="Return the center of a sub image in the root X11 window, rather than the top-left corner...">matchSubImage_X11_location_center</a>( display, sub_location, search_method, tolerance );
|
||||
<a name="l00182"></a>00182 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (useX && !useCenter)
|
||||
<a name="l00183"></a>00183 result_point = <a class="code" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11_location</a>( display, sub_location, search_method, tolerance );
|
||||
<a name="l00184"></a>00184 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!useX && useCenter)
|
||||
<a name="l00185"></a>00185 result_point = <a class="code" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac" title="Return the center of a sub image in its root image, rather than the top-left corner.">matchSubImage_location_center</a>( root_location, sub_location, search_method, tolerance );
|
||||
<a name="l00186"></a>00186 <span class="keywordflow">else</span> <span class="comment">/* if (!useX && !useCenter) */</span>
|
||||
<a name="l00187"></a>00187 result_point = <a class="code" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43" title="Return the location of a sub image in its root image.">matchSubImage_location</a>( root_location, sub_location, search_method, tolerance );
|
||||
<a name="l00188"></a>00188
|
||||
<a name="l00189"></a>00189 <span class="keywordflow">if</span> ( result_point.x != -1 && result_point.y != -1 )
|
||||
<a name="l00190"></a>00190 <span class="comment">/* Output the match location */</span>
|
||||
<a name="l00191"></a>00191 printf (<span class="stringliteral">"%s%s%i%s%i\n"</span>, list_curr->fileName, separator,
|
||||
<a name="l00192"></a>00192 result_point.x, separator, result_point.y );
|
||||
<a name="l00193"></a>00193
|
||||
<a name="l00194"></a>00194 <span class="comment">/* With the way we allocate the list, we ensure that we always</span>
|
||||
<a name="l00195"></a>00195 <span class="comment"> * have at least one element past the end of the list.</span>
|
||||
<a name="l00196"></a>00196 <span class="comment"> * Also, deconstruct the list as we go. */</span>
|
||||
<a name="l00197"></a>00197 list_prev = list_curr;
|
||||
<a name="l00198"></a>00198 list_curr = list_curr->next;
|
||||
<a name="l00199"></a>00199 free(list_prev);
|
||||
<a name="l00200"></a>00200
|
||||
<a name="l00201"></a>00201 } <span class="keywordflow">while</span> ( list_curr->fileName != NULL );
|
||||
<a name="l00202"></a>00202
|
||||
<a name="l00203"></a>00203 <span class="comment">/* And free the final element */</span>
|
||||
<a name="l00204"></a>00204 free(list_curr);
|
||||
<a name="l00205"></a>00205
|
||||
<a name="l00206"></a>00206 <span class="comment">/* Clean up X */</span>
|
||||
<a name="l00207"></a>00207 <span class="keywordflow">if</span> (useX)
|
||||
<a name="l00208"></a>00208 XCloseDisplay(display);
|
||||
<a name="l00209"></a>00209
|
||||
<a name="l00210"></a>00210 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00211"></a>00211 }
|
||||
<a name="l00212"></a>00212
|
||||
<a name="l00213"></a>00213 <span class="comment">/* </span>
|
||||
<a name="l00214"></a>00214 <span class="comment"> * === FUNCTION ======================================================================</span>
|
||||
<a name="l00215"></a>00215 <span class="comment"> * Name: usage</span>
|
||||
<a name="l00216"></a>00216 <span class="comment"> * Description: I really shouldn't need to write this</span>
|
||||
<a name="l00217"></a>00217 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00218"></a>00218 <span class="comment"> */</span>
|
||||
<a name="l00219"></a>00219 <span class="keywordtype">void</span> usage ( )
|
||||
<a name="l00220"></a>00220 {
|
||||
<a name="l00221"></a>00221 fprintf( stderr, <span class="stringliteral">"\</span>
|
||||
<a name="l00222"></a>00222 <span class="stringliteral">Libcvautomation version: %s\n\</span>
|
||||
<a name="l00223"></a>00223 <span class="stringliteral">cva-match -r <root_image> -s <sub_image> \n\</span>
|
||||
<a name="l00224"></a>00224 <span class="stringliteral">cva-match -s <sub_image> -x \n\</span>
|
||||
<a name="l00225"></a>00225 <span class="stringliteral">\n\</span>
|
||||
<a name="l00226"></a>00226 <span class="stringliteral">This program uses OpenCV in order to recognize an image within an image.\n\</span>
|
||||
<a name="l00227"></a>00227 <span class="stringliteral">The return code is how many matches were found - return 0 for no matches,\n\</span>
|
||||
<a name="l00228"></a>00228 <span class="stringliteral">1 for one match, etc.\n\</span>
|
||||
<a name="l00229"></a>00229 <span class="stringliteral">\n\</span>
|
||||
<a name="l00230"></a>00230 <span class="stringliteral">Usage: \n\</span>
|
||||
<a name="l00231"></a>00231 <span class="stringliteral">\n\</span>
|
||||
<a name="l00232"></a>00232 <span class="stringliteral">\t-h, --help:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00233"></a>00233 <span class="stringliteral">\t-u, --usage:\t\tDisplay this usage message.\n\</span>
|
||||
<a name="l00234"></a>00234 <span class="stringliteral">\t-r, --root-image:\tLocation of the root image to compare against.\n\</span>
|
||||
<a name="l00235"></a>00235 <span class="stringliteral">\t-s, --sub-image:\tLocation of the sub-image to find in root.\n\</span>
|
||||
<a name="l00236"></a>00236 <span class="stringliteral">\t-p, --separator:\tSeparator of the X and Y coordinates.\n\</span>
|
||||
<a name="l00237"></a>00237 <span class="stringliteral">\t-t, --tolerance:\tSet how strict the match is - 100 is recommended lowest value.\n\</span>
|
||||
<a name="l00238"></a>00238 <span class="stringliteral">\t\t\t\tNote: When using CCORR or CCOEFF tolerance works in opposite direction,\n\</span>
|
||||
<a name="l00239"></a>00239 <span class="stringliteral">\t\t\t\tso -50 is recommended highest value.\n\</span>
|
||||
<a name="l00240"></a>00240 <span class="stringliteral">\t-m, --search-method:\tSet which method is used to search for sub-images.\n\</span>
|
||||
<a name="l00241"></a>00241 <span class="stringliteral">\t\t\t\tMethods:\n\</span>
|
||||
<a name="l00242"></a>00242 <span class="stringliteral">\t\t\t\t\tCV_TM_SQDIFF = 0\n\</span>
|
||||
<a name="l00243"></a>00243 <span class="stringliteral">\t\t\t\t\tCV_TM_SQDIFF_NORMED = 1\n\</span>
|
||||
<a name="l00244"></a>00244 <span class="stringliteral">\t\t\t\t\tCV_TM_CCORR = 2\n\</span>
|
||||
<a name="l00245"></a>00245 <span class="stringliteral">\t\t\t\t\tCV_TM_CCORR_NORMED = 3\n\</span>
|
||||
<a name="l00246"></a>00246 <span class="stringliteral">\t\t\t\t\tCV_TM_CCOEFF = 4\n\</span>
|
||||
<a name="l00247"></a>00247 <span class="stringliteral">\t\t\t\t\tCV_TM_COEFF_NORMED = 5\n\</span>
|
||||
<a name="l00248"></a>00248 <span class="stringliteral">\t-x, --x-root[=DISPLAY]:\tSet the root image to come from X11\n\</span>
|
||||
<a name="l00249"></a>00249 <span class="stringliteral">\t\t\t\tThe DISPLAY variable is optional, not specifying it will cause X\n\</span>
|
||||
<a name="l00250"></a>00250 <span class="stringliteral">\t\t\t\tto use the default display (not specifically :0.0)\n\</span>
|
||||
<a name="l00251"></a>00251 <span class="stringliteral">\t\t\t\tPlease note also that the '-x' must come at the end\n\</span>
|
||||
<a name="l00252"></a>00252 <span class="stringliteral">\t\t\t\tsince it is an optional argument.\n\</span>
|
||||
<a name="l00253"></a>00253 <span class="stringliteral">\t-c, --center:\t\tThe output points should be centered on the sub-image, rather\n\</span>
|
||||
<a name="l00254"></a>00254 <span class="stringliteral">\t\t\t\tthan the top-left corner.\n\</span>
|
||||
<a name="l00255"></a>00255 <span class="stringliteral">\t-o, --sane-tolerance:\tSet the tolerance using a scale of 1-100,\n\</span>
|
||||
<a name="l00256"></a>00256 <span class="stringliteral">\t\t\t\trather than INT_MIN to INT_MAX (100 ~= INT_MAX)\n\</span>
|
||||
<a name="l00257"></a>00257 <span class="stringliteral">\n\</span>
|
||||
<a name="l00258"></a>00258 <span class="stringliteral">If you have any questions, comments, concerns, email <%s>\n"</span>, <a class="code" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9" title="Define what version of Libcvautomation we are using.">LIBCVAUTOMATION_VERSION</a>, <a class="code" href="libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe" title="Define who to send bug reports to for Libcvautomation.">LIBCVAUTOMATION_BUGREPORT</a> );
|
||||
<a name="l00259"></a>00259
|
||||
<a name="l00260"></a>00260 exit (0);
|
||||
<a name="l00261"></a>00261
|
||||
<a name="l00262"></a>00262 } <span class="comment">/* ----- end of function usage ----- */</span>
|
||||
<a name="l00263"></a>00263
|
||||
<a name="l00264"></a>00264 <span class="comment">/* Doxygen Information */</span>
|
||||
<a name="l00271"></a>00271 <span class="comment">/* The biggest purpose of documenting this code is to trick doxygen into making a man page for it. */</span>
|
||||
</pre></div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Defines</a></div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -87,8 +87,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><table>
|
||||
<tr><td class="indexkey"><a class="el" href="cva-input_8c.html">cva-input.c</a> <a href="cva-input_8c_source.html">[code]</a></td><td class="indexvalue">The cva-input program to demonstrate Libcvautomation's XTest functionality </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="cva-match_8c.html">cva-match.c</a> <a href="cva-match_8c_source.html">[code]</a></td><td class="indexvalue">The cva-input program to demonstrate Libcvautomation's XTest functionality </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="libcvautomation-opencv_8h.html">libcvautomation-opencv.h</a> <a href="libcvautomation-opencv_8h_source.html">[code]</a></td><td class="indexvalue">The source code to access libcv from inside libcvautomation </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="libcvautomation-xlib_8h.html">libcvautomation-xlib.h</a> <a href="libcvautomation-xlib_8h_source.html">[code]</a></td><td class="indexvalue">The source code to access Xlib from inside libcvautomation </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="libcvautomation-xtest_8h.html">libcvautomation-xtest.h</a> <a href="libcvautomation-xtest_8h_source.html">[code]</a></td><td class="indexvalue">The source code to access the XTest extension inside libcvautomation </td></tr>
|
||||
@ -112,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
BIN
form_0.png
Before Width: | Height: | Size: 650 B |
BIN
form_1.png
Before Width: | Height: | Size: 179 B |
BIN
form_10.png
Before Width: | Height: | Size: 519 B |
BIN
form_2.png
Before Width: | Height: | Size: 1.0 KiB |
BIN
form_3.png
Before Width: | Height: | Size: 1.5 KiB |
BIN
form_4.png
Before Width: | Height: | Size: 1.0 KiB |
BIN
form_5.png
Before Width: | Height: | Size: 1.5 KiB |
BIN
form_6.png
Before Width: | Height: | Size: 1.0 KiB |
BIN
form_7.png
Before Width: | Height: | Size: 2.2 KiB |
BIN
form_8.png
Before Width: | Height: | Size: 1.6 KiB |
BIN
form_9.png
Before Width: | Height: | Size: 238 B |
@ -1,11 +0,0 @@
|
||||
\form#0:$ T(x) = (10^{\frac{\log{INT\_MAX}}{\lambda}})^x $
|
||||
\form#1:$ \lambda $
|
||||
\form#2:$R(x,y) = \sum_{x',y'} (T(x',y') - I(x + x', y+y'))^2 $
|
||||
\form#3:$ R(x,y) = \frac{\sum_{x',y'}(T(x',y') - I(x + x', y + y'))^2}{ \sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'}I(x + x', y + y')^2}} $
|
||||
\form#4:$ R(x,y)= \sum _{x',y'} (T(x',y') \cdot I(x+x',y+y')) $
|
||||
\form#5:$ R(x,y)= \frac{\sum_{x',y'} (T(x',y') \cdot I'(x+x',y+y'))}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}} $
|
||||
\form#6:$ R(x,y)= \sum _{x',y'} (T'(x',y') \cdot I(x+x',y+y')) $
|
||||
\form#7:$ \begin{array}{l} T'(x',y')=T(x',y') - 1/(w \cdot h) \cdot \sum _{x'',y''} T(x'',y'') \\ I'(x+x',y+y')=I(x+x',y+y') - 1/(w \cdot h) \cdot \sum _{x'',y''} I(x+x'',y+y'') \end{array} $
|
||||
\form#8:$ R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum_{x',y'} I'(x+x',y+y')^2} } $
|
||||
\form#9:$ 1 \approx 0 $
|
||||
\form#10:$ 100 \approx \c INT_MAX $
|
@ -1,52 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: Class Members</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
Here is a list of all documented class members with links to the class documentation for each member:
|
||||
<p>
|
||||
<ul>
|
||||
<li>cvaImage
|
||||
: <a class="el" href="structcvautomationList.html#7608e8c8e792f6d7432841c94016bd50">cvautomationList</a><li>fileName
|
||||
: <a class="el" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">list</a>, <a class="el" href="structcvautomationList.html#81c1bcaa3616b80a839eead6cde7a652">cvautomationList</a><li>next
|
||||
: <a class="el" href="structlist.html#17ba8e20337279fa9dfa74ac99c21bc1">list</a><li>resultPoint
|
||||
: <a class="el" href="structcvautomationList.html#44326574b58698c640110e846c9131fc">cvautomationList</a><li>searchMethod
|
||||
: <a class="el" href="structcvautomationList.html#c29f1b89cd1e02ef1ece7f9aacfdf831">cvautomationList</a><li>tolerance
|
||||
: <a class="el" href="structcvautomationList.html#d2ad67f51290f2291e8aec5bde3f049c">cvautomationList</a><li>x
|
||||
: <a class="el" href="structcvaPoint.html#4b281115ba26b80bfc9ab6250b37d01d">cvaPoint</a><li>y
|
||||
: <a class="el" href="structcvaPoint.html#3e7df78670c23fb2114a386750edbf1e">cvaPoint</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -1,52 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: Class Members - Variables</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>cvaImage
|
||||
: <a class="el" href="structcvautomationList.html#7608e8c8e792f6d7432841c94016bd50">cvautomationList</a><li>fileName
|
||||
: <a class="el" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">list</a>, <a class="el" href="structcvautomationList.html#81c1bcaa3616b80a839eead6cde7a652">cvautomationList</a><li>next
|
||||
: <a class="el" href="structlist.html#17ba8e20337279fa9dfa74ac99c21bc1">list</a><li>resultPoint
|
||||
: <a class="el" href="structcvautomationList.html#44326574b58698c640110e846c9131fc">cvautomationList</a><li>searchMethod
|
||||
: <a class="el" href="structcvautomationList.html#c29f1b89cd1e02ef1ece7f9aacfdf831">cvautomationList</a><li>tolerance
|
||||
: <a class="el" href="structcvautomationList.html#d2ad67f51290f2291e8aec5bde3f049c">cvautomationList</a><li>x
|
||||
: <a class="el" href="structcvaPoint.html#4b281115ba26b80bfc9ab6250b37d01d">cvaPoint</a><li>y
|
||||
: <a class="el" href="structcvaPoint.html#3e7df78670c23fb2114a386750edbf1e">cvaPoint</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
20
globals.html
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -156,16 +156,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
: <a class="el" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac">libcvautomation-opencv.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11_center()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#a1d5dfa1885ffb3cc5c4f91309e9ca777">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11_location()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#ad67a5c4cc8b4708c8c6bb28135df92dc">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11_location_center()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#ac5fbc2afb3b53bd4788c53e16523995a">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -199,7 +199,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a808386f36914966032aa2e15fd5ef60b">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_commandString()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8">libcvautomation-xtest.h</a>
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_hoverMouseImage()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a657631e704e31818b42587ef50724930">libcvautomation-xtest.h</a>
|
||||
@ -243,6 +243,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<li>xte_pointerLocation()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#afe460d54f6977c431d1c37d42b0264be">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_waitForImage()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#abfbad79445cce59c95940649210f1b31">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_waitForImage_location()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a3f474b9f3ae44e2fcf8997a2a806139e">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_XTestSupported()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
@ -265,7 +271,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -134,16 +134,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
: <a class="el" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac">libcvautomation-opencv.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11_center()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#a1d5dfa1885ffb3cc5c4f91309e9ca777">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11_location()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#ad67a5c4cc8b4708c8c6bb28135df92dc">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
<li>matchSubImage_X11_location_center()
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e">libcvautomation-xlib.h</a>
|
||||
: <a class="el" href="libcvautomation-xlib_8h.html#ac5fbc2afb3b53bd4788c53e16523995a">libcvautomation-xlib.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -177,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a808386f36914966032aa2e15fd5ef60b">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_commandString()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8">libcvautomation-xtest.h</a>
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_hoverMouseImage()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a657631e704e31818b42587ef50724930">libcvautomation-xtest.h</a>
|
||||
@ -221,6 +221,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<li>xte_pointerLocation()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#afe460d54f6977c431d1c37d42b0264be">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_waitForImage()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#abfbad79445cce59c95940649210f1b31">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_waitForImage_location()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#a3f474b9f3ae44e2fcf8997a2a806139e">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
<li>xte_XTestSupported()
|
||||
: <a class="el" href="libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4">libcvautomation-xtest.h</a>
|
||||
</li>
|
||||
@ -243,7 +249,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -1,47 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: Class Members</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li id="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li id="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Defines</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>basic_list
|
||||
: <a class="el" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">cva-match.c</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -88,11 +88,11 @@ Introduction</h2>
|
||||
<h2><a class="anchor" id="how_it_works"></a>
|
||||
How Libcvautomation Works</h2>
|
||||
<p>Libcvautomation represents two software products coming together - <a href="http://opencv.willowgarage.com/wiki/">OpenCV</a> and the <a href="http://www.x.org/docs/Xext/xtest.pdf">XTest extension</a> to the X11 server. OpenCV is used for image recognition, and XTest is used to actually drive the X server. You can dig into <a class="el" href="libcvautomation-xtest_8h.html">libcvautomation-xtest.h</a> to get an idea of what all this library is capable of. <br/>
|
||||
Basically what happens is that for whenever you need to do image recognition, OpenCV is used to find the images, and XTest is used to generate any events needed. Libcvautomation is mostly a wrapper to integrate both of these products, but also adds some functions like <a class="el" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11()</a> that allow you to match an image against the X11 root window in place. This means no more <code>'xwd | convert "<out_name>"'</code>. </p>
|
||||
Basically what happens is that for whenever you need to do image recognition, OpenCV is used to find the images, and XTest is used to generate any events needed. Libcvautomation is mostly a wrapper to integrate both of these products, but also adds some functions like <a class="el" href="libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11()</a> that allow you to match an image against the X11 root window in place. This means no more <code>'xwd | convert "<out_name>"'</code>. </p>
|
||||
<h2><a class="anchor" id="main_using"></a>
|
||||
Using Libcvautomation And Writing Application Tests</h2>
|
||||
<p>So how does one go about using libcvautomation? <br/>
|
||||
I'm so glad you asked! I've provided a few reference programs - <code>cva-match</code> and <code>cva-input</code> - that can be used to demonstrate most of libcvautomation's capabilities. I've even provided a BASH wrapper to make it incredibly easy to use BASH with libcvautomation as well (requires that cva-match and cva-input are installed). Python bindings are on their way too. <br/>
|
||||
I'm so glad you asked! I've provided a few reference programs - <code>cva-match</code> and <code>cva-input</code> - that can be used to demonstrate most of libcvautomation's capabilities. I've even provided a BASH wrapper to make it incredibly easy to use BASH with libcvautomation as well (requires that <code>cva-match</code> and <code>cva-input</code> are installed). Python bindings are on their way too. <br/>
|
||||
Finally, if you want to know how to write your own application tests, please see <a class="el" href="writing_app_tests.html">Writing Application Tests</a> for more information on that. I've provided code to give you a basic idea of how they work. </p>
|
||||
<h2><a class="anchor" id="questions"></a>
|
||||
Questions? Comments? Concerns?</h2>
|
||||
@ -115,7 +115,7 @@ Questions? Comments? Concerns?</h2>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -1,91 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: libcvautomation-opencv.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>libcvautomation-opencv.h</h1><a href="libcvautomation-opencv_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: libcvautomation-opencv.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: Function definitions for opencv functionality</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> *</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Created: 06/21/2012 08:34:21 AM</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> *</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * Author: Bradlee Speice, bspeice@uncc.edu</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Organization: MOSAIC at University of North Carolina at Charlotte</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> *</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> */</span>
|
||||
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef LIBCVAUTOMATION_OPENCV_H</span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_OPENCV_H</span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor"></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="libcvautomation_8h.html">libcvautomation/libcvautomation.h</a>></span>
|
||||
<a name="l00021"></a>00021
|
||||
<a name="l00022"></a>00022 <span class="comment">/* It should be noted that the following are the macros for template matching:</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * CV_TM_SQDIFF (default)</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * CV_TM_SQDIFF_NORMED</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * CV_TM_CCORR</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * CV_TM_CCORR_NORMED</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * CV_TM_CCOEFF</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * CV_TM_CCOEFF_NORMED</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> */</span>
|
||||
<a name="l00030"></a>00030
|
||||
<a name="l00031"></a>00031 <span class="comment">/* Match a root image and sub image */</span>
|
||||
<a name="l00032"></a>00032 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage</a> ( IplImage *rootImage, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00033"></a>00033
|
||||
<a name="l00034"></a>00034 <span class="comment">/* Match a root image and sub image, return the center */</span>
|
||||
<a name="l00035"></a>00035 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center</a> ( IplImage *rootImage, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00037"></a>00037 <span class="comment">/* Match a root image and sub image from filename */</span>
|
||||
<a name="l00038"></a>00038 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#c0d3066da6b2d42251c876d12a7158c7">matchSubImage_location</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImage_location, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00039"></a>00039
|
||||
<a name="l00040"></a>00040 <span class="comment">/* Match a root image and sub image from filename, return the center */</span>
|
||||
<a name="l00041"></a>00041 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#bed7c891adb272993912d973c0e08c27">matchSubImage_location_center</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImage_location, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00042"></a>00042
|
||||
<a name="l00043"></a>00043 <span class="comment">/* Match a root image and sub images from an array of images */</span>
|
||||
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">matchSubImage_a</a> ( IplImage *rootImage, <a class="code" href="structcvautomationList.html">cvautomationList</a> *subImageArray, <span class="keywordtype">int</span> listSize );
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00046"></a>00046 <span class="comment">/* Match a root image and sub images from an array of images, return the center */</span>
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-opencv_8h.html#08ee04814a6cf9abde0bfa6e8baf71de">matchSubImage_a_center</a> ( IplImage *rootImage, <a class="code" href="structcvautomationList.html">cvautomationList</a> *subImageArray, <span class="keywordtype">int</span> listSize );
|
||||
<a name="l00048"></a>00048
|
||||
<a name="l00049"></a>00049 <span class="comment">/* Match a root image and sub images from an array of images */</span>
|
||||
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-opencv_8h.html#22a093abc57d2a5123cb50c2dc6e7dd2">matchSubImage_a_location</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImageFileName, <a class="code" href="structcvautomationList.html">cvautomationList</a> *subImageArray, <span class="keywordtype">int</span> listSize );
|
||||
<a name="l00051"></a>00051
|
||||
<a name="l00052"></a>00052 <span class="comment">/* Match a root image and sub images from an array of images, return the center */</span>
|
||||
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-opencv_8h.html#4b591c5b0a520f3d2c41345f9cd92fa5">matchSubImage_a_location_center</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImageFileName, <a class="code" href="structcvautomationList.html">cvautomationList</a> *subImageArray, <span class="keywordtype">int</span> listSize );
|
||||
<a name="l00054"></a>00054
|
||||
<a name="l00055"></a>00055 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_OPENCV_H */</span>
|
||||
<a name="l00056"></a>00056
|
||||
<a name="l00057"></a>00057 <span class="comment">/* Doxygen information */</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -97,13 +97,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<table class="memberdecls">
|
||||
<tr><td colspan="2"><h2><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265">matchSubImage</a> (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265">matchSubImage</a> (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the location of a sub image in its root image. <a href="#ad37dfe0e025507d2437ea297232e8265"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f">matchSubImage_center</a> (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f">matchSubImage_center</a> (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the center of a sub image in its root image, rather than the top-left corner. <a href="#a0f847f63a736bddcc78ebf857be0813f"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43">matchSubImage_location</a> (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43">matchSubImage_location</a> (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the location of a sub image in its root image. <a href="#a938c40be84667f64b51c8f1fa3725b43"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac">matchSubImage_location_center</a> (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac">matchSubImage_location_center</a> (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the center of a sub image in its root image, rather than the top-left corner. <a href="#a0403ac35c77946e86f6436fd891fa6ac"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf">matchSubImage_a</a> (IplImage *rootImage, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265" title="Return the location of a sub image in its root image.">matchSubImage()</a> <a href="#a3facf18280800537b7b7694b5cd731cf"></a><br/></td></tr>
|
||||
@ -169,7 +169,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of the sub image in root image </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -221,7 +221,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in root image </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -274,7 +274,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of the sub image in root image </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -327,7 +327,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in root image </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -533,7 +533,7 @@ Functions</h2></td></tr>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -117,16 +117,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<a name="l00029"></a>00029 <span class="comment"> */</span>
|
||||
<a name="l00030"></a>00030
|
||||
<a name="l00031"></a>00031 <span class="comment">/* Match a root image and sub image */</span>
|
||||
<a name="l00032"></a>00032 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265" title="Return the location of a sub image in its root image.">matchSubImage</a> ( IplImage *rootImage, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00032"></a>00032 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265" title="Return the location of a sub image in its root image.">matchSubImage</a> ( IplImage *rootImage, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00033"></a>00033
|
||||
<a name="l00034"></a>00034 <span class="comment">/* Match a root image and sub image, return the center */</span>
|
||||
<a name="l00035"></a>00035 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f" title="Return the center of a sub image in its root image, rather than the top-left corner.">matchSubImage_center</a> ( IplImage *rootImage, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00035"></a>00035 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f" title="Return the center of a sub image in its root image, rather than the top-left corner.">matchSubImage_center</a> ( IplImage *rootImage, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00037"></a>00037 <span class="comment">/* Match a root image and sub image from filename */</span>
|
||||
<a name="l00038"></a>00038 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43" title="Return the location of a sub image in its root image.">matchSubImage_location</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImage_location, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00038"></a>00038 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43" title="Return the location of a sub image in its root image.">matchSubImage_location</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImage_location, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00039"></a>00039
|
||||
<a name="l00040"></a>00040 <span class="comment">/* Match a root image and sub image from filename, return the center */</span>
|
||||
<a name="l00041"></a>00041 CvPoint <a class="code" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac" title="Return the center of a sub image in its root image, rather than the top-left corner.">matchSubImage_location_center</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImage_location, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00041"></a>00041 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac" title="Return the center of a sub image in its root image, rather than the top-left corner.">matchSubImage_location_center</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImage_location, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">double</span> tolerance );
|
||||
<a name="l00042"></a>00042
|
||||
<a name="l00043"></a>00043 <span class="comment">/* Match a root image and sub images from an array of images */</span>
|
||||
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf" title="Parse an array of sub images and send them to matchSubImage()">matchSubImage_a</a> ( IplImage *rootImage, <a class="code" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a> *subImageArray, <span class="keywordtype">int</span> listSize );
|
||||
@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -1,77 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: libcvautomation-xlib.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>libcvautomation-xlib.h</h1><a href="libcvautomation-xlib_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: libcvautomation-xlib.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: Function definitions for X11 operations</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> *</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Created: 06/21/2012 08:34:21 AM</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> *</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * Author: Bradlee Speice, bspeice@uncc.edu</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Organization: MOSAIC at University of North Carolina at Charlotte</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> *</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> */</span>
|
||||
<a name="l00017"></a>00017
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef LIBCVAUTOMATION_XLIB_H</span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_XLIB_H</span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor"></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="libcvautomation_8h.html">libcvautomation/libcvautomation.h</a>></span>
|
||||
<a name="l00022"></a>00022
|
||||
<a name="l00023"></a>00023 <span class="comment">/* Custom wrapper for XOpenDisplay function */</span>
|
||||
<a name="l00024"></a>00024 Display* <a class="code" href="libcvautomation-xlib_8h.html#a6e348c2e829e1addb446160f54723a0">cvaOpenDisplay</a> ( <span class="keywordtype">char</span> *displayName );
|
||||
<a name="l00025"></a>00025
|
||||
<a name="l00026"></a>00026 <span class="comment">/* Custom wrapper for XCloseDisplay funtion */</span>
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xlib_8h.html#1c8a205c0b2f4f7a28d1ce51d5225871">cvaCloseDisplay</a> ( Display *displayLocation );
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/* Match a sub image using the X11 root window as root */</span>
|
||||
<a name="l00030"></a>00030 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#8fbf1f5f968670a03c4c8e31f5afdaed">matchSubImage_X11</a>( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00031"></a>00031
|
||||
<a name="l00032"></a>00032 <span class="comment">/* Match a sub image using the X11 root window as root, return the center */</span>
|
||||
<a name="l00033"></a>00033 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#fb70c8eec779a6696b3df5af5bca1a6d">matchSubImage_X11_center</a>( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00035"></a>00035 <span class="comment">/* Match a sub image using X11 as root, from filename */</span>
|
||||
<a name="l00036"></a>00036 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#d238842448af81c09f56d1d54253c1b5">matchSubImage_X11_location</a>( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> search_method, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00038"></a>00038 <span class="comment">/* Match a sub image using X11 as root, from filename, return the center */</span>
|
||||
<a name="l00039"></a>00039 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#b441627acd22889f404d89c9cc4809f5">matchSubImage_X11_location_center</a>( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> search_method, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00040"></a>00040
|
||||
<a name="l00041"></a>00041 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_XLIB_H */</span>
|
||||
<a name="l00042"></a>00042
|
||||
<a name="l00043"></a>00043 <span class="comment">/* Doxygen information */</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -101,14 +101,14 @@ Functions</h2></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Simple wrapper for XOpenDisplay. <a href="#a575e80fc9cf076026e127a57888423d4"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a">cvaCloseDisplay</a> (Display *displayLocation)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Simple wrapper for XCloseDisplay. <a href="#a65ab3bc56b956970a6b3d31c624d464a"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae">matchSubImage_X11</a> (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the location of a sub image in the X11 root window. <a href="#ad2932b004e600388764778f2b837e6ae"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68">matchSubImage_X11_center</a> (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the center of a sub image in root X11 window, rather than the top-left corner. <a href="#a1f113520b4793114d4d6da026ab98f68"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a">matchSubImage_X11_location</a> (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the location of a sub image in the X11 root window. <a href="#a96fa86aa56f5e9c88c0ba4bc3c26130a"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">CvPoint </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e">matchSubImage_X11_location_center</a> (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the center of a sub image in the root X11 window, rather than the top-left corner. <a href="#af334e78266661ac4d38d5a48f98e8e6e"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece">matchSubImage_X11</a> (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the location of a sub image in the X11 root window. <a href="#abdedf5cd2aceeda00f665747bf1eeece"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#a1d5dfa1885ffb3cc5c4f91309e9ca777">matchSubImage_X11_center</a> (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the center of a sub image in root X11 window, rather than the top-left corner. <a href="#a1d5dfa1885ffb3cc5c4f91309e9ca777"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#ad67a5c4cc8b4708c8c6bb28135df92dc">matchSubImage_X11_location</a> (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the location of a sub image in the X11 root window. <a href="#ad67a5c4cc8b4708c8c6bb28135df92dc"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#ac5fbc2afb3b53bd4788c53e16523995a">matchSubImage_X11_location_center</a> (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the center of a sub image in the root X11 window, rather than the top-left corner. <a href="#ac5fbc2afb3b53bd4788c53e16523995a"></a><br/></td></tr>
|
||||
</table>
|
||||
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
|
||||
<div class="textblock"><p>The source code to access Xlib from inside libcvautomation. </p>
|
||||
@ -175,12 +175,12 @@ The program using this library is responsible to close the display as well. </dd
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ad2932b004e600388764778f2b837e6ae"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11" ref="ad2932b004e600388764778f2b837e6ae" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
|
||||
<a class="anchor" id="abdedf5cd2aceeda00f665747bf1eeece"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11" ref="abdedf5cd2aceeda00f665747bf1eeece" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae">matchSubImage_X11</a> </td>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece">matchSubImage_X11</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Display * </td>
|
||||
<td class="paramname"><em>displayLocation</em>, </td>
|
||||
@ -223,17 +223,17 @@ The program using this library is responsible to close the display as well. </dd
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of the sub image in root X11 window </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a1f113520b4793114d4d6da026ab98f68"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_center" ref="a1f113520b4793114d4d6da026ab98f68" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
|
||||
<a class="anchor" id="a1d5dfa1885ffb3cc5c4f91309e9ca777"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_center" ref="a1d5dfa1885ffb3cc5c4f91309e9ca777" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68">matchSubImage_X11_center</a> </td>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xlib_8h.html#a1d5dfa1885ffb3cc5c4f91309e9ca777">matchSubImage_X11_center</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Display * </td>
|
||||
<td class="paramname"><em>displayLocation</em>, </td>
|
||||
@ -276,17 +276,17 @@ The program using this library is responsible to close the display as well. </dd
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a96fa86aa56f5e9c88c0ba4bc3c26130a"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_location" ref="a96fa86aa56f5e9c88c0ba4bc3c26130a" args="(Display *displayLocation, const char *subImage_location, int search_method, int tolerance)" -->
|
||||
<a class="anchor" id="ad67a5c4cc8b4708c8c6bb28135df92dc"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_location" ref="ad67a5c4cc8b4708c8c6bb28135df92dc" args="(Display *displayLocation, const char *subImage_location, int search_method, int tolerance)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a">matchSubImage_X11_location</a> </td>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xlib_8h.html#ad67a5c4cc8b4708c8c6bb28135df92dc">matchSubImage_X11_location</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Display * </td>
|
||||
<td class="paramname"><em>displayLocation</em>, </td>
|
||||
@ -329,17 +329,17 @@ The program using this library is responsible to close the display as well. </dd
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="af334e78266661ac4d38d5a48f98e8e6e"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_location_center" ref="af334e78266661ac4d38d5a48f98e8e6e" args="(Display *displayLocation, const char *subImage_location, int search_method, int tolerance)" -->
|
||||
<a class="anchor" id="ac5fbc2afb3b53bd4788c53e16523995a"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_location_center" ref="ac5fbc2afb3b53bd4788c53e16523995a" args="(Display *displayLocation, const char *subImage_location, int search_method, int tolerance)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e">matchSubImage_X11_location_center</a> </td>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xlib_8h.html#ac5fbc2afb3b53bd4788c53e16523995a">matchSubImage_X11_location_center</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Display * </td>
|
||||
<td class="paramname"><em>displayLocation</em>, </td>
|
||||
@ -382,7 +382,7 @@ The program using this library is responsible to close the display as well. </dd
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -405,7 +405,7 @@ The program using this library is responsible to close the display as well. </dd
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -115,16 +115,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a" title="Simple wrapper for XCloseDisplay.">cvaCloseDisplay</a> ( Display *displayLocation );
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/* Match a sub image using the X11 root window as root */</span>
|
||||
<a name="l00030"></a>00030 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11</a>( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00030"></a>00030 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11</a>( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00031"></a>00031
|
||||
<a name="l00032"></a>00032 <span class="comment">/* Match a sub image using the X11 root window as root, return the center */</span>
|
||||
<a name="l00033"></a>00033 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68" title="Return the center of a sub image in root X11 window, rather than the top-left corner.">matchSubImage_X11_center</a>( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00033"></a>00033 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xlib_8h.html#a1d5dfa1885ffb3cc5c4f91309e9ca777" title="Return the center of a sub image in root X11 window, rather than the top-left corner.">matchSubImage_X11_center</a>( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00035"></a>00035 <span class="comment">/* Match a sub image using X11 as root, from filename */</span>
|
||||
<a name="l00036"></a>00036 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11_location</a>( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> search_method, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00036"></a>00036 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xlib_8h.html#ad67a5c4cc8b4708c8c6bb28135df92dc" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11_location</a>( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> search_method, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00038"></a>00038 <span class="comment">/* Match a sub image using X11 as root, from filename, return the center */</span>
|
||||
<a name="l00039"></a>00039 CvPoint <a class="code" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e" title="Return the center of a sub image in the root X11 window, rather than the top-left corner...">matchSubImage_X11_location_center</a>( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> search_method, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00039"></a>00039 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xlib_8h.html#ac5fbc2afb3b53bd4788c53e16523995a" title="Return the center of a sub image in the root X11 window, rather than the top-left corner...">matchSubImage_X11_location_center</a>( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *subImage_location, <span class="keywordtype">int</span> search_method, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00040"></a>00040
|
||||
<a name="l00041"></a>00041 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_XLIB_H */</span>
|
||||
<a name="l00042"></a>00042
|
||||
@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -1,145 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: libcvautomation-xtest.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>libcvautomation-xtest.h</h1><a href="libcvautomation-xtest_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: libcvautomation-xinput.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: </span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> *</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Created: 06/26/2012 09:08:41 AM</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> *</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * Author: Bradlee Speice (), bspeice.nc@gmail.com</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Organization: </span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> *</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> */</span>
|
||||
<a name="l00017"></a>00017
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef LIBCVAUTOMATION_XTEST_H</span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_XTEST_H</span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor"></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="libcvautomation_8h.html">libcvautomation/libcvautomation.h</a>></span>
|
||||
<a name="l00022"></a>00022
|
||||
<a name="l00023"></a>00023 <span class="preprocessor">#define IS_CMD( x, y ) strncmp( x, y, strlen( y ) ) == 0</span>
|
||||
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define COMMAND_STR_LEN 512</span>
|
||||
<a name="l00025"></a>00025 <span class="preprocessor"></span>
|
||||
<a name="l00026"></a>00026 <span class="comment">/* Make sure that the XTest extension is supported.</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * If it's not, return 0 (false) */</span>
|
||||
<a name="l00028"></a>00028 Bool <a class="code" href="libcvautomation-xtest_8h.html#d054a30613fdebf388218ce7c7ba8eaa">xte_XTestSupported</a> ( Display *displayLocation );
|
||||
<a name="l00029"></a>00029
|
||||
<a name="l00030"></a>00030 <span class="comment">/* Get the current location of the pointer */</span>
|
||||
<a name="l00031"></a>00031 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#6b2aaf7275e7671691ff9e09d3365bdb">xte_pointerLocation</a> ( Display *displayLocation );
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a>00033 <span class="comment">/* Click the mouse where it is currently at */</span>
|
||||
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#e795b36e13508632ae69e9141dbd9b71">xte_clickMouse</a> ( Display *displayLocation, <span class="keywordtype">int</span> mouseButton );
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="comment">/* Click the mouse on an absolute screen location */</span>
|
||||
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#88f51bec45b626f4bf2f1eaf0eb2b570">xte_clickMouseXY</a> ( Display *displayLocation, <span class="keywordtype">int</span> xLocation, <span class="keywordtype">int</span> yLocation, <span class="keywordtype">int</span> mouseButton );
|
||||
<a name="l00038"></a>00038
|
||||
<a name="l00039"></a>00039 <span class="comment">/* Click the mouse on a screen location relative to where it currently is */</span>
|
||||
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#94f3c779c24b95d5fb743787a507d49e">xte_clickMouseRXY</a> ( Display *displayLocation, <span class="keywordtype">int</span> xIncrement, <span class="keywordtype">int</span> yIncrement, <span class="keywordtype">int</span> mouseButton );
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="comment">/* Click the mouse at the top-left corner of an image on the specified display */</span>
|
||||
<a name="l00043"></a>00043 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#42e82ace64c71fb6cf247ac16ee95da1">xte_clickMouseImage</a> ( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> mouseButton, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00045"></a>00045 <span class="comment">/* Click the mouse at the top-left corner of an image on the specified display</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> * where the subImage is a file location */</span>
|
||||
<a name="l00047"></a>00047 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#db6d976b6b4849a295e02aac2567fa86">xte_clickMouseImage_location</a> ( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">int</span> mouseButton, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00048"></a>00048
|
||||
<a name="l00049"></a>00049 <span class="comment">/* Click the mouse at the center of an image on the specified display */</span>
|
||||
<a name="l00050"></a>00050 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#a8f71206992c631e8e2827424b3d6090">xte_clickMouseImage_center</a> ( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> mouseButton, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00051"></a>00051
|
||||
<a name="l00052"></a>00052 <span class="comment">/* Click the mouse at the center of an image on the specified display</span>
|
||||
<a name="l00053"></a>00053 <span class="comment"> * where the subImage is a file location */</span>
|
||||
<a name="l00054"></a>00054 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#25b98d2e0780ae8f8afc152e620ceaaf">xte_clickMouseImage_location_center</a> ( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">int</span> mouseButton, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00055"></a>00055
|
||||
<a name="l00056"></a>00056 <span class="comment">/* Move the mouse to a location and leave it there */</span>
|
||||
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#dcc93e8aa9a0fd445c3c1971e35e194b">xte_hoverMouseXY</a> ( Display *displayLocation, <span class="keywordtype">int</span> xLocation, <span class="keywordtype">int</span> yLocation );
|
||||
<a name="l00058"></a>00058
|
||||
<a name="l00059"></a>00059 <span class="comment">/* Move the mouse to a location relative to where it currently is and leave it there */</span>
|
||||
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#8bb400fb20f4416f6f93465935a76be2">xte_hoverMouseRXY</a> ( Display *displayLocation, <span class="keywordtype">int</span> xIncrement, <span class="keywordtype">int</span> yIncrement );
|
||||
<a name="l00061"></a>00061
|
||||
<a name="l00062"></a>00062 <span class="comment">/* Move the mouse to a location at the top-left corner of an image on the specified display</span>
|
||||
<a name="l00063"></a>00063 <span class="comment"> * but don't click the mouse */</span>
|
||||
<a name="l00064"></a>00064 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#8827d93f5299e4aa99acc7c2c1d398c4">xte_hoverMouseImage</a> ( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066 <span class="comment">/* Move the mouse to a location at the top-left corner of an image from file on the specified display</span>
|
||||
<a name="l00067"></a>00067 <span class="comment"> * but don't click the mouse */</span>
|
||||
<a name="l00068"></a>00068 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#217328d995073752cd182098f18b3397">xte_hoverMouseImage_location</a> ( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00069"></a>00069
|
||||
<a name="l00070"></a>00070 <span class="comment">/* Move the mouse to a location at the center of an image on the specified display</span>
|
||||
<a name="l00071"></a>00071 <span class="comment"> * but don't click the mouse */</span>
|
||||
<a name="l00072"></a>00072 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#9e8b30c7b59467dba853e467153123db">xte_hoverMouseImage_center</a> ( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00074"></a>00074 <span class="comment">/* Move the mouse to a location at the center of an image from file on the specified display</span>
|
||||
<a name="l00075"></a>00075 <span class="comment"> * but don't click the mouse */</span>
|
||||
<a name="l00076"></a>00076 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#2b16677d20493c1c4f96c6e43b3fc0b7">xte_hoverMouseImage_location_center</a> ( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00077"></a>00077
|
||||
<a name="l00078"></a>00078 <span class="comment">/* Push a mouse button down, but don't release it */</span>
|
||||
<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#09ef864a45f24c7f682c96368a62be4d">xte_mouseDown</a> ( Display *displayLocation, <span class="keywordtype">int</span> mouseButton );
|
||||
<a name="l00080"></a>00080
|
||||
<a name="l00081"></a>00081 <span class="comment">/* Let a mouse button up */</span>
|
||||
<a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#68a7da112f124b61799162923657116a">xte_mouseUp</a> ( Display *displayLocation, <span class="keywordtype">int</span> mouseButton );
|
||||
<a name="l00083"></a>00083
|
||||
<a name="l00084"></a>00084 <span class="comment">/* Move the mouse a little bit */</span>
|
||||
<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#2431de2ae4b296a9a91da6e20250a67b">xte_mouseJiggle</a> ( Display *displayLocation );
|
||||
<a name="l00086"></a>00086
|
||||
<a name="l00087"></a>00087 <span class="comment">/* Scroll the mouse up */</span>
|
||||
<a name="l00088"></a>00088 <span class="keywordtype">void</span> xte_mouseScrollUp ( Display *displayLocation );
|
||||
<a name="l00089"></a>00089
|
||||
<a name="l00090"></a>00090 <span class="comment">/* Scroll the mouse down */</span>
|
||||
<a name="l00091"></a>00091 <span class="keywordtype">void</span> xte_mouseScrollDown ( Display *displayLocation );
|
||||
<a name="l00092"></a>00092
|
||||
<a name="l00093"></a>00093 <span class="comment">/* Press and release a key </span>
|
||||
<a name="l00094"></a>00094 <span class="comment"> * Note that we use a string for *key, since keys like "space" are still valid. */</span>
|
||||
<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#5ce1dbeb65bba1613e4e6619857b1746">xte_clickKey</a> ( Display *displayLocation, <span class="keywordtype">char</span> *key );
|
||||
<a name="l00096"></a>00096
|
||||
<a name="l00097"></a>00097 <span class="comment">/* Press and release keys in a string */</span>
|
||||
<a name="l00098"></a>00098 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#b327a24f45f673a4aeab6dfb7b9e411a">xte_clickKeyStr</a> ( Display *displayLocation, <span class="keywordtype">char</span> *string );
|
||||
<a name="l00099"></a>00099
|
||||
<a name="l00100"></a>00100 <span class="comment">/* Press a key down */</span>
|
||||
<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#04ded64c2bd31804cc109502530890c0">xte_keyDown</a> ( Display *displayLocation, <span class="keywordtype">char</span> *key );
|
||||
<a name="l00102"></a>00102
|
||||
<a name="l00103"></a>00103 <span class="comment">/* Release a key */</span>
|
||||
<a name="l00104"></a>00104 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#574402ddf94858b340254a4e444fa404">xte_keyUp</a> ( Display *displayLocation, <span class="keywordtype">char</span> *key );
|
||||
<a name="l00105"></a>00105
|
||||
<a name="l00106"></a>00106 <span class="comment">/* Use one of the functions by command name */</span>
|
||||
<a name="l00107"></a>00107 <a class="code" href="structcvaPoint.html">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#382af05e5669ea2cbb22608e41cbc49a">xte_commandString</a> ( Display *displayLocation, <span class="keywordtype">char</span> *commandString, <span class="keywordtype">int</span> mouseButton, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00108"></a>00108
|
||||
<a name="l00109"></a>00109 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_XTEST_H */</span>
|
||||
<a name="l00110"></a>00110
|
||||
<a name="l00111"></a>00111 <span class="comment">/* Doxygen information */</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -153,8 +153,12 @@ Functions</h2></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Press a key down, but do not release it. <a href="#ad1d7153af9ed5cb2ba3b6d2a89c4ec75"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xtest_8h.html#a6af5c14f862dd91fec682fde44a10e23">xte_keyUp</a> (Display *displayLocation, char *key)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Release a key. <a href="#a6af5c14f862dd91fec682fde44a10e23"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8">xte_commandString</a> (Display *displayLocation, char *commandString, int mouseButton, int searchMethod, int tolerance)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Execute a command where the command is coming from a string. <a href="#a8c3574a6eff4b080840806dca53aa5b8"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xtest_8h.html#abfbad79445cce59c95940649210f1b31">xte_waitForImage</a> (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance, int timeout)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Wait for an image to show up on screen. <a href="#abfbad79445cce59c95940649210f1b31"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xtest_8h.html#a3f474b9f3ae44e2fcf8997a2a806139e">xte_waitForImage_location</a> (Display *displayLocation, const char *fileName, int searchMethod, int tolerance, int timeout)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Wait for an image from file to show up on screen. <a href="#a3f474b9f3ae44e2fcf8997a2a806139e"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f">xte_commandString</a> (Display *displayLocation, char *commandString, int mouseButton, int searchMethod, int tolerance, int timeout)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Execute a command where the command is coming from a string. <a href="#a7ea1430ed90d3166f8d9fbb4e240a28f"></a><br/></td></tr>
|
||||
</table>
|
||||
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
|
||||
<div class="textblock"><p>The source code to access the XTest extension inside libcvautomation. </p>
|
||||
@ -442,7 +446,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -502,7 +506,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -562,7 +566,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -622,7 +626,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -761,7 +765,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -814,7 +818,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -867,7 +871,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -920,7 +924,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="return"><dt><b>Returns:</b></dt><dd>The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved. </dd></dl>
|
||||
|
||||
</div>
|
||||
@ -1101,7 +1105,7 @@ Functions</h2></td></tr>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Press and release a keyboard key. </p>
|
||||
<p>This method allows you to press and release a key, where the key may be <code>'a'</code>, <code>'b'</code>, or maybe something fancy like <code>'space'</code>. Please see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of keys. </p>
|
||||
<p>This method allows you to press and release a key, where the key may be <code>'a'</code>, <code>'b'</code>, or maybe something fancy like <code>'space'</code>. Please see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of keys. </p>
|
||||
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">displayLocation</td><td>The Display of which to click a key </td></tr>
|
||||
@ -1109,7 +1113,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="XTest_key_strings.html">XTest Key Strings</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="xtest_key_strings.html">XTest Key Strings</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -1176,7 +1180,7 @@ Functions</h2></td></tr>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Press a key down, but do not release it. </p>
|
||||
<p>This method allows you to push down a key, where the key may be <code>'a'</code>, <code>'b'</code>, or maybe something fancy like <code>'space'</code>. Please see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of keys. </p>
|
||||
<p>This method allows you to push down a key, where the key may be <code>'a'</code>, <code>'b'</code>, or maybe something fancy like <code>'space'</code>. Please see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of keys. </p>
|
||||
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">displayLocation</td><td>The Display of which to push down a key </td></tr>
|
||||
@ -1184,7 +1188,7 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="XTest_key_strings.html">XTest Key Strings</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="xtest_key_strings.html">XTest Key Strings</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -1214,7 +1218,7 @@ Functions</h2></td></tr>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Release a key. </p>
|
||||
<p>This method allows you to release a key, where the key may be <code>'a'</code>, <code>'b'</code>, or maybe something fancy like <code>'space'</code>. Please see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of keys. </p>
|
||||
<p>This method allows you to release a key, where the key may be <code>'a'</code>, <code>'b'</code>, or maybe something fancy like <code>'space'</code>. Please see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of keys. </p>
|
||||
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">displayLocation</td><td>The Display of which to release a key </td></tr>
|
||||
@ -1222,16 +1226,134 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="XTest_key_strings.html">XTest Key Strings</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="xtest_key_strings.html">XTest Key Strings</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a8c3574a6eff4b080840806dca53aa5b8"></a><!-- doxytag: member="libcvautomation-xtest.h::xte_commandString" ref="a8c3574a6eff4b080840806dca53aa5b8" args="(Display *displayLocation, char *commandString, int mouseButton, int searchMethod, int tolerance)" -->
|
||||
<a class="anchor" id="abfbad79445cce59c95940649210f1b31"></a><!-- doxytag: member="libcvautomation-xtest.h::xte_waitForImage" ref="abfbad79445cce59c95940649210f1b31" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance, int timeout)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8">xte_commandString</a> </td>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xtest_8h.html#abfbad79445cce59c95940649210f1b31">xte_waitForImage</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Display * </td>
|
||||
<td class="paramname"><em>displayLocation</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">IplImage * </td>
|
||||
<td class="paramname"><em>subImage</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>searchMethod</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>tolerance</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>timeout</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Wait for an image to show up on screen. </p>
|
||||
<p>This method allows you to search for an image on screen and wait for it to show up - this way you can make sure an image exists, and then respond to it. Also makes error checking easy. </p>
|
||||
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">displayLocation</td><td>The Display of which to search for an image </td></tr>
|
||||
<tr><td class="paramname">subImage</td><td>The sub image to search for </td></tr>
|
||||
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> </td></tr>
|
||||
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>tolerance</code> </td></tr>
|
||||
<tr><td class="paramname">timeout</td><td>The time (in seconds) to search for the image </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a3f474b9f3ae44e2fcf8997a2a806139e"></a><!-- doxytag: member="libcvautomation-xtest.h::xte_waitForImage_location" ref="a3f474b9f3ae44e2fcf8997a2a806139e" args="(Display *displayLocation, const char *fileName, int searchMethod, int tolerance, int timeout)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xtest_8h.html#a3f474b9f3ae44e2fcf8997a2a806139e">xte_waitForImage_location</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Display * </td>
|
||||
<td class="paramname"><em>displayLocation</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"><em>fileName</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>searchMethod</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>tolerance</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>timeout</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Wait for an image from file to show up on screen. </p>
|
||||
<p>This method allows you to search for an image on screen and wait for it to show up - this way you can make sure an image exists, and then respond to it. Also makes error checking easy. </p>
|
||||
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">displayLocation</td><td>The Display of which to search for an image </td></tr>
|
||||
<tr><td class="paramname">fileName</td><td>The file to load an image from before searching </td></tr>
|
||||
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> </td></tr>
|
||||
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>tolerance</code> </td></tr>
|
||||
<tr><td class="paramname">timeout</td><td>The time (in seconds) to search for the image </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a7ea1430ed90d3166f8d9fbb4e240a28f"></a><!-- doxytag: member="libcvautomation-xtest.h::xte_commandString" ref="a7ea1430ed90d3166f8d9fbb4e240a28f" args="(Display *displayLocation, char *commandString, int mouseButton, int searchMethod, int tolerance, int timeout)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="structcvaPoint.html">cvaPoint</a> <a class="el" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f">xte_commandString</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Display * </td>
|
||||
<td class="paramname"><em>displayLocation</em>, </td>
|
||||
@ -1258,7 +1380,13 @@ Functions</h2></td></tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>tolerance</em> </td>
|
||||
<td class="paramname"><em>tolerance</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>timeout</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
@ -1270,7 +1398,7 @@ Functions</h2></td></tr>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Execute a command where the command is coming from a string. </p>
|
||||
<p>This function allows you to input a command to libcvautomation from a string. For example, to click a mouse button, you would use the <code>command</code> 'mouseclick'. Please note that some <code>command</code>s may need arguments to the string, and some may use function arguments. See <a class="el" href="XTest_command_strings.html">xte_commandString() Command Strings</a> for a full list of command and arguments </p>
|
||||
<p>This function allows you to input a command to libcvautomation from a string. For example, to click a mouse button, you would use the <code>command</code> 'mouseclick'. Please note that some <code>command</code>s may need arguments to the string, and some may use function arguments. See <a class="el" href="xtest_command_strings.html">xte_commandString() Command Strings</a> for a full list of command and arguments </p>
|
||||
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">displayLocation</td><td>The Display of which to operate on </td></tr>
|
||||
@ -1278,12 +1406,13 @@ Functions</h2></td></tr>
|
||||
<tr><td class="paramname">mouseButton</td><td>The mouse button to click if it is needed by the command being executed </td></tr>
|
||||
<tr><td class="paramname">searchMethod</td><td>The search method to use if it is needed by the command being executed </td></tr>
|
||||
<tr><td class="paramname">tolerance</td><td>The tolerance to use if it is needed by the command being executed </td></tr>
|
||||
<tr><td class="paramname">timeout</td><td>The time in seconds to wait for an image to be displayed when using the <code>waitfor</code> command. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="XTest_command_strings.html">xte_commandString() Command Strings</a> </dd>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="xtest_command_strings.html">xte_commandString() Command Strings</a> </dd>
|
||||
<dd>
|
||||
<a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -1305,7 +1434,7 @@ Functions</h2></td></tr>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -191,12 +191,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<a name="l00103"></a>00103 <span class="comment">/* Release a key */</span>
|
||||
<a name="l00104"></a>00104 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#a6af5c14f862dd91fec682fde44a10e23" title="Release a key.">xte_keyUp</a> ( Display *displayLocation, <span class="keywordtype">char</span> *key );
|
||||
<a name="l00105"></a>00105
|
||||
<a name="l00106"></a>00106 <span class="comment">/* Use one of the functions by command name */</span>
|
||||
<a name="l00107"></a>00107 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8" title="Execute a command where the command is coming from a string.">xte_commandString</a> ( Display *displayLocation, <span class="keywordtype">char</span> *commandString, <span class="keywordtype">int</span> mouseButton, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance );
|
||||
<a name="l00106"></a>00106 <span class="comment">/* Wait for an image to show up on screen */</span>
|
||||
<a name="l00107"></a>00107 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#abfbad79445cce59c95940649210f1b31" title="Wait for an image to show up on screen.">xte_waitForImage</a> ( Display *displayLocation, IplImage *subImage, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance, <span class="keywordtype">int</span> timeout );
|
||||
<a name="l00108"></a>00108
|
||||
<a name="l00109"></a>00109 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_XTEST_H */</span>
|
||||
<a name="l00110"></a>00110
|
||||
<a name="l00111"></a>00111 <span class="comment">/* Doxygen information */</span>
|
||||
<a name="l00109"></a>00109 <span class="comment">/* Wait for an image from file to show up on screen */</span>
|
||||
<a name="l00110"></a>00110 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#a3f474b9f3ae44e2fcf8997a2a806139e" title="Wait for an image from file to show up on screen.">xte_waitForImage_location</a> ( Display *displayLocation, <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance, <span class="keywordtype">int</span> timeout );
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00112"></a>00112 <span class="comment">/* Use one of the functions by command name */</span>
|
||||
<a name="l00113"></a>00113 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f" title="Execute a command where the command is coming from a string.">xte_commandString</a> ( Display *displayLocation, <span class="keywordtype">char</span> *commandString, <span class="keywordtype">int</span> mouseButton, <span class="keywordtype">int</span> searchMethod, <span class="keywordtype">int</span> tolerance, <span class="keywordtype">int</span> timeout );
|
||||
<a name="l00114"></a>00114
|
||||
<a name="l00115"></a>00115 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_XTEST_H */</span>
|
||||
<a name="l00116"></a>00116
|
||||
<a name="l00117"></a>00117 <span class="comment">/* Doxygen information */</span>
|
||||
</pre></div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
@ -215,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -84,7 +84,7 @@ Introduction</h2>
|
||||
<h2><a class="anchor" id="how_it_works"></a>
|
||||
How Libcvautomation Works</h2>
|
||||
<p>Libcvautomation represents two software products coming together - <a href="http://opencv.willowgarage.com/wiki/">OpenCV</a> and the <a href="http://www.x.org/docs/Xext/xtest.pdf">XTest extension</a> to the X11 server. OpenCV is used for image recognition, and XTest is used to actually drive the X server. You can dig into <a class="el" href="libcvautomation-xtest_8h.html">libcvautomation-xtest.h</a> to get an idea of what all this library is capable of. <br/>
|
||||
Basically what happens is that for whenever you need to do image recognition, OpenCV is used to find the images, and XTest is used to generate any events needed. Libcvautomation is mostly a wrapper to integrate both of these products, but also adds some functions like <a class="el" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11()</a> that allow you to match an image against the X11 root window in place. This means no more <code>'xwd | convert "<out_name>"'</code>. </p>
|
||||
Basically what happens is that for whenever you need to do image recognition, OpenCV is used to find the images, and XTest is used to generate any events needed. Libcvautomation is mostly a wrapper to integrate both of these products, but also adds some functions like <a class="el" href="libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece" title="Return the location of a sub image in the X11 root window.">matchSubImage_X11()</a> that allow you to match an image against the X11 root window in place. This means no more <code>'xwd | convert "<out_name>"'</code>. </p>
|
||||
<h2><a class="anchor" id="main_using"></a>
|
||||
Using Libcvautomation And Writing Application Tests</h2>
|
||||
<p>So how does one go about using libcvautomation? <br/>
|
||||
@ -111,7 +111,7 @@ Questions? Comments? Concerns?</h2>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -1,96 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: libcvautomation.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>libcvautomation.h</h1><a href="libcvautomation_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Filename: libcvautomation.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Description: Include wrapper for libcvautomation subsections</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> *</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Created: 06/21/2012 12:20:43 PM</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Revision: none</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Compiler: gcc</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> *</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * Author: Bradlee Speice (), bspeice.nc@gmail.com</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * Organization: </span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> *</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * =====================================================================================</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> */</span>
|
||||
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef LIBCVAUTOMATION_H</span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_H</span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor"></span>
|
||||
<a name="l00020"></a><a class="code" href="libcvautomation_8h.html#6b6ab32b9a55421b91988946b2180bd0">00020</a> <span class="preprocessor">#define LIBCVAUTOMATION_VERSION "1.2"</span>
|
||||
<a name="l00021"></a><a class="code" href="libcvautomation_8h.html#064f2ecb9f4013fd636368d0dd59e453">00021</a> <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_BUGREPORT "bspeice@uncc.edu"</span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor"></span>
|
||||
<a name="l00023"></a>00023 <span class="comment">/* C includes */</span>
|
||||
<a name="l00024"></a>00024 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00025"></a>00025 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027 <span class="comment">/* OpenCV includes */</span>
|
||||
<a name="l00028"></a>00028 <span class="preprocessor">#include <opencv/cv.h></span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor">#include <opencv/highgui.h></span>
|
||||
<a name="l00030"></a>00030
|
||||
<a name="l00031"></a>00031 <span class="comment">/* X11 includes */</span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor">#include <X11/Xlib.h></span>
|
||||
<a name="l00033"></a>00033 <span class="preprocessor">#include <X11/Xutil.h></span>
|
||||
<a name="l00034"></a>00034 <span class="preprocessor">#include <X11/extensions/XTest.h></span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="comment">/* Define a basic structure to help us with using multiple-picture arguments</span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> * Yes, it's a hackish implementation, nobody said you had to use this one. */</span>
|
||||
<a name="l00038"></a><a class="code" href="structcvautomationList.html">00038</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
|
||||
<a name="l00039"></a>00039 <span class="comment">/* Use one or the other of fileName or cvaImage - cvaImage takes priority */</span>
|
||||
<a name="l00040"></a><a class="code" href="structcvautomationList.html#7608e8c8e792f6d7432841c94016bd50">00040</a> IplImage *cvaImage;
|
||||
<a name="l00041"></a><a class="code" href="structcvautomationList.html#81c1bcaa3616b80a839eead6cde7a652">00041</a> <span class="keywordtype">char</span> *fileName;
|
||||
<a name="l00042"></a>00042
|
||||
<a name="l00043"></a><a class="code" href="structcvautomationList.html#44326574b58698c640110e846c9131fc">00043</a> CvPoint resultPoint;
|
||||
<a name="l00044"></a><a class="code" href="structcvautomationList.html#c29f1b89cd1e02ef1ece7f9aacfdf831">00044</a> <span class="keywordtype">int</span> searchMethod;
|
||||
<a name="l00045"></a><a class="code" href="structcvautomationList.html#d2ad67f51290f2291e8aec5bde3f049c">00045</a> <span class="keywordtype">int</span> tolerance;
|
||||
<a name="l00046"></a>00046
|
||||
<a name="l00047"></a>00047 } <a class="code" href="structcvautomationList.html">cvautomationList</a>;
|
||||
<a name="l00048"></a>00048
|
||||
<a name="l00049"></a>00049 <span class="comment">/* Define another basic structure for points */</span>
|
||||
<a name="l00050"></a><a class="code" href="structcvaPoint.html">00050</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
|
||||
<a name="l00051"></a><a class="code" href="structcvaPoint.html#3e7df78670c23fb2114a386750edbf1e">00051</a> <span class="keywordtype">int</span> x, y;
|
||||
<a name="l00052"></a>00052 } <a class="code" href="structcvaPoint.html">cvaPoint</a>;
|
||||
<a name="l00053"></a>00053
|
||||
<a name="l00054"></a>00054 <span class="comment">/* Project component includes */</span>
|
||||
<a name="l00055"></a>00055 <span class="comment">/* The includes come here to make sure all function prototypes have access</span>
|
||||
<a name="l00056"></a>00056 <span class="comment"> * to the cvautomationList struct */</span>
|
||||
<a name="l00057"></a>00057 <span class="preprocessor">#include <<a class="code" href="libcvautomation-opencv_8h.html">libcvautomation/libcvautomation-opencv.h</a>></span>
|
||||
<a name="l00058"></a>00058 <span class="preprocessor">#include <<a class="code" href="libcvautomation-xlib_8h.html">libcvautomation/libcvautomation-xlib.h</a>></span>
|
||||
<a name="l00059"></a>00059 <span class="preprocessor">#include <<a class="code" href="libcvautomation-xtest_8h.html">libcvautomation/libcvautomation-xtest.h</a>></span>
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00061"></a>00061 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_H */</span>
|
||||
<a name="l00062"></a>00062 <span class="comment">/* Doxygen information */</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -94,6 +94,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <stdio.h></code><br/>
|
||||
<code>#include <string.h></code><br/>
|
||||
<code>#include <unistd.h></code><br/>
|
||||
<code>#include <limits.h></code><br/>
|
||||
<code>#include <opencv2/core/core_c.h></code><br/>
|
||||
<code>#include <opencv2/highgui/highgui_c.h></code><br/>
|
||||
<code>#include <opencv2/imgproc/imgproc_c.h></code><br/>
|
||||
@ -108,20 +110,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<table class="memberdecls">
|
||||
<tr><td colspan="2"><h2><a name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html">cvautomationList</a></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Implements a structure to build an array for methods like <a class="el" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf" title="Parse an array of sub images and send them to matchSubImage()">matchSubImage_a()</a> <a href="structcvautomationList.html#details">More...</a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcvaPoint.html">cvaPoint</a></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Very simple structure to standardize how points are used in libcvautomation. <a href="structcvaPoint.html#details">More...</a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html">cvautomationList</a></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Implements a structure to build an array for methods like <a class="el" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf" title="Parse an array of sub images and send them to matchSubImage()">matchSubImage_a()</a> <a href="structcvautomationList.html#details">More...</a><br/></td></tr>
|
||||
<tr><td colspan="2"><h2><a name="define-members"></a>
|
||||
Defines</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">LIBCVAUTOMATION_VERSION</a>   "1.2"</td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">LIBCVAUTOMATION_VERSION</a>   "1.3"</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Define what version of Libcvautomation we are using. <a href="#a2e54f09f702e59d582159468d120abc9"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe">LIBCVAUTOMATION_BUGREPORT</a>   "bspeice@uncc.edu"</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Define who to send bug reports to for Libcvautomation. <a href="#aeb04ad996673248b8a9f77b6bbcbbcbe"></a><br/></td></tr>
|
||||
</table>
|
||||
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
|
||||
<div class="textblock"><p>The top-level include for all projects involving libcvautomation. </p>
|
||||
<p>This source file includes all other files needed for libcvautomation projects, and also defines the <a class="el" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a> and <a class="el" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> structs to be used among libcvautomation functions. Please note that while the opencv2 version is being documented, there is no actual difference in usage for opencv version 1. </p>
|
||||
<p>This source file includes all other files needed for libcvautomation projects, and also defines the <a class="el" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a> and <a class="el" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> structs to be used among libcvautomation functions. </p>
|
||||
<dl class="author"><dt><b>Author:</b></dt><dd>Bradlee Speice </dd></dl>
|
||||
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
|
||||
|
||||
@ -132,7 +134,7 @@ Defines</h2></td></tr>
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define <a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">LIBCVAUTOMATION_VERSION</a>   "1.2"</td>
|
||||
<td class="memname">#define <a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">LIBCVAUTOMATION_VERSION</a>   "1.3"</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@ -177,7 +179,7 @@ Defines</h2></td></tr>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -105,51 +105,54 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef LIBCVAUTOMATION_H</span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_H</span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor"></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#define LIBCVAUTOMATION_VERSION "1.2"</span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#define LIBCVAUTOMATION_VERSION "1.3"</span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_BUGREPORT "bspeice@uncc.edu"</span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor"></span>
|
||||
<a name="l00023"></a>00023 <span class="comment">/* C includes */</span>
|
||||
<a name="l00024"></a>00024 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00025"></a>00025 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027 <span class="comment">/* OpenCV2 includes - some filenames are different</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * from the OpenCV1 counterparts */</span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor">#include <opencv2/core/core_c.h></span>
|
||||
<a name="l00030"></a>00030 <span class="preprocessor">#include <opencv2/highgui/highgui_c.h></span>
|
||||
<a name="l00031"></a>00031 <span class="preprocessor">#include <opencv2/imgproc/imgproc_c.h></span>
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a>00033 <span class="comment">/* X11 includes */</span>
|
||||
<a name="l00034"></a>00034 <span class="preprocessor">#include <X11/Xlib.h></span>
|
||||
<a name="l00035"></a>00035 <span class="preprocessor">#include <X11/Xutil.h></span>
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#include <X11/extensions/XTest.h></span>
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00038"></a>00038 <span class="comment">/* Define a basic structure to help us with using multiple-picture arguments</span>
|
||||
<a name="l00039"></a>00039 <span class="comment"> * Yes, it's a hackish implementation, nobody said you had to use this one. */</span>
|
||||
<a name="l00040"></a><a class="code" href="structcvautomationList.html">00040</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
|
||||
<a name="l00041"></a>00041 <span class="comment">/* Use one or the other of fileName or cvaImage - cvaImage takes priority */</span>
|
||||
<a name="l00042"></a>00042 IplImage *cvaImage;
|
||||
<a name="l00043"></a>00043 <span class="keywordtype">char</span> *fileName;
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00045"></a>00045 CvPoint resultPoint;
|
||||
<a name="l00046"></a>00046 <span class="keywordtype">int</span> searchMethod;
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">int</span> tolerance;
|
||||
<a name="l00048"></a>00048
|
||||
<a name="l00049"></a>00049 } <a class="code" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a>;
|
||||
<a name="l00050"></a>00050
|
||||
<a name="l00051"></a>00051 <span class="comment">/* Define another basic structure for points */</span>
|
||||
<a name="l00052"></a><a class="code" href="structcvaPoint.html">00052</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
|
||||
<a name="l00053"></a>00053 <span class="keywordtype">int</span> x, y;
|
||||
<a name="l00054"></a>00054 } <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a>;
|
||||
<a name="l00055"></a>00055
|
||||
<a name="l00056"></a>00056 <span class="comment">/* Project component includes */</span>
|
||||
<a name="l00057"></a>00057 <span class="comment">/* The includes come here to make sure all function prototypes have access</span>
|
||||
<a name="l00058"></a>00058 <span class="comment"> * to the cvautomationList struct */</span>
|
||||
<a name="l00059"></a>00059 <span class="preprocessor">#include <<a class="code" href="libcvautomation-opencv_8h.html" title="The source code to access libcv from inside libcvautomation.">libcvautomation/libcvautomation-opencv.h</a>></span>
|
||||
<a name="l00060"></a>00060 <span class="preprocessor">#include <<a class="code" href="libcvautomation-xlib_8h.html" title="The source code to access Xlib from inside libcvautomation.">libcvautomation/libcvautomation-xlib.h</a>></span>
|
||||
<a name="l00061"></a>00061 <span class="preprocessor">#include <<a class="code" href="libcvautomation-xtest_8h.html" title="The source code to access the XTest extension inside libcvautomation.">libcvautomation/libcvautomation-xtest.h</a>></span>
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00063"></a>00063 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_H */</span>
|
||||
<a name="l00064"></a>00064 <span class="comment">/* Doxygen information */</span>
|
||||
<a name="l00026"></a>00026 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00027"></a>00027 <span class="preprocessor">#include <limits.h></span>
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/* Autoconf logic to select the correct OpenCV version */</span>
|
||||
<a name="l00030"></a>00030 <span class="comment">/* OpenCV2 includes - some filenames are different</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * from the OpenCV1 counterparts */</span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor">#include <opencv2/core/core_c.h></span>
|
||||
<a name="l00033"></a>00033 <span class="preprocessor">#include <opencv2/highgui/highgui_c.h></span>
|
||||
<a name="l00034"></a>00034 <span class="preprocessor">#include <opencv2/imgproc/imgproc_c.h></span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="comment">/* X11 includes */</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor">#include <X11/Xlib.h></span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor">#include <X11/Xutil.h></span>
|
||||
<a name="l00039"></a>00039 <span class="preprocessor">#include <X11/extensions/XTest.h></span>
|
||||
<a name="l00040"></a>00040
|
||||
<a name="l00041"></a>00041 <span class="comment">/* Define another basic structure for points */</span>
|
||||
<a name="l00042"></a><a class="code" href="structcvaPoint.html">00042</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
|
||||
<a name="l00043"></a>00043 <span class="keywordtype">int</span> x, y;
|
||||
<a name="l00044"></a>00044 } <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a>;
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00046"></a>00046 <span class="comment">/* Define a basic structure to help us with using multiple-picture arguments</span>
|
||||
<a name="l00047"></a>00047 <span class="comment"> * Yes, it's a hackish implementation, nobody said you had to use this one. */</span>
|
||||
<a name="l00048"></a><a class="code" href="structcvautomationList.html">00048</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
|
||||
<a name="l00049"></a>00049 <span class="comment">/* Use one or the other of fileName or cvaImage - cvaImage takes priority */</span>
|
||||
<a name="l00050"></a>00050 IplImage *cvaImage;
|
||||
<a name="l00051"></a>00051 <span class="keywordtype">char</span> *fileName;
|
||||
<a name="l00052"></a>00052
|
||||
<a name="l00053"></a>00053 <a class="code" href="structcvaPoint.html" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> resultPoint;
|
||||
<a name="l00054"></a>00054 <span class="keywordtype">int</span> searchMethod;
|
||||
<a name="l00055"></a>00055 <span class="keywordtype">int</span> tolerance;
|
||||
<a name="l00056"></a>00056
|
||||
<a name="l00057"></a>00057 } <a class="code" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a>;
|
||||
<a name="l00058"></a>00058
|
||||
<a name="l00059"></a>00059 <span class="comment">/* Project component includes */</span>
|
||||
<a name="l00060"></a>00060 <span class="comment">/* The includes come here to make sure all function prototypes have access</span>
|
||||
<a name="l00061"></a>00061 <span class="comment"> * to the cvautomationList struct */</span>
|
||||
<a name="l00062"></a>00062 <span class="preprocessor">#include <<a class="code" href="libcvautomation-opencv_8h.html" title="The source code to access libcv from inside libcvautomation.">libcvautomation/libcvautomation-opencv.h</a>></span>
|
||||
<a name="l00063"></a>00063 <span class="preprocessor">#include <<a class="code" href="libcvautomation-xlib_8h.html" title="The source code to access Xlib from inside libcvautomation.">libcvautomation/libcvautomation-xlib.h</a>></span>
|
||||
<a name="l00064"></a>00064 <span class="preprocessor">#include <<a class="code" href="libcvautomation-xtest_8h.html" title="The source code to access the XTest extension inside libcvautomation.">libcvautomation/libcvautomation-xtest.h</a>></span>
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066 <span class="preprocessor">#endif </span><span class="comment">/* LIBCVAUTOMATION_H */</span>
|
||||
<a name="l00067"></a>00067 <span class="comment">/* Doxygen information */</span>
|
||||
</pre></div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
@ -168,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -86,7 +86,7 @@ Tolerance Values</h2>
|
||||
<p>Tolerance values are used to control how strict each of the following search methods are. Acceptable values are from <code>INT_MIN</code> to <code>INT_MAX</code>.</p>
|
||||
<p>Additionally, each of the reference programs - <code>cva-input</code> and <code>cva-match</code> - have a "sane tolerance" built in. This is accessed by the "-o" switch, and allows you to specify a tolerance on scale of 1-100, where 1 is incredibly strict, and 100 is incredibly loose. </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>The formula for calculating the sane tolerance is: \( T(x) = (10^{\frac{\log{INT\_MAX}}{\lambda}})^x \) where \( \lambda \) is the highest tolerance value (in our case, 100). Finally, we have to round down a little bit to ensure that we don't accidentally generate a value higher than <code>INT_MAX</code>. The formula used does mean that we will never be able to generate values lower than 0. </dd></dl>
|
||||
<dl class="warning"><dt><b>Warning:</b></dt><dd>The "sane-tolerance" option doesn't know which search method you are using - Thus while 1 is an incredibly strict search for <a class="el" href="libcv_search_methods.html#SQDIFF">Squared Difference</a> and <a class="el" href="libcv_search_methods.html#SQDIFF_NORMED">Squared Difference (Normalized)</a>, it is fairly loose search for <a class="el" href="libcv_search_methods.html#CCORR">Cross Correlation</a>, <a class="el" href="libcv_search_methods.html#CCORR_NORMED">Cross Correlation (Normalized)</a>, <a class="el" href="libcv_search_methods.html#CCOEFF">Correlation Coefficient</a>, and <a class="el" href="libcv_search_methods.html#CCOEFF_NORMED">Correlation Coefficient (Normalized)</a></dd></dl>
|
||||
<dl class="warning"><dt><b>Warning:</b></dt><dd>The "sane-tolerance" option doesn't know which search method you are using - Thus while 1 is an incredibly strict search for <a class="el" href="libcvautomation_search_methods.html#SQDIFF">Squared Difference</a> and <a class="el" href="libcvautomation_search_methods.html#SQDIFF_NORMED">Squared Difference (Normalized)</a>, it is fairly loose search for <a class="el" href="libcvautomation_search_methods.html#CCORR">Cross Correlation</a>, <a class="el" href="libcvautomation_search_methods.html#CCORR_NORMED">Cross Correlation (Normalized)</a>, <a class="el" href="libcvautomation_search_methods.html#CCOEFF">Correlation Coefficient</a>, and <a class="el" href="libcvautomation_search_methods.html#CCOEFF_NORMED">Correlation Coefficient (Normalized)</a></dd></dl>
|
||||
<h2><a class="anchor" id="SQDIFF"></a>
|
||||
Squared Difference</h2>
|
||||
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #define CV_TM_SQDIFF 0 </span>
|
||||
@ -96,7 +96,7 @@ Squared Difference</h2>
|
||||
<h2><a class="anchor" id="SQDIFF_NORMED"></a>
|
||||
Squared Difference (Normalized)</h2>
|
||||
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #define CV_TM_SQDIFF_NORMED 1 </span>
|
||||
</pre></div><p> This is a normalized version of the <a class="el" href="libcv_search_methods.html#SQDIFF">Squared Difference</a> search method. </p>
|
||||
</pre></div><p> This is a normalized version of the <a class="el" href="libcvautomation_search_methods.html#SQDIFF">Squared Difference</a> search method. </p>
|
||||
<dl class="user"><dt><b>For this method, setting a low tolerance value results in a more strict match.</b></dt><dd></dd></dl>
|
||||
<p>Formula: \( R(x,y) = \frac{\sum_{x',y'}(T(x',y') - I(x + x', y + y'))^2}{ \sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'}I(x + x', y + y')^2}} \)</p>
|
||||
<h2><a class="anchor" id="CCORR"></a>
|
||||
@ -108,7 +108,7 @@ Cross Correlation</h2>
|
||||
<h2><a class="anchor" id="CCORR_NORMED"></a>
|
||||
Cross Correlation (Normalized)</h2>
|
||||
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #define CV_TM_CCORR_NORMED 3 </span>
|
||||
</pre></div><p> This is the normalized version of the <a class="el" href="libcv_search_methods.html#CCORR">Cross Correlation</a> search method. </p>
|
||||
</pre></div><p> This is the normalized version of the <a class="el" href="libcvautomation_search_methods.html#CCORR">Cross Correlation</a> search method. </p>
|
||||
<dl class="user"><dt><b>For this method, setting a high tolerance value results in a more strict match.</b></dt><dd></dd></dl>
|
||||
<p>Formula: \( R(x,y)= \frac{\sum_{x',y'} (T(x',y') \cdot I'(x+x',y+y'))}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}} \)</p>
|
||||
<h2><a class="anchor" id="CCOEFF"></a>
|
||||
@ -120,7 +120,7 @@ Correlation Coefficient</h2>
|
||||
<h2><a class="anchor" id="CCOEFF_NORMED"></a>
|
||||
Correlation Coefficient (Normalized)</h2>
|
||||
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #define CV_TM_CCOEFF_NORMED 5 </span>
|
||||
</pre></div><p> This is the normalized version of the <a class="el" href="libcv_search_methods.html#CCOEFF">Correlation Coefficient</a> search method. </p>
|
||||
</pre></div><p> This is the normalized version of the <a class="el" href="libcvautomation_search_methods.html#CCOEFF">Correlation Coefficient</a> search method. </p>
|
||||
<dl class="user"><dt><b>For this method, setting a high tolerance value results in a more strict match.</b></dt><dd></dd></dl>
|
||||
<p>Formula: \( R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum_{x',y'} I'(x+x',y+y')^2} } \) </p>
|
||||
</div></div><!-- contents -->
|
||||
@ -141,7 +141,7 @@ Correlation Coefficient (Normalized)</h2>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
16
pages.html
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -81,21 +81,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all related documentation pages:</div><ul>
|
||||
<li><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a>
|
||||
<li><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a>
|
||||
</li>
|
||||
<li><a class="el" href="XTest_key_strings.html">XTest Key Strings</a>
|
||||
<li><a class="el" href="xtest_key_strings.html">XTest Key Strings</a>
|
||||
</li>
|
||||
<li><a class="el" href="XTest_command_strings.html">xte_commandString() Command Strings</a>
|
||||
<li><a class="el" href="xtest_command_strings.html">xte_commandString() Command Strings</a>
|
||||
</li>
|
||||
<li><a class="el" href="libcvautomation.html">libcvautomation</a>
|
||||
</li>
|
||||
<li><a class="el" href="writing_app_tests.html">Writing Application Tests</a>
|
||||
</li>
|
||||
<li><a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions</a>
|
||||
</li>
|
||||
<li><a class="el" href="cva-input.html">cva-input</a>
|
||||
</li>
|
||||
<li><a class="el" href="cva-match.html">cva-match</a>
|
||||
<li><a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions and Environment Variables</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
@ -116,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
BIN
search.idx
382
search.php
@ -1,382 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Search</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
|
||||
<?php
|
||||
|
||||
function search_results()
|
||||
{
|
||||
return "Search Results";
|
||||
}
|
||||
|
||||
function matches_text($num)
|
||||
{
|
||||
if ($num==0)
|
||||
{
|
||||
return "Sorry, no documents matching your query.";
|
||||
}
|
||||
else if ($num==1)
|
||||
{
|
||||
return "Found <b>1</b> document matching your query.";
|
||||
}
|
||||
else // $num>1
|
||||
{
|
||||
return "Found <b>$num</b> documents matching your query. Showing best matches first.";
|
||||
}
|
||||
}
|
||||
|
||||
function report_matches()
|
||||
{
|
||||
return "Matches: ";
|
||||
}
|
||||
function end_form($value)
|
||||
{
|
||||
echo " <td><input type=\"text\" name=\"query\" value=\"$value\" size=\"20\" accesskey=\"s\"/></td>\n </tr>\n </table>\n </form>\n </li>\n </ul>\n</div>\n";
|
||||
}
|
||||
|
||||
function readInt($file)
|
||||
{
|
||||
$b1 = ord(fgetc($file)); $b2 = ord(fgetc($file));
|
||||
$b3 = ord(fgetc($file)); $b4 = ord(fgetc($file));
|
||||
return ($b1<<24)|($b2<<16)|($b3<<8)|$b4;
|
||||
}
|
||||
|
||||
function readString($file)
|
||||
{
|
||||
$result="";
|
||||
while (ord($c=fgetc($file))) $result.=$c;
|
||||
return $result;
|
||||
}
|
||||
|
||||
function readHeader($file)
|
||||
{
|
||||
$header =fgetc($file); $header.=fgetc($file);
|
||||
$header.=fgetc($file); $header.=fgetc($file);
|
||||
return $header;
|
||||
}
|
||||
|
||||
function computeIndex($word)
|
||||
{
|
||||
// Fast string hashing
|
||||
//$lword = strtolower($word);
|
||||
//$l = strlen($lword);
|
||||
//for ($i=0;$i<$l;$i++)
|
||||
//{
|
||||
// $c = ord($lword{$i});
|
||||
// $v = (($v & 0xfc00) ^ ($v << 6) ^ $c) & 0xffff;
|
||||
//}
|
||||
//return $v;
|
||||
|
||||
// Simple hashing that allows for substring search
|
||||
if (strlen($word)<2) return -1;
|
||||
// high char of the index
|
||||
$hi = ord($word{0});
|
||||
if ($hi==0) return -1;
|
||||
// low char of the index
|
||||
$lo = ord($word{1});
|
||||
if ($lo==0) return -1;
|
||||
// return index
|
||||
return $hi*256+$lo;
|
||||
}
|
||||
|
||||
function search($file,$word,&$statsList)
|
||||
{
|
||||
$index = computeIndex($word);
|
||||
if ($index!=-1) // found a valid index
|
||||
{
|
||||
fseek($file,$index*4+4); // 4 bytes per entry, skip header
|
||||
$index = readInt($file);
|
||||
if ($index) // found words matching the hash key
|
||||
{
|
||||
$start=sizeof($statsList);
|
||||
$count=$start;
|
||||
fseek($file,$index);
|
||||
$w = readString($file);
|
||||
while ($w)
|
||||
{
|
||||
$statIdx = readInt($file);
|
||||
if ($word==substr($w,0,strlen($word)))
|
||||
{ // found word that matches (as substring)
|
||||
$statsList[$count++]=array(
|
||||
"word"=>$word,
|
||||
"match"=>$w,
|
||||
"index"=>$statIdx,
|
||||
"full"=>strlen($w)==strlen($word),
|
||||
"docs"=>array()
|
||||
);
|
||||
}
|
||||
$w = readString($file);
|
||||
}
|
||||
$totalHi=0;
|
||||
$totalFreqHi=0;
|
||||
$totalFreqLo=0;
|
||||
for ($count=$start;$count<sizeof($statsList);$count++)
|
||||
{
|
||||
$statInfo = &$statsList[$count];
|
||||
$multiplier = 1;
|
||||
// whole word matches have a double weight
|
||||
if ($statInfo["full"]) $multiplier=2;
|
||||
fseek($file,$statInfo["index"]);
|
||||
$numDocs = readInt($file);
|
||||
$docInfo = array();
|
||||
// read docs info + occurrence frequency of the word
|
||||
for ($i=0;$i<$numDocs;$i++)
|
||||
{
|
||||
$idx=readInt($file);
|
||||
$freq=readInt($file);
|
||||
$docInfo[$i]=array("idx" => $idx,
|
||||
"freq" => $freq>>1,
|
||||
"rank" => 0.0,
|
||||
"hi" => $freq&1
|
||||
);
|
||||
if ($freq&1) // word occurs in high priority doc
|
||||
{
|
||||
$totalHi++;
|
||||
$totalFreqHi+=$freq*$multiplier;
|
||||
}
|
||||
else // word occurs in low priority doc
|
||||
{
|
||||
$totalFreqLo+=$freq*$multiplier;
|
||||
}
|
||||
}
|
||||
// read name and url info for the doc
|
||||
for ($i=0;$i<$numDocs;$i++)
|
||||
{
|
||||
fseek($file,$docInfo[$i]["idx"]);
|
||||
$docInfo[$i]["name"]=readString($file);
|
||||
$docInfo[$i]["url"]=readString($file);
|
||||
}
|
||||
$statInfo["docs"]=$docInfo;
|
||||
}
|
||||
$totalFreq=($totalHi+1)*$totalFreqLo + $totalFreqHi;
|
||||
for ($count=$start;$count<sizeof($statsList);$count++)
|
||||
{
|
||||
$statInfo = &$statsList[$count];
|
||||
$multiplier = 1;
|
||||
// whole word matches have a double weight
|
||||
if ($statInfo["full"]) $multiplier=2;
|
||||
for ($i=0;$i<sizeof($statInfo["docs"]);$i++)
|
||||
{
|
||||
$docInfo = &$statInfo["docs"];
|
||||
// compute frequency rank of the word in each doc
|
||||
$freq=$docInfo[$i]["freq"];
|
||||
if ($docInfo[$i]["hi"])
|
||||
{
|
||||
$statInfo["docs"][$i]["rank"]=
|
||||
(float)($freq*$multiplier+$totalFreqLo)/$totalFreq;
|
||||
}
|
||||
else
|
||||
{
|
||||
$statInfo["docs"][$i]["rank"]=
|
||||
(float)($freq*$multiplier)/$totalFreq;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $statsList;
|
||||
}
|
||||
|
||||
function combine_results($results,&$docs)
|
||||
{
|
||||
foreach ($results as $wordInfo)
|
||||
{
|
||||
$docsList = &$wordInfo["docs"];
|
||||
foreach ($docsList as $di)
|
||||
{
|
||||
$key=$di["url"];
|
||||
$rank=$di["rank"];
|
||||
if (in_array($key, array_keys($docs)))
|
||||
{
|
||||
$docs[$key]["rank"]+=$rank;
|
||||
}
|
||||
else
|
||||
{
|
||||
$docs[$key] = array("url"=>$key,
|
||||
"name"=>$di["name"],
|
||||
"rank"=>$rank
|
||||
);
|
||||
}
|
||||
$docs[$key]["words"][] = array(
|
||||
"word"=>$wordInfo["word"],
|
||||
"match"=>$wordInfo["match"],
|
||||
"freq"=>$di["freq"]
|
||||
);
|
||||
}
|
||||
}
|
||||
return $docs;
|
||||
}
|
||||
|
||||
function filter_results($docs,&$requiredWords,&$forbiddenWords)
|
||||
{
|
||||
$filteredDocs=array();
|
||||
while (list ($key, $val) = each ($docs))
|
||||
{
|
||||
$words = &$docs[$key]["words"];
|
||||
$copy=1; // copy entry by default
|
||||
if (sizeof($requiredWords)>0)
|
||||
{
|
||||
foreach ($requiredWords as $reqWord)
|
||||
{
|
||||
$found=0;
|
||||
foreach ($words as $wordInfo)
|
||||
{
|
||||
$found = $wordInfo["word"]==$reqWord;
|
||||
if ($found) break;
|
||||
}
|
||||
if (!$found)
|
||||
{
|
||||
$copy=0; // document contains none of the required words
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (sizeof($forbiddenWords)>0)
|
||||
{
|
||||
foreach ($words as $wordInfo)
|
||||
{
|
||||
if (in_array($wordInfo["word"],$forbiddenWords))
|
||||
{
|
||||
$copy=0; // document contains a forbidden word
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($copy) $filteredDocs[$key]=$docs[$key];
|
||||
}
|
||||
return $filteredDocs;
|
||||
}
|
||||
|
||||
function compare_rank($a,$b)
|
||||
{
|
||||
if ($a["rank"] == $b["rank"])
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return ($a["rank"]>$b["rank"]) ? -1 : 1;
|
||||
}
|
||||
|
||||
function sort_results($docs,&$sorted)
|
||||
{
|
||||
$sorted = $docs;
|
||||
usort($sorted,"compare_rank");
|
||||
return $sorted;
|
||||
}
|
||||
|
||||
function report_results(&$docs)
|
||||
{
|
||||
echo "<table cellspacing=\"2\">\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan=\"2\"><h2>".search_results()."</h2></td>\n";
|
||||
echo " </tr>\n";
|
||||
$numDocs = sizeof($docs);
|
||||
if ($numDocs==0)
|
||||
{
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan=\"2\">".matches_text(0)."</td>\n";
|
||||
echo " </tr>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan=\"2\">".matches_text($numDocs);
|
||||
echo "\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
$num=1;
|
||||
foreach ($docs as $doc)
|
||||
{
|
||||
echo " <tr>\n";
|
||||
echo " <td align=\"right\">$num.</td>";
|
||||
echo "<td><a class=\"el\" href=\"".$doc["url"]."\">".$doc["name"]."</a></td>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td></td><td class=\"tiny\">".report_matches()." ";
|
||||
foreach ($doc["words"] as $wordInfo)
|
||||
{
|
||||
$word = $wordInfo["word"];
|
||||
$matchRight = substr($wordInfo["match"],strlen($word));
|
||||
echo "<b>$word</b>$matchRight(".$wordInfo["freq"].") ";
|
||||
}
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
$num++;
|
||||
}
|
||||
}
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
function main()
|
||||
{
|
||||
if(strcmp('4.1.0', phpversion()) > 0)
|
||||
{
|
||||
die("Error: PHP version 4.1.0 or above required!");
|
||||
}
|
||||
if (!($file=fopen("search.idx","rb")))
|
||||
{
|
||||
die("Error: Search index file could NOT be opened!");
|
||||
}
|
||||
if (readHeader($file)!="DOXS")
|
||||
{
|
||||
die("Error: Header of index file is invalid!");
|
||||
}
|
||||
$query="";
|
||||
if (array_key_exists("query", $_GET))
|
||||
{
|
||||
$query=$_GET["query"];
|
||||
}
|
||||
end_form($query);
|
||||
echo " \n<div class=\"searchresults\">\n";
|
||||
$results = array();
|
||||
$requiredWords = array();
|
||||
$forbiddenWords = array();
|
||||
$foundWords = array();
|
||||
$word=strtok($query," ");
|
||||
while ($word) // for each word in the search query
|
||||
{
|
||||
if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; }
|
||||
if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; }
|
||||
if (!in_array($word,$foundWords))
|
||||
{
|
||||
$foundWords[]=$word;
|
||||
search($file,strtolower($word),$results);
|
||||
}
|
||||
$word=strtok(" ");
|
||||
}
|
||||
$docs = array();
|
||||
combine_results($results,$docs);
|
||||
// filter out documents with forbidden word or that do not contain
|
||||
// required words
|
||||
$filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords);
|
||||
// sort the results based on rank
|
||||
$sorted = array();
|
||||
sort_results($filteredDocs,$sorted);
|
||||
// report results to the user
|
||||
report_results($sorted);
|
||||
echo "</div>\n";
|
||||
fclose($file);
|
||||
}
|
||||
|
||||
main();
|
||||
|
||||
|
||||
?>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:03 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -1,8 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['command_5fstr_5flen',['COMMAND_STR_LEN',['../libcvautomation-xtest_8h.html#a17af6c2b164a04cae831df5fb93836f6',1,'libcvautomation-xtest.h']]],
|
||||
['cva_2dinput_2ec',['cva-input.c',['../cva-input_8c.html',1,'']]],
|
||||
['cva_2dmatch_2ec',['cva-match.c',['../cva-match_8c.html',1,'']]],
|
||||
['cvaclosedisplay',['cvaCloseDisplay',['../libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a',1,'libcvautomation-xlib.h']]],
|
||||
['cvaopendisplay',['cvaOpenDisplay',['../libcvautomation-xlib_8h.html#a575e80fc9cf076026e127a57888423d4',1,'libcvautomation-xlib.h']]],
|
||||
['cvapoint',['cvaPoint',['../structcvaPoint.html',1,'']]],
|
||||
|
@ -8,8 +8,8 @@ var searchData=
|
||||
['matchsubimage_5fcenter',['matchSubImage_center',['../libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f',1,'libcvautomation-opencv.h']]],
|
||||
['matchsubimage_5flocation',['matchSubImage_location',['../libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43',1,'libcvautomation-opencv.h']]],
|
||||
['matchsubimage_5flocation_5fcenter',['matchSubImage_location_center',['../libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac',1,'libcvautomation-opencv.h']]],
|
||||
['matchsubimage_5fx11',['matchSubImage_X11',['../libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5fcenter',['matchSubImage_X11_center',['../libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation',['matchSubImage_X11_location',['../libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation_5fcenter',['matchSubImage_X11_location_center',['../libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e',1,'libcvautomation-xlib.h']]]
|
||||
['matchsubimage_5fx11',['matchSubImage_X11',['../libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5fcenter',['matchSubImage_X11_center',['../libcvautomation-xlib_8h.html#a1d5dfa1885ffb3cc5c4f91309e9ca777',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation',['matchSubImage_X11_location',['../libcvautomation-xlib_8h.html#ad67a5c4cc8b4708c8c6bb28135df92dc',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation_5fcenter',['matchSubImage_X11_location_center',['../libcvautomation-xlib_8h.html#ac5fbc2afb3b53bd4788c53e16523995a',1,'libcvautomation-xlib.h']]]
|
||||
];
|
||||
|
@ -9,7 +9,7 @@ var searchData=
|
||||
['xte_5fclickmouseimage_5flocation_5fcenter',['xte_clickMouseImage_location_center',['../libcvautomation-xtest_8h.html#a40ca9d0d71b8f7cc513c27a9b0171995',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fclickmouserxy',['xte_clickMouseRXY',['../libcvautomation-xtest_8h.html#a54df9f6d2278b6c840299f1f8ff94576',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fclickmousexy',['xte_clickMouseXY',['../libcvautomation-xtest_8h.html#a808386f36914966032aa2e15fd5ef60b',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fcommandstring',['xte_commandString',['../libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fcommandstring',['xte_commandString',['../libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fhovermouseimage',['xte_hoverMouseImage',['../libcvautomation-xtest_8h.html#a657631e704e31818b42587ef50724930',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fhovermouseimage_5fcenter',['xte_hoverMouseImage_center',['../libcvautomation-xtest_8h.html#a72f049ae7ade76344e47d01ba451e8f1',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fhovermouseimage_5flocation',['xte_hoverMouseImage_location',['../libcvautomation-xtest_8h.html#ad274843eaaed7af192f09310caa9e5b2',1,'libcvautomation-xtest.h']]],
|
||||
@ -24,5 +24,7 @@ var searchData=
|
||||
['xte_5fmousescrollup',['xte_mouseScrollUp',['../libcvautomation-xtest_8h.html#a18f5cc7307329ce2e13ceb25b274822b',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fmouseup',['xte_mouseUp',['../libcvautomation-xtest_8h.html#a317610586ac31c5c501290099b7ebf63',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fpointerlocation',['xte_pointerLocation',['../libcvautomation-xtest_8h.html#afe460d54f6977c431d1c37d42b0264be',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fwaitforimage',['xte_waitForImage',['../libcvautomation-xtest_8h.html#abfbad79445cce59c95940649210f1b31',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fwaitforimage_5flocation',['xte_waitForImage_location',['../libcvautomation-xtest_8h.html#a3f474b9f3ae44e2fcf8997a2a806139e',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fxtestsupported',['xte_XTestSupported',['../libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4',1,'libcvautomation-xtest.h']]]
|
||||
];
|
||||
|
@ -1,25 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="files_63.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript"><!--
|
||||
createResults();
|
||||
--></script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
--></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,5 +0,0 @@
|
||||
var searchData=
|
||||
[
|
||||
['cva_2dinput_2ec',['cva-input.c',['../cva-input_8c.html',1,'']]],
|
||||
['cva_2dmatch_2ec',['cva-match.c',['../cva-match_8c.html',1,'']]]
|
||||
];
|
@ -8,8 +8,8 @@ var searchData=
|
||||
['matchsubimage_5fcenter',['matchSubImage_center',['../libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f',1,'libcvautomation-opencv.h']]],
|
||||
['matchsubimage_5flocation',['matchSubImage_location',['../libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43',1,'libcvautomation-opencv.h']]],
|
||||
['matchsubimage_5flocation_5fcenter',['matchSubImage_location_center',['../libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac',1,'libcvautomation-opencv.h']]],
|
||||
['matchsubimage_5fx11',['matchSubImage_X11',['../libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5fcenter',['matchSubImage_X11_center',['../libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation',['matchSubImage_X11_location',['../libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation_5fcenter',['matchSubImage_X11_location_center',['../libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e',1,'libcvautomation-xlib.h']]]
|
||||
['matchsubimage_5fx11',['matchSubImage_X11',['../libcvautomation-xlib_8h.html#abdedf5cd2aceeda00f665747bf1eeece',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5fcenter',['matchSubImage_X11_center',['../libcvautomation-xlib_8h.html#a1d5dfa1885ffb3cc5c4f91309e9ca777',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation',['matchSubImage_X11_location',['../libcvautomation-xlib_8h.html#ad67a5c4cc8b4708c8c6bb28135df92dc',1,'libcvautomation-xlib.h']]],
|
||||
['matchsubimage_5fx11_5flocation_5fcenter',['matchSubImage_X11_location_center',['../libcvautomation-xlib_8h.html#ac5fbc2afb3b53bd4788c53e16523995a',1,'libcvautomation-xlib.h']]]
|
||||
];
|
||||
|
@ -9,7 +9,7 @@ var searchData=
|
||||
['xte_5fclickmouseimage_5flocation_5fcenter',['xte_clickMouseImage_location_center',['../libcvautomation-xtest_8h.html#a40ca9d0d71b8f7cc513c27a9b0171995',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fclickmouserxy',['xte_clickMouseRXY',['../libcvautomation-xtest_8h.html#a54df9f6d2278b6c840299f1f8ff94576',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fclickmousexy',['xte_clickMouseXY',['../libcvautomation-xtest_8h.html#a808386f36914966032aa2e15fd5ef60b',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fcommandstring',['xte_commandString',['../libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fcommandstring',['xte_commandString',['../libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fhovermouseimage',['xte_hoverMouseImage',['../libcvautomation-xtest_8h.html#a657631e704e31818b42587ef50724930',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fhovermouseimage_5fcenter',['xte_hoverMouseImage_center',['../libcvautomation-xtest_8h.html#a72f049ae7ade76344e47d01ba451e8f1',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fhovermouseimage_5flocation',['xte_hoverMouseImage_location',['../libcvautomation-xtest_8h.html#ad274843eaaed7af192f09310caa9e5b2',1,'libcvautomation-xtest.h']]],
|
||||
@ -24,5 +24,7 @@ var searchData=
|
||||
['xte_5fmousescrollup',['xte_mouseScrollUp',['../libcvautomation-xtest_8h.html#a18f5cc7307329ce2e13ceb25b274822b',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fmouseup',['xte_mouseUp',['../libcvautomation-xtest_8h.html#a317610586ac31c5c501290099b7ebf63',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fpointerlocation',['xte_pointerLocation',['../libcvautomation-xtest_8h.html#afe460d54f6977c431d1c37d42b0264be',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fwaitforimage',['xte_waitForImage',['../libcvautomation-xtest_8h.html#abfbad79445cce59c95940649210f1b31',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fwaitforimage_5flocation',['xte_waitForImage_location',['../libcvautomation-xtest_8h.html#a3f474b9f3ae44e2fcf8997a2a806139e',1,'libcvautomation-xtest.h']]],
|
||||
['xte_5fxtestsupported',['xte_XTestSupported',['../libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4',1,'libcvautomation-xtest.h']]]
|
||||
];
|
||||
|
@ -9,7 +9,7 @@ var indexSectionsWithContent =
|
||||
{
|
||||
0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001001100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
};
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -106,7 +106,7 @@ This is the complete list of members for <a class="el" href="structcvaPoint.html
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -112,7 +112,7 @@ int </td><td class="memItemRight" valign="bottom"><b>y</b></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="libcvautomation_8h_source.html#l00052">52</a> of file <a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a>.</p>
|
||||
<p>Definition at line <a class="el" href="libcvautomation_8h_source.html#l00042">42</a> of file <a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a>.</p>
|
||||
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a></li>
|
||||
</ul>
|
||||
@ -134,7 +134,7 @@ int </td><td class="memItemRight" valign="bottom"><b>y</b></td></tr>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -109,7 +109,7 @@ This is the complete list of members for <a class="el" href="structcvautomationL
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -101,8 +101,8 @@ Public Attributes</h2></td></tr>
|
||||
IplImage * </td><td class="memItemRight" valign="bottom"><b>cvaImage</b></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a028f83a54cb2aec781ab6ab3dff3c4d0"></a><!-- doxytag: member="cvautomationList::fileName" ref="a028f83a54cb2aec781ab6ab3dff3c4d0" args="" -->
|
||||
char * </td><td class="memItemRight" valign="bottom"><b>fileName</b></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa5858ce563a5feb1e298a6135dee1a8"></a><!-- doxytag: member="cvautomationList::resultPoint" ref="aaa5858ce563a5feb1e298a6135dee1a8" args="" -->
|
||||
CvPoint </td><td class="memItemRight" valign="bottom"><b>resultPoint</b></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60b8c7e52098a5d9def9fa3ca37f060b"></a><!-- doxytag: member="cvautomationList::resultPoint" ref="a60b8c7e52098a5d9def9fa3ca37f060b" args="" -->
|
||||
<a class="el" href="structcvaPoint.html">cvaPoint</a> </td><td class="memItemRight" valign="bottom"><b>resultPoint</b></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ca7170bc73b7811134f12a178c8ff3a"></a><!-- doxytag: member="cvautomationList::searchMethod" ref="a5ca7170bc73b7811134f12a178c8ff3a" args="" -->
|
||||
int </td><td class="memItemRight" valign="bottom"><b>searchMethod</b></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef1f552a2e149ac86cea614ba3935597"></a><!-- doxytag: member="cvautomationList::tolerance" ref="aef1f552a2e149ac86cea614ba3935597" args="" -->
|
||||
@ -121,9 +121,9 @@ int </td><td class="memItemRight" valign="bottom"><b>tolerance</b></td></tr
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="libcvautomation_8h_source.html#l00040">40</a> of file <a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a>.</p>
|
||||
<p>Definition at line <a class="el" href="libcvautomation_8h_source.html#l00048">48</a> of file <a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a>.</p>
|
||||
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a></li>
|
||||
</ul>
|
||||
@ -145,7 +145,7 @@ int </td><td class="memItemRight" valign="bottom"><b>tolerance</b></td></tr
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -1,37 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: Member List</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>list Member List</h1>This is the complete list of members for <a class="el" href="structlist.html">list</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">fileName</a></td><td><a class="el" href="structlist.html">list</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structlist.html#17ba8e20337279fa9dfa74ac99c21bc1">next</a></td><td><a class="el" href="structlist.html">list</a></td><td></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -1,51 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: list Struct Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>list Struct Reference</h1><!-- doxytag: class="list" --><a href="structlist-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed82c7e1f3c98f1c527884c60e88ac06"></a><!-- doxytag: member="list::fileName" ref="ed82c7e1f3c98f1c527884c60e88ac06" args="" -->
|
||||
char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structlist.html#ed82c7e1f3c98f1c527884c60e88ac06">fileName</a></td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17ba8e20337279fa9dfa74ac99c21bc1"></a><!-- doxytag: member="list::next" ref="17ba8e20337279fa9dfa74ac99c21bc1" args="" -->
|
||||
<a class="el" href="structlist.html">list</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structlist.html#17ba8e20337279fa9dfa74ac99c21bc1">next</a></td></tr>
|
||||
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="cva-match_8c-source.html#l00028">28</a> of file <a class="el" href="cva-match_8c-source.html">cva-match.c</a>.<hr>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="cva-match_8c-source.html">cva-match.c</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<title>libcvautomation: Appendix of Wrapper Functions</title>
|
||||
<title>libcvautomation: Appendix of Wrapper Functions and Environment Variables</title>
|
||||
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -77,11 +77,45 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</div>
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Appendix of Wrapper Functions </div> </div>
|
||||
<div class="title">Appendix of Wrapper Functions and Environment Variables </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><h2><a class="anchor" id="appendix_click"></a>
|
||||
Click the mouse</h2>
|
||||
<div class="textblock"><h2><a class="anchor" id="appendix_variables"></a>
|
||||
Environment Variables</h2>
|
||||
<h3><a class="anchor" id="appendix_search"></a>
|
||||
Search Method</h3>
|
||||
<div class="fragment"><pre class="fragment"> SEARCH_METHOD
|
||||
</pre></div><p> This controls how each of the functions searches for an image. See <a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> for more instruction on how to use this option.</p>
|
||||
<h3><a class="anchor" id="appendix_tolerance"></a>
|
||||
Tolerance</h3>
|
||||
<div class="fragment"><pre class="fragment"> TOLERANCE
|
||||
USE_SANE_TOLERANCE
|
||||
</pre></div><p> These control how tolerant each function is when searching for an image. Acceptable values are anywhere between <code>INT_MIN</code> to <code>INT_MAX</code>. See <a class="el" href="libcvautomation_search_methods.html">Libcv Search Methods</a> for more information on how the tolerance values work. Additionally, the cva-input and cva-match programs (which this wrapper depends on) implement a "sane-tolerance" option. This allows you to set a tolerance between 1 - 100, where: \( 1 \approx 0 \), and \( 100 \approx INT\_MAX \) By default, functions will not use sane tolerance. To make the functions search using sane tolerance, set </p>
|
||||
<div class="fragment"><pre class="fragment"> USE_SANE_TOLERANCE=<span class="stringliteral">"yes"</span>
|
||||
</pre></div><h3><a class="anchor" id="appendix_center"></a>
|
||||
Center</h3>
|
||||
<div class="fragment"><pre class="fragment"> USE_CENTER
|
||||
</pre></div><p> This controls whether each function will return a value based on the center of the sub-image, rather than the top-left corner. By default, functions will use center-based matching. To make the functions use the top-left corner, set </p>
|
||||
<div class="fragment"><pre class="fragment"> USE_CENTER=<span class="stringliteral">""</span>
|
||||
</pre></div><h3><a class="anchor" id="appendix_wait"></a>
|
||||
Wait</h3>
|
||||
<div class="fragment"><pre class="fragment"> USE_WAIT
|
||||
TIMEOUT
|
||||
</pre></div><p> These control how the "waitfor" function is used. By default, all image-matching functions will wait for an image to appear, and then click on it. This way, it won't click randomly if it can or can't find an image, and provides very easy error recognition. The functions will wait for a period of <code>TIMEOUT</code> seconds before complaining. To disable waiting before performing an action, set </p>
|
||||
<div class="fragment"><pre class="fragment"> USE_WAIT=<span class="stringliteral">""</span>
|
||||
</pre></div> <dl class="warning"><dt><b>Warning:</b></dt><dd>Without setting a tolerance value, the waitfor function becomes totally useless, as the first search will always find an image. <code>Make sure to set the tolerance</code> (or just leave it as the default value in the wrapper).</dd></dl>
|
||||
<h3><a class="anchor" id="appendix_output"></a>
|
||||
Output and Debugging</h3>
|
||||
<div class="fragment"><pre class="fragment"> OUTFILE
|
||||
ERRFILE
|
||||
</pre></div><p> These files control the reporting of libcvautomation_funcs. The wrapper generates a decent amount of output to help in debugging application tests, and by default these get redirected to /dev/null. To instead redirect them to a file, you can do something like this: </p>
|
||||
<div class="fragment"><pre class="fragment"> OUTFILE=`mktemp`; echo <span class="stringliteral">"Logfile: "</span> $OUTFILE
|
||||
ERRFILE=`mktemp`; echo <span class="stringliteral">"Error file: "</span> $ERR_FILE
|
||||
</pre></div><p> This will redirect the output and error output to a file you own, and inform you of what that file is.</p>
|
||||
<h2><a class="anchor" id="appendix_functions"></a>
|
||||
Functions</h2>
|
||||
<h3><a class="anchor" id="appendix_click"></a>
|
||||
Click the mouse</h3>
|
||||
<div class="fragment"><pre class="fragment"> click
|
||||
</pre></div><p> Click the mouse where it is currently located <br/>
|
||||
<br/>
|
||||
@ -100,11 +134,11 @@ Also, note that a positive <code>x-increment</code> moves the mouse to the right
|
||||
</dd></dl>
|
||||
<div class="fragment"><pre class="fragment"> click_i <filename>
|
||||
</pre></div><p> Click the mouse on a screenshot from <code>filename</code> </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This is affected by the <code>CENTER</code>, <code>TOLERANCE</code>, and <code>SEARCH_METHOD</code> variables. See <a class="el" href="writing_app_tests.html#testing_test_wrapper">Testing the Testing Wrapper</a> for more information on these. <br/>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This is affected by the <code>CENTER</code>, <code>TOLERANCE</code>, and <code>SEARCH_METHOD</code> variables. See <a class="el" href="wrapper_functions.html#appendix_variables">Environment Variables</a> for more information on these. <br/>
|
||||
<br/>
|
||||
</dd></dl>
|
||||
<h2><a class="anchor" id="appendix_move"></a>
|
||||
Move the mouse</h2>
|
||||
<h3><a class="anchor" id="appendix_move"></a>
|
||||
Move the mouse</h3>
|
||||
<div class="fragment"><pre class="fragment"> hover_xy <x-coordinate> <y-increment>
|
||||
</pre></div><p> Move the mouse to a location on screen using absolute positioning <br/>
|
||||
<br/>
|
||||
@ -116,22 +150,25 @@ Move the mouse</h2>
|
||||
</dd></dl>
|
||||
<div class="fragment"><pre class="fragment"> hover_i <filename>
|
||||
</pre></div><p> Move the mouse to a location on screen based on screenshot </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This is affected by the <code>CENTER</code>, <code>TOLERANCE</code>, and <code>SEARCH_METHOD</code> variables. See <a class="el" href="writing_app_tests.html#testing_test_wrapper">Testing the Testing Wrapper</a> for more information on these. <br/>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This is affected by the <code>CENTER</code>, <code>TOLERANCE</code>, and <code>SEARCH_METHOD</code> variables. See <a class="el" href="wrapper_functions.html#appendix_variables">Environment Variables</a> for more information on these. <br/>
|
||||
<br/>
|
||||
</dd></dl>
|
||||
<div class="fragment"><pre class="fragment"> mouse_scrollu
|
||||
</pre></div><p> Scroll the mouse wheel up one</p>
|
||||
<div class="fragment"><pre class="fragment"> mouse_scrolld
|
||||
</pre></div><p> Scroll the mouse wheel down one</p>
|
||||
<h2><a class="anchor" id="appendix_find"></a>
|
||||
Find an Image</h2>
|
||||
<h3><a class="anchor" id="appendix_find"></a>
|
||||
Find an Image</h3>
|
||||
<div class="fragment"><pre class="fragment"> image_location <filename>
|
||||
</pre></div><p> Get the location of an image on screen </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This is affected by the <code>CENTER</code>, <code>TOLERANCE</code>, and <code>SEARCH_METHOD</code> variables. See <a class="el" href="writing_app_tests.html#testing_test_wrapper">Testing the Testing Wrapper</a> for more information on these. <br/>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This is affected by the <code>CENTER</code>, <code>TOLERANCE</code>, and <code>SEARCH_METHOD</code> variables. See <a class="el" href="wrapper_functions.html#appendix_variables">Environment Variables</a> for more information on these. <br/>
|
||||
<br/>
|
||||
</dd></dl>
|
||||
<h2><a class="anchor" id="appendix_keyboard"></a>
|
||||
Click the keyboard</h2>
|
||||
<div class="fragment"><pre class="fragment"> waitfor <filename>
|
||||
</pre></div><p> Wait for an image to display on screen </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This is affected by the <code>TOLERANCE</code>, <code>SEARCH_METHOD</code>, and <code>TIMEOUT</code> variables. See <a class="el" href="wrapper_functions.html#appendix_variables">Environment Variables</a> for more information on these.</dd></dl>
|
||||
<h3><a class="anchor" id="appendix_keyboard"></a>
|
||||
Click the keyboard</h3>
|
||||
<div class="fragment"><pre class="fragment"> key_str <span class="stringliteral">"<string>"</span>
|
||||
</pre></div><p> Enter a string of characters on the keyboard rather than a single character at a time. </p>
|
||||
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function <b>does not</b> accept key strings like "Space" as <code>key_down</code>, <code>key_up</code>, and <code>key_click</code> do. If you pass in "Space", that is exactly what will be typed. <br/>
|
||||
@ -139,21 +176,21 @@ Click the keyboard</h2>
|
||||
</dd></dl>
|
||||
<div class="fragment"><pre class="fragment"> key_down <span class="stringliteral">"<key-name>"</span>
|
||||
</pre></div><p> Press a key down and leave it down </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This function accepts special keys like "Space" - see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of characters allowed. <br/>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This function accepts special keys like "Space" - see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of characters allowed. <br/>
|
||||
<br/>
|
||||
</dd></dl>
|
||||
<div class="fragment"><pre class="fragment"> key_up <span class="stringliteral">"<key-name>"</span>
|
||||
</pre></div><p> Release a key </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This function accepts special keys like "Space" - see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of characters allowed. <br/>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This function accepts special keys like "Space" - see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of characters allowed. <br/>
|
||||
<br/>
|
||||
</dd></dl>
|
||||
<div class="fragment"><pre class="fragment"> key_click <span class="stringliteral">"<key-name>"</span>
|
||||
</pre></div><p> Press a key down and then release it immediately after </p>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This function accepts special keys like "Space" - see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of characters allowed. <br/>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>This function accepts special keys like "Space" - see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of characters allowed. <br/>
|
||||
<br/>
|
||||
</dd></dl>
|
||||
<h2><a class="anchor" id="appendix_utilities"></a>
|
||||
Useful extras</h2>
|
||||
<h3><a class="anchor" id="appendix_utilities"></a>
|
||||
Useful extras</h3>
|
||||
<div class="fragment"><pre class="fragment"> run_process <span class="stringliteral">"<process-name>"</span>
|
||||
</pre></div><p> Start a process on the system, background it, and return the PID of the created process. <br/>
|
||||
<br/>
|
||||
@ -182,7 +219,7 @@ Useful extras</h2>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:26 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -208,15 +208,16 @@ This is where the BASH knowledge comes into play. We are going to write a script
|
||||
<li>
|
||||
The following is the (strongly) recommended process, but is not strictly necessary to follow this. The way I'm going to explain this is by giving an example test I wrote, and explain what is going on: <div class="fragment"><pre class="fragment"><span class="preprocessor"> #!/bin/bash</span>
|
||||
<span class="preprocessor"></span><span class="preprocessor"> #This is an application test involving libcvautomation and libreoffice</span>
|
||||
<span class="preprocessor"></span> . /usr/local/etc/libcvautomation_funcs
|
||||
<span class="preprocessor"></span> . /etc/libcvautomation_funcs
|
||||
<span class="keyword">set</span> -o errexit
|
||||
|
||||
<span class="preprocessor"> #Changing any wrapper parameters should go here</span>
|
||||
<span class="preprocessor"></span>
|
||||
|
||||
start_libreoffice_writer ()
|
||||
{
|
||||
click_i <span class="stringliteral">"screens/gnome-1_menu.png"</span> <span class="stringliteral">"screens/kde-1_menu.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-2_officeMenu.png"</span> <span class="stringliteral">"screens/kde-2_officeMenu.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-1_menu.png"</span> <span class="stringliteral">"screens/kde-1_menu.png"</span>
|
||||
click_i <span class="stringliteral">"screens/gnome-2_officeMenu.png"</span> <span class="stringliteral">"screens/kde-2_officeMenu.png"</span>
|
||||
hover_i <span class="stringliteral">"screens/gnome-3_LibreOfficeWriter.png"</span> <span class="stringliteral">"screens/kde-3_LibreOfficeWriter.png"</span>
|
||||
jiggle_mouse
|
||||
click
|
||||
@ -225,9 +226,9 @@ The following is the (strongly) recommended process, but is not strictly necessa
|
||||
|
||||
close_libreoffice_writer()
|
||||
{
|
||||
click_i <span class="stringliteral">"screens/gnome-4_fileMenu.png"</span> <span class="stringliteral">"screens/kde-4_fileMenu.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-5_fileExit.png"</span> <span class="stringliteral">"screens/kde-5_fileExit.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-6_discard.png"</span> <span class="stringliteral">"screens/kde-6_discard.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-4_fileMenu.png"</span> <span class="stringliteral">"screens/kde-4_fileMenu.png"</span>
|
||||
click_i <span class="stringliteral">"screens/gnome-5_fileExit.png"</span> <span class="stringliteral">"screens/kde-5_fileExit.png"</span>
|
||||
click_i <span class="stringliteral">"screens/gnome-6_discard.png"</span> <span class="stringliteral">"screens/kde-6_discard.png"</span>
|
||||
}
|
||||
|
||||
start_libreoffice_writer
|
||||
@ -235,18 +236,22 @@ The following is the (strongly) recommended process, but is not strictly necessa
|
||||
</pre></div> <br/>
|
||||
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #!/bin/bash</span>
|
||||
<span class="preprocessor"></span><span class="preprocessor"> #This is an application test involving libcvautomation and libreoffice</span>
|
||||
<span class="preprocessor"></span> . /usr/local/etc/libcvautomation_funcs
|
||||
<span class="preprocessor"></span> . /etc/libcvautomation_funcs
|
||||
<span class="keyword">set</span> -o errexit
|
||||
|
||||
<span class="preprocessor"> #Changing any wrapper parameters should go here</span>
|
||||
</pre></div> </li>
|
||||
<li>
|
||||
The purpose of these lines is just the standard BASH header. Additionally, we import a wrapper created for libcvautomation to make our job easier. Please note that this is the default directory for the wrapper, your installation may be different. Use the command <code>locate libcvautomation_funcs</code> to find it on your computer. The wrapper itself is a handful of macros used to make our job easy. </li>
|
||||
<li>
|
||||
Changing any wrapper parameters should go after sourcing the wrapper functions. See below on <a class="el" href="writing_app_tests.html#testing_test_wrapper">Testing the Testing Wrapper</a> for more information. <br/>
|
||||
The <code>set</code> line will abort the test if an error is ever encountered - for example, no images are found. </li>
|
||||
<li>
|
||||
Changing any wrapper parameters should go after sourcing the wrapper functions. See <a class="el" href="wrapper_functions.html#appendix_variables">Environment Variables</a> for more information. <br/>
|
||||
<br/>
|
||||
<div class="fragment"><pre class="fragment"> start_libreoffice_writer ()
|
||||
{
|
||||
click_i <span class="stringliteral">"screens/gnome-1_menu.png"</span> <span class="stringliteral">"screens/kde-1_menu.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-2_officeMenu.png"</span> <span class="stringliteral">"screens/kde-2_officeMenu.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-1_menu.png"</span> <span class="stringliteral">"screens/kde-1_menu.png"</span>
|
||||
click_i <span class="stringliteral">"screens/gnome-2_officeMenu.png"</span> <span class="stringliteral">"screens/kde-2_officeMenu.png"</span>
|
||||
hover_i <span class="stringliteral">"screens/gnome-3_LibreOfficeWriter.png"</span> <span class="stringliteral">"screens/kde-3_LibreOfficeWriter.png"</span>
|
||||
jiggle_mouse
|
||||
click
|
||||
@ -258,11 +263,13 @@ This is the actual body of work done by libcvautomation </li>
|
||||
<li>
|
||||
<code>click_i</code> is a function to click the mouse at an image - in this case, the gnome or kde menu. <ul>
|
||||
<li>
|
||||
Because of how the cva-input program is designed, you can give it multiple images, and it will only select the one currently available. See <a class="el" href="writing_app_tests.html#testing_test_wrapper">Testing the Testing Wrapper</a> for more information on how to use this (TOLERANCE specifically) </li>
|
||||
Because of how the cva-input program is designed, you can give it multiple images, and it will only select the one currently available. See the <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions and Environment Variables</a> for more information on how to use this (<code>TOLERANCE</code> specifically) </li>
|
||||
<li>
|
||||
Additionally, the wrapper (by default) will wait for an image to appear before clicking on it. This way, you can string together click_i commands even when the program may need to wait a while on processing. Make sure to read up on the <code>TIMEOUT</code> option to learn how to use this. </li>
|
||||
<li>
|
||||
By using the function <code>click_i</code>, we make things a bit more readable - the full command line is <code>cva-input -s 'icmouseclick <filename>'</code> </li>
|
||||
<li>
|
||||
See <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions</a> for a list of all functions available in the wrapper. </li>
|
||||
See the <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions and Environment Variables</a> for a list of all functions available in the wrapper. </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@ -272,9 +279,9 @@ Then we jiggle the mouse to make sure that the item activates, click, and wait f
|
||||
<br/>
|
||||
<div class="fragment"><pre class="fragment"> close_libreoffice_writer()
|
||||
{
|
||||
click_i <span class="stringliteral">"screens/gnome-4_fileMenu.png"</span> <span class="stringliteral">"screens/kde-4_fileMenu.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-5_fileExit.png"</span> <span class="stringliteral">"screens/kde-5_fileExit.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-6_discard.png"</span> <span class="stringliteral">"screens/kde-6_discard.png"</span> && sleep 1
|
||||
click_i <span class="stringliteral">"screens/gnome-4_fileMenu.png"</span> <span class="stringliteral">"screens/kde-4_fileMenu.png"</span>
|
||||
click_i <span class="stringliteral">"screens/gnome-5_fileExit.png"</span> <span class="stringliteral">"screens/kde-5_fileExit.png"</span>
|
||||
click_i <span class="stringliteral">"screens/gnome-6_discard.png"</span> <span class="stringliteral">"screens/kde-6_discard.png"</span>
|
||||
}
|
||||
</pre></div> </li>
|
||||
<li>
|
||||
@ -288,7 +295,7 @@ Actually run the functions given. <br/>
|
||||
<br/>
|
||||
</li>
|
||||
<li>
|
||||
Please note that this is a fairly trivial example. The full list of commands available in the wrapper is given in <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions</a> </li>
|
||||
Please note that this is a fairly trivial example. The full list of commands available in the wrapper is given in <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions and Environment Variables</a> </li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="testing_test_wrapper"></a>
|
||||
Testing the Testing Wrapper</h3>
|
||||
@ -296,61 +303,12 @@ Testing the Testing Wrapper</h3>
|
||||
<li>
|
||||
First things first, run through the testing wrapper to make sure that everything is O.K. </li>
|
||||
<li>
|
||||
<p class="startli">If you need to, some things you can do to tune the application test are as follows: </p>
|
||||
<ul>
|
||||
If you need to, there are a few environment variables you can set to change how the wrapper works. See <a class="el" href="wrapper_functions.html#appendix_variables">Environment Variables</a> for more information on how these work. </li>
|
||||
<li>
|
||||
Set the <code>SEARCH_METHOD</code> <ul>
|
||||
<li>
|
||||
This value adjusts how libcvautomation searches for sub-images. See <a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> for more information on accepted values, and how each works. </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
Set the <code>TOLERANCE</code> <ul>
|
||||
<li>
|
||||
This value adjusts how strict libcvautomation is when trying to find a sub-image. See <a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> for more information on how to control how libcvautomation searches for images. </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
Set <code>USE_SANE_TOLERANCE</code> <ul>
|
||||
<li>
|
||||
This value implements a more sane way of setting the tolerance value - Where normally the tolerance ranges from <code>INT_MIN</code> to <code>INT_MAX</code>, the sane tolerance accepts values of 1 - 100 ( \( 1 \approx 0 \), and \( 100 \approx INT\_MAX \)) </li>
|
||||
<li>
|
||||
To enable sane tolerance, set: <div class="fragment"><pre class="fragment"> USE_SANE_TOLERANCE=<span class="stringliteral">"<any_value>"</span>
|
||||
</pre></div> </li>
|
||||
<li>
|
||||
To disable sane tolerance (the default) set: <div class="fragment"><pre class="fragment"> USE_SANE_TOLERANCE=<span class="stringliteral">""</span>
|
||||
</pre></div> </li>
|
||||
<li>
|
||||
Set <code>USE_CENTER</code> <ul>
|
||||
<li>
|
||||
By default, the wrapper will use the center of an image as opposed to the upper-left corner to click on. To disable this behavior, set: <div class="fragment"><pre class="fragment"> USE_CENTER=<span class="stringliteral">""</span>
|
||||
</pre></div> </li>
|
||||
<li>
|
||||
To set the behavior back to using center-based matching, set: <div class="fragment"><pre class="fragment"> USE_CENTER=<span class="stringliteral">"<any_value>"</span>
|
||||
</pre></div> </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
Set the <code>OUTFILE</code> and <code>ERRFILE</code> <ul>
|
||||
<li>
|
||||
The application wrapper logs a whole lot of information about what it does to make debugging easy. However, to make sure that you're not overwhelmed by the output, the wrapper also directs the output to <code>/dev/null</code> by default. </li>
|
||||
<li>
|
||||
To redirect the output of <code>OUTFILE</code> and <code>ERRFILE</code>, set them to any file you want. For example, the following code will create a temporary file for OUTFILE and ERRFILE, and notify you of what they are: <div class="fragment"><pre class="fragment"> OUTFILE=`mktemp`
|
||||
ERRFILE=`mktemp`
|
||||
echo <span class="stringliteral">"OUTFILE location: $OUTFILE"</span>
|
||||
echo <span class="stringliteral">"ERRFILE location: $ERRFILE"</span>
|
||||
</pre></div> </li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
A full list of commands provided by the wrapper is available at <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions</a> </li>
|
||||
A full list of commands provided by the wrapper is available at <a class="el" href="wrapper_functions.html#appendix_functions">Functions</a> </li>
|
||||
</ul>
|
||||
<dl class="note"><dt><b>Note:</b></dt><dd>These options are controlled using the testing script as demonstrated above. Any modifications to the following values should be done at the line: <div class="fragment"><pre class="fragment"><span class="preprocessor"> #Changing any wrapper parameters should go here </span>
|
||||
</pre></div> </dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="wrapping_up"></a>
|
||||
Wrapping Up</h2>
|
||||
<ul>
|
||||
@ -381,7 +339,7 @@ If you have questions, comments, concerns, suggestions, or feedback in general,
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
||||
|
@ -1,64 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: xautomation_kbd.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>xautomation_kbd.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * </span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2002 Steve Slaven, All Rights Reserved.</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * </span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * modify it under the terms of the GNU General Public License as</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * published by the Free Software Foundation; either version 2 of</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * the License, or (at your option) any later version.</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * </span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful,</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * GNU General Public License for more details.</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * </span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * along with this program; if not, write to the Free Software</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston,</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * MA 02111-1307 USA</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * </span>
|
||||
<a name="l00020"></a>00020 <span class="comment">*/</span>
|
||||
<a name="l00021"></a>00021
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#define NUM_KEY_MODIFIERS 3</span>
|
||||
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="comment">/* ISO_Level3_Shift = AltGr */</span>
|
||||
<a name="l00024"></a>00024 <span class="keywordtype">char</span> *key_modifiers[] = { NULL, <span class="stringliteral">"Mode_switch"</span>, <span class="stringliteral">"ISO_Level3_Shift"</span> };
|
||||
<a name="l00025"></a>00025 <span class="keywordtype">char</span> *shift_key = <span class="stringliteral">"Shift_L"</span>;
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027 <span class="preprocessor">#define MAX_KEYSYM 65536</span>
|
||||
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="comment">/* this maps what keysyms need a modifier pushed */</span>
|
||||
<a name="l00029"></a>00029 <span class="keywordtype">int</span> keysym_to_modifier_map[ MAX_KEYSYM ];
|
||||
<a name="l00030"></a>00030 KeyCode keysym_to_keycode_map[ MAX_KEYSYM ];
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -1,840 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: xautomation_keysym_map.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>xautomation_keysym_map.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* keysym_map.h - Maps the unicode number of charactes to X11 keysym codes.</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * The first element in the array is unicode number 0x0100.</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * Latin-1 characters (keysym = unicode_number <= 0xff) and newer</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * characters (keysym = unicode_number + 0x01000000) are not included.</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Marco Steinacher <marco@websource.ch> - 12.04.2009</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * </span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * The contents below have been created from /usr/include/X11/keysymdef.h with the following</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * perl script:</span>
|
||||
<a name="l00010"></a>00010 <span class="comment">---------------</span>
|
||||
<a name="l00011"></a>00011 <span class="comment">#!/usr/bin/perl -w</span>
|
||||
<a name="l00012"></a>00012 <span class="comment">$max=0;</span>
|
||||
<a name="l00013"></a>00013 <span class="comment">while ($l = <>) {</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> if ($l =~ m/^#define\s+\S+\s+0x([0-9a-f]{4})\s*\/\*[ (]*U\+([0-9a-f]{4})/i) {</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> $shifted = hex($2) - hex("0x0100");</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> if (($shifted >= 0) && !defined($map[$shifted])) {</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> $map[$shifted] = $1;</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> $max=$shifted if ($shifted>$max);</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> }</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> }</span>
|
||||
<a name="l00021"></a>00021 <span class="comment">}</span>
|
||||
<a name="l00022"></a>00022 <span class="comment">print "#define WCHAR_TO_KEYSYM_MAP_SIZE ".($max+1)."\n";</span>
|
||||
<a name="l00023"></a>00023 <span class="comment">print "uint16_t wchar_to_keysym_map[] = { ";</span>
|
||||
<a name="l00024"></a>00024 <span class="comment">for($u=0;$u<=$max;$u++) {</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> print "," if ($u>0);</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> print "\n" if ($u%16==0);</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> if (defined($map[$u])) {</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> print "0x".$map[$u];</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> } else {</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> print "0";</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> }</span>
|
||||
<a name="l00032"></a>00032 <span class="comment">}</span>
|
||||
<a name="l00033"></a>00033 <span class="comment">print "\n};\n";</span>
|
||||
<a name="l00034"></a>00034 <span class="comment">---------------</span>
|
||||
<a name="l00035"></a>00035 <span class="comment"> */</span>
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#define WCHAR_TO_KEYSYM_MAP_SIZE 12285</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span>uint16_t wchar_to_keysym_map[] = {
|
||||
<a name="l00038"></a>00038 0x03c0,0x03e0,0x01c3,0x01e3,0x01a1,0x01b1,0x01c6,0x01e6,0x02c6,0x02e6,0x02c5,0x02e5,0x01c8,0x01e8,0x01cf,0x01ef,
|
||||
<a name="l00039"></a>00039 0x01d0,0x01f0,0x03aa,0x03ba,0,0,0x03cc,0x03ec,0x01ca,0x01ea,0x01cc,0x01ec,0x02d8,0x02f8,0x02ab,0x02bb,
|
||||
<a name="l00040"></a>00040 0x02d5,0x02f5,0x03ab,0x03bb,0x02a6,0x02b6,0x02a1,0x02b1,0x03a5,0x03b5,0x03cf,0x03ef,0,0,0x03c7,0x03e7,
|
||||
<a name="l00041"></a>00041 0x02a9,0x02b9,0,0,0x02ac,0x02bc,0x03d3,0x03f3,0x03a2,0x01c5,0x01e5,0x03a6,0x03b6,0x01a5,0x01b5,0,
|
||||
<a name="l00042"></a>00042 0,0x01a3,0x01b3,0x01d1,0x01f1,0x03d1,0x03f1,0x01d2,0x01f2,0,0x03bd,0x03bf,0x03d2,0x03f2,0,0,
|
||||
<a name="l00043"></a>00043 0x01d5,0x01f5,0x13bc,0x13bd,0x01c0,0x01e0,0x03a3,0x03b3,0x01d8,0x01f8,0x01a6,0x01b6,0x02de,0x02fe,0x01aa,0x01ba,
|
||||
<a name="l00044"></a>00044 0x01a9,0x01b9,0x01de,0x01fe,0x01ab,0x01bb,0x03ac,0x03bc,0x03dd,0x03fd,0x03de,0x03fe,0x02dd,0x02fd,0x01d9,0x01f9,
|
||||
<a name="l00045"></a>00045 0x01db,0x01fb,0x03d9,0x03f9,0,0,0,0,0x13be,0x01ac,0x01bc,0x01af,0x01bf,0x01ae,0x01be,0,
|
||||
<a name="l00046"></a>00046 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00047"></a>00047 0,0,0x08f6,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00048"></a>00048 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00049"></a>00049 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00050"></a>00050 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00051"></a>00051 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00052"></a>00052 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00053"></a>00053 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00054"></a>00054 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00055"></a>00055 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00056"></a>00056 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00057"></a>00057 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00058"></a>00058 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00059"></a>00059 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00060"></a>00060 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00061"></a>00061 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00062"></a>00062 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00063"></a>00063 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00064"></a>00064 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00065"></a>00065 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00066"></a>00066 0,0,0,0,0,0,0,0x01b7,0,0,0,0,0,0,0,0,
|
||||
<a name="l00067"></a>00067 0,0,0,0,0,0,0,0,0x01a2,0x01ff,0,0x01b2,0,0x01bd,0,0,
|
||||
<a name="l00068"></a>00068 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00069"></a>00069 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00070"></a>00070 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00071"></a>00071 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00072"></a>00072 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00073"></a>00073 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00074"></a>00074 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00075"></a>00075 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00076"></a>00076 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00077"></a>00077 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00078"></a>00078 0,0,0,0,0,0x07ae,0x07a1,0,0x07a2,0x07a3,0x07a4,0,0x07a7,0,0x07a8,0x07ab,
|
||||
<a name="l00079"></a>00079 0x07b6,0x07c1,0x07c2,0x07c3,0x07c4,0x07c5,0x07c6,0x07c7,0x07c8,0x07c9,0x07ca,0x07cb,0x07cc,0x07cd,0x07ce,0x07cf,
|
||||
<a name="l00080"></a>00080 0x07d0,0x07d1,0,0x07d2,0x07d4,0x07d5,0x07d6,0x07d7,0x07d8,0x07d9,0x07a5,0x07a9,0x07b1,0x07b2,0x07b3,0x07b4,
|
||||
<a name="l00081"></a>00081 0x07ba,0x07e1,0x07e2,0x07e3,0x07e4,0x07e5,0x07e6,0x07e7,0x07e8,0x07e9,0x07ea,0x07eb,0x07ec,0x07ed,0x07ee,0x07ef,
|
||||
<a name="l00082"></a>00082 0x07f0,0x07f1,0x07f3,0x07f2,0x07f4,0x07f5,0x07f6,0x07f7,0x07f8,0x07f9,0x07b5,0x07b9,0x07b7,0x07b8,0x07bb,0,
|
||||
<a name="l00083"></a>00083 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00084"></a>00084 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00085"></a>00085 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00086"></a>00086 0,0x06b3,0x06b1,0x06b2,0x06b4,0x06b5,0x06b6,0x06b7,0x06b8,0x06b9,0x06ba,0x06bb,0x06bc,0,0x06be,0x06bf,
|
||||
<a name="l00087"></a>00087 0x06e1,0x06e2,0x06f7,0x06e7,0x06e4,0x06e5,0x06f6,0x06fa,0x06e9,0x06ea,0x06eb,0x06ec,0x06ed,0x06ee,0x06ef,0x06f0,
|
||||
<a name="l00088"></a>00088 0x06f2,0x06f3,0x06f4,0x06f5,0x06e6,0x06e8,0x06e3,0x06fe,0x06fb,0x06fd,0x06ff,0x06f9,0x06f8,0x06fc,0x06e0,0x06f1,
|
||||
<a name="l00089"></a>00089 0x06c1,0x06c2,0x06d7,0x06c7,0x06c4,0x06c5,0x06d6,0x06da,0x06c9,0x06ca,0x06cb,0x06cc,0x06cd,0x06ce,0x06cf,0x06d0,
|
||||
<a name="l00090"></a>00090 0x06d2,0x06d3,0x06d4,0x06d5,0x06c6,0x06c8,0x06c3,0x06de,0x06db,0x06dd,0x06df,0x06d9,0x06d8,0x06dc,0x06c0,0x06d1,
|
||||
<a name="l00091"></a>00091 0,0x06a3,0x06a1,0x06a2,0x06a4,0x06a5,0x06a6,0x06a7,0x06a8,0x06a9,0x06aa,0x06ab,0x06ac,0,0x06ae,0x06af,
|
||||
<a name="l00092"></a>00092 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00093"></a>00093 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00094"></a>00094 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00095"></a>00095 0x06bd,0x06ad,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00096"></a>00096 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00097"></a>00097 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00098"></a>00098 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00099"></a>00099 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00100"></a>00100 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00101"></a>00101 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00102"></a>00102 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00103"></a>00103 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00104"></a>00104 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00105"></a>00105 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00106"></a>00106 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00107"></a>00107 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00108"></a>00108 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00109"></a>00109 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00110"></a>00110 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00111"></a>00111 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00112"></a>00112 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00113"></a>00113 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00114"></a>00114 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00115"></a>00115 0x0ce0,0x0ce1,0x0ce2,0x0ce3,0x0ce4,0x0ce5,0x0ce6,0x0ce7,0x0ce8,0x0ce9,0x0cea,0x0ceb,0x0cec,0x0ced,0x0cee,0x0cef,
|
||||
<a name="l00116"></a>00116 0x0cf0,0x0cf1,0x0cf2,0x0cf3,0x0cf4,0x0cf5,0x0cf6,0x0cf7,0x0cf8,0x0cf9,0x0cfa,0,0,0,0,0,
|
||||
<a name="l00117"></a>00117 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00118"></a>00118 0,0,0,0,0,0,0,0,0,0,0,0,0x05ac,0,0,0,
|
||||
<a name="l00119"></a>00119 0,0,0,0,0,0,0,0,0,0,0,0x05bb,0,0,0,0x05bf,
|
||||
<a name="l00120"></a>00120 0,0x05c1,0x05c2,0x05c3,0x05c4,0x05c5,0x05c6,0x05c7,0x05c8,0x05c9,0x05ca,0x05cb,0x05cc,0x05cd,0x05ce,0x05cf,
|
||||
<a name="l00121"></a>00121 0x05d0,0x05d1,0x05d2,0x05d3,0x05d4,0x05d5,0x05d6,0x05d7,0x05d8,0x05d9,0x05da,0,0,0,0,0,
|
||||
<a name="l00122"></a>00122 0x05e0,0x05e1,0x05e2,0x05e3,0x05e4,0x05e5,0x05e6,0x05e7,0x05e8,0x05e9,0x05ea,0x05eb,0x05ec,0x05ed,0x05ee,0x05ef,
|
||||
<a name="l00123"></a>00123 0x05f0,0x05f1,0x05f2,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00124"></a>00124 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00125"></a>00125 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00126"></a>00126 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00127"></a>00127 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00128"></a>00128 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00129"></a>00129 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00130"></a>00130 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00131"></a>00131 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00132"></a>00132 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00133"></a>00133 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00134"></a>00134 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00135"></a>00135 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00136"></a>00136 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00137"></a>00137 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00138"></a>00138 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00139"></a>00139 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00140"></a>00140 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00141"></a>00141 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00142"></a>00142 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00143"></a>00143 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00144"></a>00144 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00145"></a>00145 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00146"></a>00146 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00147"></a>00147 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00148"></a>00148 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00149"></a>00149 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00150"></a>00150 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00151"></a>00151 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00152"></a>00152 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00153"></a>00153 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00154"></a>00154 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00155"></a>00155 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00156"></a>00156 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00157"></a>00157 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00158"></a>00158 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00159"></a>00159 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00160"></a>00160 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00161"></a>00161 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00162"></a>00162 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00163"></a>00163 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00164"></a>00164 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00165"></a>00165 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00166"></a>00166 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00167"></a>00167 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00168"></a>00168 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00169"></a>00169 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00170"></a>00170 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00171"></a>00171 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00172"></a>00172 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00173"></a>00173 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00174"></a>00174 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00175"></a>00175 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00176"></a>00176 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00177"></a>00177 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00178"></a>00178 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00179"></a>00179 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00180"></a>00180 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00181"></a>00181 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00182"></a>00182 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00183"></a>00183 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00184"></a>00184 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00185"></a>00185 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00186"></a>00186 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00187"></a>00187 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00188"></a>00188 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00189"></a>00189 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00190"></a>00190 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00191"></a>00191 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00192"></a>00192 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00193"></a>00193 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00194"></a>00194 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00195"></a>00195 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00196"></a>00196 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00197"></a>00197 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00198"></a>00198 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00199"></a>00199 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00200"></a>00200 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00201"></a>00201 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00202"></a>00202 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00203"></a>00203 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00204"></a>00204 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00205"></a>00205 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00206"></a>00206 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00207"></a>00207 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00208"></a>00208 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00209"></a>00209 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00210"></a>00210 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00211"></a>00211 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00212"></a>00212 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00213"></a>00213 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00214"></a>00214 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00215"></a>00215 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00216"></a>00216 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00217"></a>00217 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00218"></a>00218 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00219"></a>00219 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00220"></a>00220 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00221"></a>00221 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00222"></a>00222 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00223"></a>00223 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00224"></a>00224 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00225"></a>00225 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00226"></a>00226 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00227"></a>00227 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00228"></a>00228 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00229"></a>00229 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00230"></a>00230 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00231"></a>00231 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00232"></a>00232 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00233"></a>00233 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00234"></a>00234 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00235"></a>00235 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00236"></a>00236 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00237"></a>00237 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00238"></a>00238 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00239"></a>00239 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00240"></a>00240 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00241"></a>00241 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00242"></a>00242 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00243"></a>00243 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00244"></a>00244 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00245"></a>00245 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00246"></a>00246 0,0x0da1,0x0da2,0x0da3,0x0da4,0x0da5,0x0da6,0x0da7,0x0da8,0x0da9,0x0daa,0x0dab,0x0dac,0x0dad,0x0dae,0x0daf,
|
||||
<a name="l00247"></a>00247 0x0db0,0x0db1,0x0db2,0x0db3,0x0db4,0x0db5,0x0db6,0x0db7,0x0db8,0x0db9,0x0dba,0x0dbb,0x0dbc,0x0dbd,0x0dbe,0x0dbf,
|
||||
<a name="l00248"></a>00248 0x0dc0,0x0dc1,0x0dc2,0x0dc3,0x0dc4,0x0dc5,0x0dc6,0x0dc7,0x0dc8,0x0dc9,0x0dca,0x0dcb,0x0dcc,0x0dcd,0x0dce,0x0dcf,
|
||||
<a name="l00249"></a>00249 0x0dd0,0x0dd1,0x0dd2,0x0dd3,0x0dd4,0x0dd5,0x0dd6,0x0dd7,0x0dd8,0x0dd9,0x0dda,0,0,0,0,0x0ddf,
|
||||
<a name="l00250"></a>00250 0x0de0,0x0de1,0x0de2,0x0de3,0x0de4,0x0de5,0x0de6,0x0de7,0x0de8,0x0de9,0x0dea,0x0deb,0x0dec,0x0ded,0,0,
|
||||
<a name="l00251"></a>00251 0x0df0,0x0df1,0x0df2,0x0df3,0x0df4,0x0df5,0x0df6,0x0df7,0x0df8,0x0df9,0,0,0,0,0,0,
|
||||
<a name="l00252"></a>00252 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00253"></a>00253 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00254"></a>00254 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00255"></a>00255 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00256"></a>00256 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00257"></a>00257 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00258"></a>00258 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00259"></a>00259 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00260"></a>00260 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00261"></a>00261 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00262"></a>00262 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00263"></a>00263 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00264"></a>00264 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00265"></a>00265 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00266"></a>00266 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00267"></a>00267 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00268"></a>00268 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00269"></a>00269 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00270"></a>00270 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00271"></a>00271 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00272"></a>00272 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00273"></a>00273 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00274"></a>00274 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00275"></a>00275 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00276"></a>00276 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00277"></a>00277 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00278"></a>00278 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00279"></a>00279 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00280"></a>00280 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00281"></a>00281 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00282"></a>00282 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00283"></a>00283 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00284"></a>00284 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00285"></a>00285 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00286"></a>00286 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00287"></a>00287 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00288"></a>00288 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00289"></a>00289 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00290"></a>00290 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00291"></a>00291 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00292"></a>00292 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00293"></a>00293 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00294"></a>00294 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00295"></a>00295 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00296"></a>00296 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00297"></a>00297 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00298"></a>00298 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00299"></a>00299 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00300"></a>00300 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00301"></a>00301 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00302"></a>00302 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00303"></a>00303 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00304"></a>00304 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00305"></a>00305 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00306"></a>00306 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00307"></a>00307 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00308"></a>00308 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00309"></a>00309 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00310"></a>00310 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00311"></a>00311 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00312"></a>00312 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00313"></a>00313 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00314"></a>00314 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00315"></a>00315 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00316"></a>00316 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00317"></a>00317 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00318"></a>00318 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00319"></a>00319 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00320"></a>00320 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00321"></a>00321 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00322"></a>00322 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00323"></a>00323 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00324"></a>00324 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00325"></a>00325 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00326"></a>00326 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00327"></a>00327 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00328"></a>00328 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00329"></a>00329 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00330"></a>00330 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00331"></a>00331 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00332"></a>00332 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00333"></a>00333 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00334"></a>00334 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00335"></a>00335 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00336"></a>00336 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00337"></a>00337 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00338"></a>00338 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00339"></a>00339 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00340"></a>00340 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00341"></a>00341 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00342"></a>00342 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00343"></a>00343 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00344"></a>00344 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00345"></a>00345 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00346"></a>00346 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00347"></a>00347 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00348"></a>00348 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00349"></a>00349 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00350"></a>00350 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00351"></a>00351 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00352"></a>00352 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00353"></a>00353 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00354"></a>00354 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00355"></a>00355 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00356"></a>00356 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00357"></a>00357 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00358"></a>00358 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00359"></a>00359 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00360"></a>00360 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00361"></a>00361 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00362"></a>00362 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00363"></a>00363 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00364"></a>00364 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00365"></a>00365 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00366"></a>00366 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00367"></a>00367 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00368"></a>00368 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00369"></a>00369 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00370"></a>00370 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00371"></a>00371 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00372"></a>00372 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00373"></a>00373 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00374"></a>00374 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00375"></a>00375 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00376"></a>00376 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00377"></a>00377 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00378"></a>00378 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00379"></a>00379 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00380"></a>00380 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00381"></a>00381 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00382"></a>00382 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00383"></a>00383 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00384"></a>00384 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00385"></a>00385 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00386"></a>00386 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00387"></a>00387 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00388"></a>00388 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00389"></a>00389 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00390"></a>00390 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00391"></a>00391 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00392"></a>00392 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00393"></a>00393 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00394"></a>00394 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00395"></a>00395 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00396"></a>00396 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00397"></a>00397 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00398"></a>00398 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00399"></a>00399 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00400"></a>00400 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00401"></a>00401 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00402"></a>00402 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00403"></a>00403 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00404"></a>00404 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00405"></a>00405 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00406"></a>00406 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00407"></a>00407 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00408"></a>00408 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00409"></a>00409 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00410"></a>00410 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00411"></a>00411 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00412"></a>00412 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00413"></a>00413 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00414"></a>00414 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00415"></a>00415 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00416"></a>00416 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00417"></a>00417 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00418"></a>00418 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00419"></a>00419 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00420"></a>00420 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00421"></a>00421 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00422"></a>00422 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00423"></a>00423 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00424"></a>00424 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00425"></a>00425 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00426"></a>00426 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00427"></a>00427 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00428"></a>00428 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00429"></a>00429 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00430"></a>00430 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00431"></a>00431 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00432"></a>00432 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00433"></a>00433 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00434"></a>00434 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00435"></a>00435 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00436"></a>00436 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00437"></a>00437 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00438"></a>00438 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00439"></a>00439 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00440"></a>00440 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00441"></a>00441 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00442"></a>00442 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00443"></a>00443 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00444"></a>00444 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00445"></a>00445 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00446"></a>00446 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00447"></a>00447 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00448"></a>00448 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00449"></a>00449 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00450"></a>00450 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00451"></a>00451 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00452"></a>00452 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00453"></a>00453 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00454"></a>00454 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00455"></a>00455 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00456"></a>00456 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00457"></a>00457 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00458"></a>00458 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00459"></a>00459 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00460"></a>00460 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00461"></a>00461 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00462"></a>00462 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00463"></a>00463 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00464"></a>00464 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00465"></a>00465 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00466"></a>00466 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00467"></a>00467 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00468"></a>00468 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00469"></a>00469 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00470"></a>00470 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00471"></a>00471 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00472"></a>00472 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00473"></a>00473 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00474"></a>00474 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00475"></a>00475 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00476"></a>00476 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00477"></a>00477 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00478"></a>00478 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00479"></a>00479 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00480"></a>00480 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00481"></a>00481 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00482"></a>00482 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00483"></a>00483 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00484"></a>00484 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00485"></a>00485 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00486"></a>00486 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00487"></a>00487 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00488"></a>00488 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00489"></a>00489 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00490"></a>00490 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00491"></a>00491 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00492"></a>00492 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00493"></a>00493 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00494"></a>00494 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00495"></a>00495 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00496"></a>00496 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00497"></a>00497 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00498"></a>00498 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00499"></a>00499 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00500"></a>00500 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00501"></a>00501 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00502"></a>00502 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00503"></a>00503 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00504"></a>00504 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00505"></a>00505 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00506"></a>00506 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00507"></a>00507 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00508"></a>00508 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00509"></a>00509 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00510"></a>00510 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00511"></a>00511 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00512"></a>00512 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00513"></a>00513 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00514"></a>00514 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00515"></a>00515 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00516"></a>00516 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00517"></a>00517 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00518"></a>00518 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00519"></a>00519 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00520"></a>00520 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00521"></a>00521 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00522"></a>00522 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00523"></a>00523 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00524"></a>00524 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00525"></a>00525 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00526"></a>00526 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00527"></a>00527 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00528"></a>00528 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00529"></a>00529 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00530"></a>00530 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00531"></a>00531 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00532"></a>00532 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00533"></a>00533 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00534"></a>00534 0,0,0x0aa2,0x0aa1,0x0aa3,0x0aa4,0,0x0aa5,0x0aa6,0x0aa7,0x0aa8,0,0,0,0,0,
|
||||
<a name="l00535"></a>00535 0,0,0x0abb,0x0aaa,0x0aa9,0x07af,0,0x0cdf,0x0ad0,0x0ad1,0x0afd,0,0x0ad2,0x0ad3,0x0afe,0,
|
||||
<a name="l00536"></a>00536 0x0af1,0x0af2,0x0ae6,0,0,0x0aaf,0x0aae,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00537"></a>00537 0,0,0x0ad6,0x0ad7,0,0,0,0,0x0afc,0,0,0,0,0,0x047e,0,
|
||||
<a name="l00538"></a>00538 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00539"></a>00539 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00540"></a>00540 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00541"></a>00541 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00542"></a>00542 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00543"></a>00543 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00544"></a>00544 0,0,0,0,0,0,0,0,0,0x0eff,0,0,0x20ac,0,0,0,
|
||||
<a name="l00545"></a>00545 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00546"></a>00546 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00547"></a>00547 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00548"></a>00548 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00549"></a>00549 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00550"></a>00550 0,0,0,0,0,0x0ab8,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00551"></a>00551 0,0,0,0,0,0,0x06b0,0x0afb,0,0,0,0,0,0,0x0ad4,0,
|
||||
<a name="l00552"></a>00552 0,0,0x0ac9,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00553"></a>00553 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00554"></a>00554 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00555"></a>00555 0,0,0,0x0ab0,0x0ab1,0x0ab2,0x0ab3,0x0ab4,0x0ab5,0x0ab6,0x0ab7,0x0ac3,0x0ac4,0x0ac5,0x0ac6,0,
|
||||
<a name="l00556"></a>00556 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00557"></a>00557 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00558"></a>00558 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00559"></a>00559 0x08fb,0x08fc,0x08fd,0x08fe,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00560"></a>00560 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00561"></a>00561 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00562"></a>00562 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00563"></a>00563 0,0,0x08ce,0,0x08cd,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00564"></a>00564 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00565"></a>00565 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00566"></a>00566 0,0,0x08ef,0,0,0,0,0x08c5,0,0,0,0,0,0,0,0,
|
||||
<a name="l00567"></a>00567 0,0,0,0,0,0,0,0,0x0bca,0,0x08d6,0,0,0x08c1,0x08c2,0,
|
||||
<a name="l00568"></a>00568 0,0,0,0,0,0,0,0x08de,0x08df,0x08dc,0x08dd,0x08bf,0,0,0,0,
|
||||
<a name="l00569"></a>00569 0,0,0,0,0x08c0,0,0,0,0,0,0,0,0x08c8,0,0,0,
|
||||
<a name="l00570"></a>00570 0,0,0,0x08c9,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00571"></a>00571 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00572"></a>00572 0x08bd,0x08cf,0,0,0x08bc,0x08be,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00573"></a>00573 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00574"></a>00574 0,0,0x08da,0x08db,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00575"></a>00575 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00576"></a>00576 0,0,0x0bdc,0x0bfc,0x0bce,0x0bc2,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00577"></a>00577 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00578"></a>00578 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00579"></a>00579 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00580"></a>00580 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00581"></a>00581 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00582"></a>00582 0,0,0,0,0,0,0,0,0x0bd3,0,0x0bc4,0,0,0,0,0,
|
||||
<a name="l00583"></a>00583 0,0,0,0,0,0x0afa,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00584"></a>00584 0x08a4,0x08a5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00585"></a>00585 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00586"></a>00586 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00587"></a>00587 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00588"></a>00588 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00589"></a>00589 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00590"></a>00590 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00591"></a>00591 0,0,0,0,0,0x0bcc,0,0,0,0,0,0x08ab,0,0x08ac,0x08ad,0,
|
||||
<a name="l00592"></a>00592 0x08ae,0x08a7,0,0x08a8,0x08a9,0,0x08aa,0,0x08af,0,0,0,0x08b0,0,0,0,
|
||||
<a name="l00593"></a>00593 0,0,0,0,0,0,0,0x08a1,0,0,0x09ef,0x09f0,0x09f2,0x09f3,0,0,
|
||||
<a name="l00594"></a>00594 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00595"></a>00595 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00596"></a>00596 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00597"></a>00597 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00598"></a>00598 0,0,0,0,0,0,0,0,0,0x09e2,0x09e5,0x09e9,0x09e3,0x09e4,0,0,
|
||||
<a name="l00599"></a>00599 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00600"></a>00600 0,0,0,0x0aac,0x09e8,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00601"></a>00601 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00602"></a>00602 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00603"></a>00603 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00604"></a>00604 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00605"></a>00605 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00606"></a>00606 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00607"></a>00607 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00608"></a>00608 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00609"></a>00609 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00610"></a>00610 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00611"></a>00611 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00612"></a>00612 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00613"></a>00613 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00614"></a>00614 0x08a3,0,0x08a6,0,0,0,0,0,0,0,0,0,0x08a2,0,0,0,
|
||||
<a name="l00615"></a>00615 0x09eb,0,0,0,0x09ed,0,0,0,0x09ea,0,0,0,0x09f4,0,0,0,
|
||||
<a name="l00616"></a>00616 0,0,0,0,0x09f5,0,0,0,0,0,0,0,0x09f7,0,0,0,
|
||||
<a name="l00617"></a>00617 0,0,0,0,0x09f6,0,0,0,0,0,0,0,0x09ee,0,0,0,
|
||||
<a name="l00618"></a>00618 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00619"></a>00619 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00620"></a>00620 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00621"></a>00621 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00622"></a>00622 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00623"></a>00623 0,0,0x09e1,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00624"></a>00624 0,0,0,0,0,0,0,0,0,0,0x0ae7,0x0ae1,0x0adb,0x0ae2,0x0adf,0x0acf,
|
||||
<a name="l00625"></a>00625 0,0,0x0ae8,0x0ae3,0,0,0x0add,0x0acd,0,0,0,0,0x0ae9,0x0ae4,0,0,
|
||||
<a name="l00626"></a>00626 0x0adc,0x0acc,0,0,0,0,0x09e0,0,0,0,0,0x0ace,0,0,0,0x0ade,
|
||||
<a name="l00627"></a>00627 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00628"></a>00628 0,0,0,0,0,0,0x0ae0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00629"></a>00629 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00630"></a>00630 0,0,0,0,0,0,0x0ae5,0,0,0,0,0,0,0,0x0af9,0,
|
||||
<a name="l00631"></a>00631 0,0,0,0x0aca,0,0,0,0,0,0,0,0,0x0aea,0,0x0aeb,0,
|
||||
<a name="l00632"></a>00632 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00633"></a>00633 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00634"></a>00634 0x0af8,0,0x0af7,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00635"></a>00635 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00636"></a>00636 0,0,0,0x0aec,0,0x0aee,0x0aed,0,0,0,0,0,0,0x0af6,0,0x0af5,
|
||||
<a name="l00637"></a>00637 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00638"></a>00638 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00639"></a>00639 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00640"></a>00640 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00641"></a>00641 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00642"></a>00642 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00643"></a>00643 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00644"></a>00644 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00645"></a>00645 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00646"></a>00646 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00647"></a>00647 0,0,0,0x0af3,0,0,0,0x0af4,0,0,0,0,0,0x0ad9,0,0,
|
||||
<a name="l00648"></a>00648 0x0af0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00649"></a>00649 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00650"></a>00650 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00651"></a>00651 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00652"></a>00652 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00653"></a>00653 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00654"></a>00654 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00655"></a>00655 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00656"></a>00656 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00657"></a>00657 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00658"></a>00658 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00659"></a>00659 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00660"></a>00660 0,0,0,0,0,0,0,0,0x0abc,0x0abe,0,0,0,0,0,0,
|
||||
<a name="l00661"></a>00661 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00662"></a>00662 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00663"></a>00663 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00664"></a>00664 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00665"></a>00665 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00666"></a>00666 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00667"></a>00667 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00668"></a>00668 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00669"></a>00669 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00670"></a>00670 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00671"></a>00671 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00672"></a>00672 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00673"></a>00673 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00674"></a>00674 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00675"></a>00675 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00676"></a>00676 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00677"></a>00677 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00678"></a>00678 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00679"></a>00679 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00680"></a>00680 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00681"></a>00681 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00682"></a>00682 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00683"></a>00683 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00684"></a>00684 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00685"></a>00685 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00686"></a>00686 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00687"></a>00687 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00688"></a>00688 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00689"></a>00689 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00690"></a>00690 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00691"></a>00691 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00692"></a>00692 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00693"></a>00693 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00694"></a>00694 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00695"></a>00695 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00696"></a>00696 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00697"></a>00697 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00698"></a>00698 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00699"></a>00699 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00700"></a>00700 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00701"></a>00701 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00702"></a>00702 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00703"></a>00703 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00704"></a>00704 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00705"></a>00705 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00706"></a>00706 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00707"></a>00707 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00708"></a>00708 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00709"></a>00709 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00710"></a>00710 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00711"></a>00711 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00712"></a>00712 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00713"></a>00713 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00714"></a>00714 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00715"></a>00715 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00716"></a>00716 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00717"></a>00717 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00718"></a>00718 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00719"></a>00719 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00720"></a>00720 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00721"></a>00721 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00722"></a>00722 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00723"></a>00723 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00724"></a>00724 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00725"></a>00725 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00726"></a>00726 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00727"></a>00727 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00728"></a>00728 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00729"></a>00729 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00730"></a>00730 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00731"></a>00731 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00732"></a>00732 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00733"></a>00733 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00734"></a>00734 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00735"></a>00735 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00736"></a>00736 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00737"></a>00737 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00738"></a>00738 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00739"></a>00739 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00740"></a>00740 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00741"></a>00741 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00742"></a>00742 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00743"></a>00743 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00744"></a>00744 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00745"></a>00745 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00746"></a>00746 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00747"></a>00747 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00748"></a>00748 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00749"></a>00749 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00750"></a>00750 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00751"></a>00751 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00752"></a>00752 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00753"></a>00753 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00754"></a>00754 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00755"></a>00755 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00756"></a>00756 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00757"></a>00757 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00758"></a>00758 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00759"></a>00759 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00760"></a>00760 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00761"></a>00761 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00762"></a>00762 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00763"></a>00763 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00764"></a>00764 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00765"></a>00765 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00766"></a>00766 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00767"></a>00767 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00768"></a>00768 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00769"></a>00769 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00770"></a>00770 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00771"></a>00771 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00772"></a>00772 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00773"></a>00773 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00774"></a>00774 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00775"></a>00775 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00776"></a>00776 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00777"></a>00777 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00778"></a>00778 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00779"></a>00779 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00780"></a>00780 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00781"></a>00781 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00782"></a>00782 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00783"></a>00783 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00784"></a>00784 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00785"></a>00785 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00786"></a>00786 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00787"></a>00787 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00788"></a>00788 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00789"></a>00789 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00790"></a>00790 0,0x04a4,0x04a1,0,0,0,0,0,0,0,0,0,0x04a2,0x04a3,0,0,
|
||||
<a name="l00791"></a>00791 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00792"></a>00792 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00793"></a>00793 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00794"></a>00794 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00795"></a>00795 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00796"></a>00796 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00797"></a>00797 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00798"></a>00798 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
<a name="l00799"></a>00799 0,0,0,0,0,0,0,0,0,0,0,0x04de,0x04df,0,0,0,
|
||||
<a name="l00800"></a>00800 0,0x04a7,0x04b1,0x04a8,0x04b2,0x04a9,0x04b3,0x04aa,0x04b4,0x04ab,0x04b5,0x04b6,0,0x04b7,0,0x04b8,
|
||||
<a name="l00801"></a>00801 0,0x04b9,0,0x04ba,0,0x04bb,0,0x04bc,0,0x04bd,0,0x04be,0,0x04bf,0,0x04c0,
|
||||
<a name="l00802"></a>00802 0,0x04c1,0,0x04af,0x04c2,0,0x04c3,0,0x04c4,0,0x04c5,0x04c6,0x04c7,0x04c8,0x04c9,0x04ca,
|
||||
<a name="l00803"></a>00803 0,0,0x04cb,0,0,0x04cc,0,0,0x04cd,0,0,0x04ce,0,0,0x04cf,0x04d0,
|
||||
<a name="l00804"></a>00804 0x04d1,0x04d2,0x04d3,0x04ac,0x04d4,0x04ad,0x04d5,0x04ae,0x04d6,0x04d7,0x04d8,0x04d9,0x04da,0x04db,0,0x04dc,
|
||||
<a name="l00805"></a>00805 0,0,0x04a6,0x04dd,0,0,0,0,0,0,0,0x04a5,0x04b0
|
||||
<a name="l00806"></a>00806 };
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -1,332 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>libcvautomation: xautomation_multikey_map.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li>
|
||||
<form action="search.php" method="get">
|
||||
<table cellspacing="0" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td><label> <u>S</u>earch for </label></td>
|
||||
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>xautomation_multikey_map.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* multikey_map.h - Multi_key combinations for some characters:</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * <Character> = Multi_key + <Fist> + <Second></span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * The unicode numbers of <Character>, <Fist>,</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * and <Second> are in the arrays below.</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> *</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * Marco Steinacher <marco@websource.ch> - 12.04.2009</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> *</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Combinations that don't start with Multi_key or require more</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * than two characters are currently not supported.</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * </span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * The contents below have been created from /usr/share/X11/locale/en_US.UTF-8/Compose</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * and /usr/include/X11/keysymdef.h with the following (very slow) perl script:</span>
|
||||
<a name="l00013"></a>00013 <span class="comment">---------------</span>
|
||||
<a name="l00014"></a>00014 <span class="comment">#!/usr/bin/perl -w</span>
|
||||
<a name="l00015"></a>00015 <span class="comment">$compose_file = "/usr/share/X11/locale/en_US.UTF-8/Compose";</span>
|
||||
<a name="l00016"></a>00016 <span class="comment">$keysym_file = "/usr/include/X11/keysymdef.h";</span>
|
||||
<a name="l00017"></a>00017 <span class="comment">open(FH,"<:encoding(UTF-8)",$compose_file);</span>
|
||||
<a name="l00018"></a>00018 <span class="comment">while ($l = <FH>) {</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> if ($l =~ m/^\s*<Multi_key>\s+<(\S+)>\s+<(\S+)>\s+:\s+"(.)"/) {</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> $utf8 = sprintf("%x",ord($3));</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> next if (length($utf8)>4);</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> $first = get_utf8($1);</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> $second = get_utf8($2);</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> if ($first && $second) {</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> $map_first{$utf8} = $first;</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> $map_second{$utf8} = $second;</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> }</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> }</span>
|
||||
<a name="l00029"></a>00029 <span class="comment">}</span>
|
||||
<a name="l00030"></a>00030 <span class="comment">close(FH);</span>
|
||||
<a name="l00031"></a>00031 <span class="comment">$char = "uint16_t multikey_map_char[] = { ";</span>
|
||||
<a name="l00032"></a>00032 <span class="comment">$first = "uint16_t multikey_map_first[] = { ";</span>
|
||||
<a name="l00033"></a>00033 <span class="comment">$second = "uint16_t multikey_map_second[] = { ";</span>
|
||||
<a name="l00034"></a>00034 <span class="comment">$count=0;</span>
|
||||
<a name="l00035"></a>00035 <span class="comment">foreach $c (sort { hex($a) <=> hex($b)} keys %map_first) {</span>
|
||||
<a name="l00036"></a>00036 <span class="comment"> if ($count != 0) {</span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> $char.=",";</span>
|
||||
<a name="l00038"></a>00038 <span class="comment"> $first.=","; </span>
|
||||
<a name="l00039"></a>00039 <span class="comment"> $second.=",";</span>
|
||||
<a name="l00040"></a>00040 <span class="comment"> }</span>
|
||||
<a name="l00041"></a>00041 <span class="comment"> if ($count%16==0) {</span>
|
||||
<a name="l00042"></a>00042 <span class="comment"> $char.="\n";</span>
|
||||
<a name="l00043"></a>00043 <span class="comment"> $first.="\n"; </span>
|
||||
<a name="l00044"></a>00044 <span class="comment"> $second.="\n";</span>
|
||||
<a name="l00045"></a>00045 <span class="comment"> }</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> $char.="0x".$c;</span>
|
||||
<a name="l00047"></a>00047 <span class="comment"> $first.="0x".$map_first{$c};</span>
|
||||
<a name="l00048"></a>00048 <span class="comment"> $second.="0x".$map_second{$c};</span>
|
||||
<a name="l00049"></a>00049 <span class="comment"> $count++;</span>
|
||||
<a name="l00050"></a>00050 <span class="comment">}</span>
|
||||
<a name="l00051"></a>00051 <span class="comment">$char.="\n};\n";</span>
|
||||
<a name="l00052"></a>00052 <span class="comment">$first.="\n};\n";</span>
|
||||
<a name="l00053"></a>00053 <span class="comment">$second.="\n};\n";</span>
|
||||
<a name="l00054"></a>00054 <span class="comment">print "#define MULTIKEY_MAP_SIZE ".$count."\n";</span>
|
||||
<a name="l00055"></a>00055 <span class="comment">print $char.$first.$second;</span>
|
||||
<a name="l00056"></a>00056 <span class="comment"></span>
|
||||
<a name="l00057"></a>00057 <span class="comment">sub get_utf8 {</span>
|
||||
<a name="l00058"></a>00058 <span class="comment"> $sym = shift;</span>
|
||||
<a name="l00059"></a>00059 <span class="comment"> return $1 if ($sym =~ m/^U([0-9a-f]{4})$/i);</span>
|
||||
<a name="l00060"></a>00060 <span class="comment"> $cmd = "grep \"#define XK_".$sym." \" ".$keysym_file;</span>
|
||||
<a name="l00061"></a>00061 <span class="comment"> $re = "^#define\\s+XK_".$sym."\\s+0x[0-9a-f]+\\s*\\/\\*[ (]*U\\+([0-9a-f]{4})";</span>
|
||||
<a name="l00062"></a>00062 <span class="comment"> return $1 if (`$cmd` =~ m/$re/i);</span>
|
||||
<a name="l00063"></a>00063 <span class="comment"> return 0;</span>
|
||||
<a name="l00064"></a>00064 <span class="comment">}</span>
|
||||
<a name="l00065"></a>00065 <span class="comment">---------------</span>
|
||||
<a name="l00066"></a>00066 <span class="comment"> */</span>
|
||||
<a name="l00067"></a>00067 <span class="preprocessor">#define MULTIKEY_MAP_SIZE 1195</span>
|
||||
<a name="l00068"></a>00068 <span class="preprocessor"></span>uint16_t multikey_map_char[] = {
|
||||
<a name="l00069"></a>00069 0x23,0x27,0x40,0x5b,0x5d,0x5e,0x60,0x7b,0x7c,0x7d,0x7e,0xa0,0xa1,0xa2,0xa3,0xa4,
|
||||
<a name="l00070"></a>00070 0xa5,0xa6,0xa7,0xa9,0xab,0xac,0xae,0xb0,0xb1,0xb2,0xb3,0xb5,0xb6,0xb7,0xb8,0xb9,
|
||||
<a name="l00071"></a>00071 0xbb,0xbc,0xbd,0xbe,0xbf,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,
|
||||
<a name="l00072"></a>00072 0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,
|
||||
<a name="l00073"></a>00073 0xdb,0xdc,0xdd,0xde,0xdf,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,
|
||||
<a name="l00074"></a>00074 0xeb,0xec,0xed,0xee,0xef,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,
|
||||
<a name="l00075"></a>00075 0xfb,0xfc,0xfd,0xfe,0xff,0x100,0x101,0x102,0x103,0x104,0x105,0x106,0x107,0x108,0x109,0x10a,
|
||||
<a name="l00076"></a>00076 0x10b,0x10c,0x10d,0x10e,0x10f,0x110,0x111,0x112,0x113,0x114,0x115,0x116,0x117,0x118,0x119,0x11a,
|
||||
<a name="l00077"></a>00077 0x11b,0x11c,0x11d,0x11e,0x11f,0x120,0x121,0x122,0x123,0x124,0x125,0x126,0x127,0x128,0x129,0x12a,
|
||||
<a name="l00078"></a>00078 0x12b,0x12c,0x12d,0x12e,0x12f,0x130,0x131,0x134,0x135,0x136,0x137,0x138,0x139,0x13a,0x13b,0x13c,
|
||||
<a name="l00079"></a>00079 0x13d,0x13e,0x141,0x142,0x143,0x144,0x145,0x146,0x147,0x148,0x14a,0x14b,0x14c,0x14d,0x14e,0x14f,
|
||||
<a name="l00080"></a>00080 0x150,0x151,0x152,0x153,0x154,0x155,0x156,0x157,0x158,0x159,0x15a,0x15b,0x15c,0x15d,0x15e,0x15f,
|
||||
<a name="l00081"></a>00081 0x160,0x161,0x162,0x163,0x164,0x165,0x166,0x167,0x168,0x169,0x16a,0x16b,0x16c,0x16d,0x16e,0x16f,
|
||||
<a name="l00082"></a>00082 0x170,0x171,0x172,0x173,0x174,0x175,0x176,0x177,0x178,0x179,0x17a,0x17b,0x17c,0x17d,0x17e,0x17f,
|
||||
<a name="l00083"></a>00083 0x180,0x197,0x1a0,0x1a1,0x1af,0x1b0,0x1b5,0x1b6,0x1cd,0x1ce,0x1cf,0x1d0,0x1d1,0x1d2,0x1d3,0x1d4,
|
||||
<a name="l00084"></a>00084 0x1d5,0x1d6,0x1d7,0x1d8,0x1d9,0x1da,0x1db,0x1dc,0x1de,0x1df,0x1e0,0x1e1,0x1e2,0x1e3,0x1e4,0x1e5,
|
||||
<a name="l00085"></a>00085 0x1e6,0x1e7,0x1e8,0x1e9,0x1ea,0x1eb,0x1ec,0x1ed,0x1ee,0x1ef,0x1f0,0x1f4,0x1f5,0x1f8,0x1f9,0x1fa,
|
||||
<a name="l00086"></a>00086 0x1fb,0x1fc,0x1fd,0x1fe,0x1ff,0x21e,0x21f,0x226,0x227,0x228,0x229,0x22a,0x22b,0x22c,0x22d,0x22e,
|
||||
<a name="l00087"></a>00087 0x22f,0x230,0x231,0x232,0x233,0x259,0x268,0x2a1,0x344,0x385,0x386,0x388,0x389,0x38a,0x38c,0x38e,
|
||||
<a name="l00088"></a>00088 0x38f,0x390,0x3aa,0x3ab,0x3ac,0x3ad,0x3ae,0x3af,0x3b0,0x3ca,0x3cb,0x3cc,0x3cd,0x3ce,0x3d4,0x400,
|
||||
<a name="l00089"></a>00089 0x401,0x403,0x407,0x40c,0x40d,0x40e,0x419,0x439,0x450,0x451,0x453,0x457,0x45c,0x45d,0x45e,0x492,
|
||||
<a name="l00090"></a>00090 0x493,0x49e,0x49f,0x4b0,0x4b1,0x4c1,0x4c2,0x4d0,0x4d1,0x4d2,0x4d3,0x4d6,0x4d7,0x4da,0x4db,0x4dc,
|
||||
<a name="l00091"></a>00091 0x4dd,0x4de,0x4df,0x4e2,0x4e3,0x4e4,0x4e5,0x4e6,0x4e7,0x4ea,0x4eb,0x4ec,0x4ed,0x4ee,0x4ef,0x4f0,
|
||||
<a name="l00092"></a>00092 0x4f1,0x4f2,0x4f3,0x4f4,0x4f5,0x4f8,0x4f9,0x622,0x623,0x624,0x625,0x626,0x6c0,0x6c2,0x6d3,0x929,
|
||||
<a name="l00093"></a>00093 0x931,0x934,0x958,0x959,0x95a,0x95b,0x95c,0x95d,0x95e,0x95f,0x9cb,0x9cc,0x9dc,0x9dd,0x9df,0xa33,
|
||||
<a name="l00094"></a>00094 0xa36,0xa59,0xa5a,0xa5b,0xa5e,0xb48,0xb4b,0xb4c,0xb5c,0xb5d,0xb94,0xbca,0xbcb,0xbcc,0xc48,0xcc0,
|
||||
<a name="l00095"></a>00095 0xcc7,0xcc8,0xcca,0xccb,0xd4a,0xd4b,0xd4c,0xdda,0xddc,0xddd,0xdde,0xf43,0xf4d,0xf52,0xf57,0xf5c,
|
||||
<a name="l00096"></a>00096 0xf69,0xf73,0xf75,0xf76,0xf78,0xf81,0xf93,0xf9d,0xfa2,0xfa7,0xfac,0xfb9,0x1026,0x1101,0x1104,0x1108,
|
||||
<a name="l00097"></a>00097 0x110a,0x110d,0x1113,0x1114,0x1115,0x1116,0x1117,0x1118,0x1119,0x111a,0x111b,0x111c,0x111d,0x111e,0x111f,0x1120,
|
||||
<a name="l00098"></a>00098 0x1121,0x1122,0x1123,0x1124,0x1125,0x1126,0x1127,0x1128,0x1129,0x112a,0x112b,0x112c,0x112d,0x112e,0x112f,0x1130,
|
||||
<a name="l00099"></a>00099 0x1131,0x1132,0x1133,0x1134,0x1135,0x1136,0x1137,0x1138,0x1139,0x113a,0x113b,0x113d,0x113f,0x1141,0x1142,0x1143,
|
||||
<a name="l00100"></a>00100 0x1144,0x1145,0x1146,0x1147,0x1148,0x1149,0x114a,0x114b,0x114d,0x114f,0x1151,0x1152,0x1153,0x1156,0x1157,0x1158,
|
||||
<a name="l00101"></a>00101 0x1162,0x1164,0x1166,0x1168,0x116a,0x116b,0x116c,0x116f,0x1170,0x1171,0x1174,0x1176,0x1177,0x1178,0x1179,0x117a,
|
||||
<a name="l00102"></a>00102 0x117b,0x117c,0x117d,0x117e,0x117f,0x1180,0x1181,0x1182,0x1183,0x1184,0x1185,0x1186,0x1187,0x1188,0x1189,0x118a,
|
||||
<a name="l00103"></a>00103 0x118b,0x118c,0x118d,0x118e,0x118f,0x1190,0x1191,0x1192,0x1193,0x1194,0x1195,0x1196,0x1197,0x1198,0x1199,0x119a,
|
||||
<a name="l00104"></a>00104 0x119b,0x119c,0x119d,0x119f,0x11a0,0x11a1,0x11a2,0x11a9,0x11aa,0x11ac,0x11ad,0x11b0,0x11b1,0x11b2,0x11b3,0x11b4,
|
||||
<a name="l00105"></a>00105 0x11b5,0x11b6,0x11b9,0x11bb,0x11c3,0x11c4,0x11c5,0x11c6,0x11c7,0x11c8,0x11c9,0x11ca,0x11cb,0x11cc,0x11cd,0x11ce,
|
||||
<a name="l00106"></a>00106 0x11cf,0x11d0,0x11d1,0x11d2,0x11d3,0x11d4,0x11d5,0x11d6,0x11d7,0x11d8,0x11d9,0x11da,0x11db,0x11dc,0x11dd,0x11de,
|
||||
<a name="l00107"></a>00107 0x11df,0x11e0,0x11e1,0x11e2,0x11e3,0x11e4,0x11e5,0x11e6,0x11e7,0x11e8,0x11e9,0x11ea,0x11ec,0x11ed,0x11ee,0x11ef,
|
||||
<a name="l00108"></a>00108 0x11f1,0x11f2,0x11f3,0x11f4,0x11f5,0x11f6,0x11f7,0x11f8,0x1e02,0x1e03,0x1e04,0x1e05,0x1e08,0x1e09,0x1e0a,0x1e0b,
|
||||
<a name="l00109"></a>00109 0x1e0c,0x1e0d,0x1e10,0x1e11,0x1e14,0x1e15,0x1e16,0x1e17,0x1e1c,0x1e1d,0x1e1e,0x1e1f,0x1e20,0x1e21,0x1e22,0x1e23,
|
||||
<a name="l00110"></a>00110 0x1e24,0x1e25,0x1e26,0x1e27,0x1e28,0x1e29,0x1e2e,0x1e2f,0x1e30,0x1e31,0x1e32,0x1e33,0x1e36,0x1e37,0x1e38,0x1e39,
|
||||
<a name="l00111"></a>00111 0x1e3e,0x1e3f,0x1e40,0x1e41,0x1e42,0x1e43,0x1e44,0x1e45,0x1e46,0x1e47,0x1e4c,0x1e4d,0x1e4e,0x1e4f,0x1e50,0x1e51,
|
||||
<a name="l00112"></a>00112 0x1e52,0x1e53,0x1e54,0x1e55,0x1e56,0x1e57,0x1e58,0x1e59,0x1e5a,0x1e5b,0x1e5c,0x1e5d,0x1e60,0x1e61,0x1e62,0x1e63,
|
||||
<a name="l00113"></a>00113 0x1e64,0x1e65,0x1e66,0x1e67,0x1e68,0x1e69,0x1e6a,0x1e6b,0x1e6c,0x1e6d,0x1e78,0x1e79,0x1e7a,0x1e7b,0x1e7c,0x1e7d,
|
||||
<a name="l00114"></a>00114 0x1e7e,0x1e7f,0x1e80,0x1e81,0x1e82,0x1e83,0x1e84,0x1e85,0x1e86,0x1e87,0x1e88,0x1e89,0x1e8a,0x1e8b,0x1e8c,0x1e8d,
|
||||
<a name="l00115"></a>00115 0x1e8e,0x1e8f,0x1e90,0x1e91,0x1e92,0x1e93,0x1e97,0x1e98,0x1e99,0x1e9b,0x1ea0,0x1ea1,0x1ea2,0x1ea3,0x1ea4,0x1ea5,
|
||||
<a name="l00116"></a>00116 0x1ea6,0x1ea7,0x1ea8,0x1ea9,0x1eaa,0x1eab,0x1eac,0x1ead,0x1eae,0x1eaf,0x1eb0,0x1eb1,0x1eb2,0x1eb3,0x1eb4,0x1eb5,
|
||||
<a name="l00117"></a>00117 0x1eb6,0x1eb7,0x1eb8,0x1eb9,0x1eba,0x1ebb,0x1ebc,0x1ebd,0x1ebe,0x1ebf,0x1ec0,0x1ec1,0x1ec2,0x1ec3,0x1ec4,0x1ec5,
|
||||
<a name="l00118"></a>00118 0x1ec6,0x1ec7,0x1ec8,0x1ec9,0x1eca,0x1ecb,0x1ecc,0x1ecd,0x1ece,0x1ecf,0x1ed0,0x1ed1,0x1ed2,0x1ed3,0x1ed4,0x1ed5,
|
||||
<a name="l00119"></a>00119 0x1ed6,0x1ed7,0x1ed8,0x1ed9,0x1eda,0x1edb,0x1edc,0x1edd,0x1ede,0x1edf,0x1ee0,0x1ee1,0x1ee2,0x1ee3,0x1ee4,0x1ee5,
|
||||
<a name="l00120"></a>00120 0x1ee6,0x1ee7,0x1ee8,0x1ee9,0x1eea,0x1eeb,0x1eec,0x1eed,0x1eee,0x1eef,0x1ef0,0x1ef1,0x1ef2,0x1ef3,0x1ef4,0x1ef5,
|
||||
<a name="l00121"></a>00121 0x1ef6,0x1ef7,0x1ef8,0x1ef9,0x1f00,0x1f01,0x1f02,0x1f03,0x1f04,0x1f05,0x1f06,0x1f07,0x1f08,0x1f09,0x1f0a,0x1f0b,
|
||||
<a name="l00122"></a>00122 0x1f0c,0x1f0d,0x1f0e,0x1f0f,0x1f10,0x1f11,0x1f12,0x1f13,0x1f14,0x1f15,0x1f18,0x1f19,0x1f1a,0x1f1b,0x1f1c,0x1f1d,
|
||||
<a name="l00123"></a>00123 0x1f20,0x1f21,0x1f22,0x1f23,0x1f24,0x1f25,0x1f26,0x1f27,0x1f28,0x1f29,0x1f2a,0x1f2b,0x1f2c,0x1f2d,0x1f2e,0x1f2f,
|
||||
<a name="l00124"></a>00124 0x1f30,0x1f31,0x1f32,0x1f33,0x1f34,0x1f35,0x1f36,0x1f37,0x1f38,0x1f39,0x1f3a,0x1f3b,0x1f3c,0x1f3d,0x1f3e,0x1f3f,
|
||||
<a name="l00125"></a>00125 0x1f40,0x1f41,0x1f42,0x1f43,0x1f44,0x1f45,0x1f48,0x1f49,0x1f4a,0x1f4b,0x1f4c,0x1f4d,0x1f50,0x1f51,0x1f52,0x1f53,
|
||||
<a name="l00126"></a>00126 0x1f54,0x1f55,0x1f56,0x1f57,0x1f59,0x1f5b,0x1f5d,0x1f5f,0x1f60,0x1f61,0x1f62,0x1f63,0x1f64,0x1f65,0x1f66,0x1f67,
|
||||
<a name="l00127"></a>00127 0x1f68,0x1f69,0x1f6a,0x1f6b,0x1f6c,0x1f6d,0x1f6e,0x1f6f,0x1f70,0x1f72,0x1f74,0x1f76,0x1f78,0x1f7a,0x1f7c,0x1f80,
|
||||
<a name="l00128"></a>00128 0x1f81,0x1f82,0x1f83,0x1f84,0x1f85,0x1f86,0x1f87,0x1f88,0x1f89,0x1f8a,0x1f8b,0x1f8c,0x1f8d,0x1f8e,0x1f8f,0x1f90,
|
||||
<a name="l00129"></a>00129 0x1f91,0x1f92,0x1f93,0x1f94,0x1f95,0x1f96,0x1f97,0x1f98,0x1f99,0x1f9a,0x1f9b,0x1f9c,0x1f9d,0x1f9e,0x1f9f,0x1fa0,
|
||||
<a name="l00130"></a>00130 0x1fa1,0x1fa2,0x1fa3,0x1fa4,0x1fa5,0x1fa6,0x1fa7,0x1fa8,0x1fa9,0x1faa,0x1fab,0x1fac,0x1fad,0x1fae,0x1faf,0x1fb0,
|
||||
<a name="l00131"></a>00131 0x1fb1,0x1fb2,0x1fb3,0x1fb4,0x1fb6,0x1fb7,0x1fb8,0x1fb9,0x1fba,0x1fbc,0x1fc1,0x1fc2,0x1fc3,0x1fc4,0x1fc6,0x1fc7,
|
||||
<a name="l00132"></a>00132 0x1fc8,0x1fca,0x1fcc,0x1fcd,0x1fce,0x1fcf,0x1fd0,0x1fd1,0x1fd2,0x1fd6,0x1fd7,0x1fd8,0x1fd9,0x1fda,0x1fdd,0x1fde,
|
||||
<a name="l00133"></a>00133 0x1fdf,0x1fe0,0x1fe1,0x1fe2,0x1fe4,0x1fe5,0x1fe6,0x1fe7,0x1fe8,0x1fe9,0x1fea,0x1fec,0x1fed,0x1ff2,0x1ff3,0x1ff4,
|
||||
<a name="l00134"></a>00134 0x1ff6,0x1ff7,0x1ff8,0x1ffa,0x1ffc,0x2008,0x2018,0x2019,0x201a,0x201c,0x201d,0x201e,0x2022,0x2026,0x2030,0x2039,
|
||||
<a name="l00135"></a>00135 0x203a,0x203d,0x2070,0x2074,0x2075,0x2076,0x2077,0x2078,0x2079,0x207a,0x207b,0x207c,0x207d,0x207e,0x2080,0x2081,
|
||||
<a name="l00136"></a>00136 0x2082,0x2083,0x2084,0x2085,0x2086,0x2087,0x2088,0x2089,0x208a,0x208b,0x208c,0x208d,0x208e,0x20a0,0x20a1,0x20a2,
|
||||
<a name="l00137"></a>00137 0x20a3,0x20a4,0x20a5,0x20a6,0x20a7,0x20a8,0x20a9,0x20ab,0x20ac,0x2116,0x2120,0x2122,0x219a,0x219b,0x21ae,0x2204,
|
||||
<a name="l00138"></a>00138 0x2209,0x220c,0x2224,0x2226,0x2241,0x2244,0x2247,0x2249,0x2260,0x2262,0x226d,0x226e,0x226f,0x2270,0x2271,0x2274,
|
||||
<a name="l00139"></a>00139 0x2275,0x2278,0x2279,0x2280,0x2281,0x2284,0x2285,0x2288,0x2289,0x22ac,0x22ad,0x22ae,0x22af,0x22e0,0x22e1,0x22e2,
|
||||
<a name="l00140"></a>00140 0x22e3,0x22ea,0x22eb,0x22ec,0x22ed,0x266d,0x266e,0x266f,0x2adc,0x301d,0x301e,0x3192,0x3193,0x3194,0x3195,0x3196,
|
||||
<a name="l00141"></a>00141 0x3197,0x3198,0x3199,0x319a,0x319b,0x319c,0x319d,0x319e,0x319f,0xfb1d,0xfb1f,0xfb2a,0xfb2b,0xfb2c,0xfb2d,0xfb2e,
|
||||
<a name="l00142"></a>00142 0xfb2f,0xfb30,0xfb31,0xfb32,0xfb33,0xfb34,0xfb35,0xfb36,0xfb38,0xfb39,0xfb3a,0xfb3b,0xfb3c,0xfb3e,0xfb40,0xfb41,
|
||||
<a name="l00143"></a>00143 0xfb43,0xfb44,0xfb46,0xfb47,0xfb48,0xfb49,0xfb4a,0xfb4b,0xfb4c,0xfb4d,0xfb4e
|
||||
<a name="l00144"></a>00144 };
|
||||
<a name="l00145"></a>00145 uint16_t multikey_map_first[] = {
|
||||
<a name="l00146"></a>00146 0x002B,0x0020,0x0041,0x0028,0x0029,0x0020,0x0020,0x002D,0x006C,0x002D,0x0020,0x0020,0x0021,0x002F,0x002D,0x0078,
|
||||
<a name="l00147"></a>00147 0x003D,0x0021,0x043F,0x004F,0x003C,0x002D,0x004F,0x006F,0x002B,0x005E,0x005E,0x006D,0x0050,0x002E,0x0020,0x005E,
|
||||
<a name="l00148"></a>00148 0x003E,0x0031,0x0031,0x0033,0x003F,0x0060,0x0027,0x005E,0x007E,0x0022,0x006F,0x0041,0x00B8,0x0060,0x0027,0x005E,
|
||||
<a name="l00149"></a>00149 0x0022,0x0060,0x0027,0x005E,0x0022,0x0044,0x007E,0x0060,0x0027,0x005E,0x007E,0x0022,0x0078,0x002F,0x0060,0x0027,
|
||||
<a name="l00150"></a>00150 0x005E,0x0022,0x0027,0x0054,0x0073,0x0060,0x0027,0x005E,0x007E,0x0022,0x006F,0x0061,0x00B8,0x0060,0x0027,0x005E,
|
||||
<a name="l00151"></a>00151 0x0022,0x0060,0x0027,0x005E,0x0022,0x0064,0x007E,0x0060,0x0027,0x005E,0x007E,0x0022,0x002D,0x002F,0x0060,0x0027,
|
||||
<a name="l00152"></a>00152 0x005E,0x0022,0x0027,0x0074,0x0022,0x005F,0x005F,0x0062,0x0062,0x003B,0x003B,0x0027,0x0027,0x005E,0x005E,0x002E,
|
||||
<a name="l00153"></a>00153 0x002E,0x0063,0x0063,0x0063,0x0063,0x002F,0x002F,0x005F,0x005F,0x0062,0x0062,0x002E,0x002E,0x003B,0x003B,0x0063,
|
||||
<a name="l00154"></a>00154 0x0063,0x005E,0x005E,0x0062,0x0062,0x002E,0x002E,0x00B8,0x00B8,0x005E,0x005E,0x002F,0x002F,0x007E,0x007E,0x005F,
|
||||
<a name="l00155"></a>00155 0x005F,0x0062,0x0062,0x003B,0x003B,0x002E,0x0069,0x005E,0x005E,0x00B8,0x00B8,0x006B,0x0027,0x0027,0x00B8,0x00B8,
|
||||
<a name="l00156"></a>00156 0x0063,0x0063,0x002F,0x002F,0x0027,0x0027,0x00B8,0x00B8,0x0063,0x0063,0x004E,0x006E,0x005F,0x005F,0x0062,0x0062,
|
||||
<a name="l00157"></a>00157 0x003D,0x003D,0x004F,0x006F,0x0027,0x0027,0x00B8,0x00B8,0x0063,0x0063,0x0027,0x0027,0x005E,0x005E,0x00B8,0x00B8,
|
||||
<a name="l00158"></a>00158 0x0063,0x0063,0x00B8,0x00B8,0x0063,0x0063,0x002F,0x002F,0x007E,0x007E,0x005F,0x005F,0x0062,0x0062,0x006F,0x006F,
|
||||
<a name="l00159"></a>00159 0x003D,0x003D,0x003B,0x003B,0x005E,0x005E,0x005E,0x005E,0x0022,0x0027,0x0027,0x002E,0x002E,0x0063,0x0063,0x0066,
|
||||
<a name="l00160"></a>00160 0x002F,0x002F,0x002B,0x002B,0x002B,0x002B,0x002F,0x002F,0x0063,0x0063,0x0063,0x0063,0x0063,0x0063,0x0063,0x0063,
|
||||
<a name="l00161"></a>00161 0x005F,0x005F,0x0027,0x0027,0x0063,0x0063,0x0060,0x0060,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x002F,0x002F,
|
||||
<a name="l00162"></a>00162 0x0063,0x0063,0x0063,0x0063,0x003B,0x003B,0x005F,0x005F,0x0063,0x0063,0x0063,0x0027,0x0027,0x0060,0x0060,0x0027,
|
||||
<a name="l00163"></a>00163 0x0027,0x0027,0x0027,0x0027,0x0027,0x0063,0x0063,0x002E,0x002E,0x00B8,0x00B8,0x005F,0x005F,0x005F,0x005F,0x002E,
|
||||
<a name="l00164"></a>00164 0x002E,0x005F,0x005F,0x005F,0x005F,0x0065,0x002F,0x002F,0x0022,0x00A8,0x0027,0x0027,0x0027,0x0027,0x0027,0x0027,
|
||||
<a name="l00165"></a>00165 0x0027,0x0027,0x0022,0x0022,0x0027,0x0027,0x0027,0x0027,0x0027,0x0022,0x0022,0x0027,0x0027,0x0027,0x0022,0x0060,
|
||||
<a name="l00166"></a>00166 0x0022,0x0027,0x0022,0x0027,0x0060,0x0062,0x0062,0x0062,0x0060,0x0022,0x0027,0x0022,0x0027,0x0060,0x0062,0x002F,
|
||||
<a name="l00167"></a>00167 0x002F,0x002F,0x002F,0x002F,0x002F,0x0062,0x0062,0x0062,0x0062,0x0022,0x0022,0x0062,0x0062,0x0022,0x0022,0x0022,
|
||||
<a name="l00168"></a>00168 0x0022,0x0022,0x0022,0x005F,0x005F,0x0022,0x0022,0x0022,0x0022,0x0022,0x0022,0x0022,0x0022,0x005F,0x005F,0x0022,
|
||||
<a name="l00169"></a>00169 0x0022,0x003D,0x003D,0x0022,0x0022,0x0022,0x0022,0x0653,0x0654,0x0654,0x0655,0x0654,0x0654,0x0654,0x0654,0x093C,
|
||||
<a name="l00170"></a>00170 0x093C,0x093C,0x093C,0x093C,0x093C,0x093C,0x093C,0x093C,0x093C,0x093C,0x09C7,0x09C7,0x09BC,0x09BC,0x09BC,0x0A3C,
|
||||
<a name="l00171"></a>00171 0x0A3C,0x0A3C,0x0A3C,0x0A3C,0x0A3C,0x0B47,0x0B47,0x0B47,0x0B3C,0x0B3C,0x0BD7,0x0BC6,0x0BC7,0x0BC6,0x0C46,0x0CBF,
|
||||
<a name="l00172"></a>00172 0x0CC6,0x0CC6,0x0CC6,0x0CCA,0x0D46,0x0D47,0x0D46,0x0DD9,0x0DD9,0x0DDC,0x0DD9,0x0FB7,0x0FB7,0x0FB7,0x0FB7,0x0FB7,
|
||||
<a name="l00173"></a>00173 0x0FB5,0x0F71,0x0F71,0x0FB2,0x0FB3,0x0F71,0x0F92,0x0F9C,0x0FA1,0x0FA6,0x0FAB,0x0F90,0x102E,0x1100,0x1103,0x1107,
|
||||
<a name="l00174"></a>00174 0x1109,0x110C,0x1102,0x1102,0x1102,0x1102,0x1103,0x1105,0x1105,0x1105,0x1105,0x1106,0x1106,0x1107,0x1107,0x1107,
|
||||
<a name="l00175"></a>00175 0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1109,0x1109,0x1109,0x1109,
|
||||
<a name="l00176"></a>00176 0x1109,0x1109,0x1109,0x1109,0x1109,0x1109,0x1109,0x1109,0x1109,0x1109,0x1109,0x113C,0x113E,0x110B,0x110B,0x110B,
|
||||
<a name="l00177"></a>00177 0x110B,0x110B,0x110B,0x110B,0x110B,0x110B,0x110B,0x110B,0x110C,0x114E,0x1150,0x110E,0x110E,0x1111,0x1111,0x1112,
|
||||
<a name="l00178"></a>00178 0x1161,0x1163,0x1165,0x1167,0x1169,0x1169,0x1169,0x116E,0x116E,0x116E,0x1173,0x1161,0x1161,0x1163,0x1163,0x1165,
|
||||
<a name="l00179"></a>00179 0x1165,0x1165,0x1167,0x1167,0x1169,0x1169,0x1169,0x1169,0x1169,0x116D,0x116D,0x116D,0x116D,0x116D,0x116E,0x116E,
|
||||
<a name="l00180"></a>00180 0x116E,0x116E,0x116E,0x1172,0x1172,0x1172,0x1172,0x1172,0x1172,0x1172,0x1173,0x1173,0x1174,0x1175,0x1175,0x1175,
|
||||
<a name="l00181"></a>00181 0x1175,0x1175,0x1175,0x119E,0x119E,0x119E,0x119E,0x11A8,0x11A8,0x11AB,0x11AB,0x11AF,0x11AF,0x11AF,0x11AF,0x11AF,
|
||||
<a name="l00182"></a>00182 0x11AF,0x11AF,0x11B8,0x11BA,0x11A8,0x11A8,0x11AB,0x11AB,0x11AB,0x11AB,0x11AB,0x11AE,0x11AE,0x11AF,0x11AF,0x11AF,
|
||||
<a name="l00183"></a>00183 0x11CE,0x11AF,0x11AF,0x11AF,0x11AF,0x11AF,0x11AF,0x11AF,0x11AF,0x11AF,0x11AF,0x11B7,0x11B7,0x11B7,0x11B7,0x11B7,
|
||||
<a name="l00184"></a>00184 0x11B7,0x11B7,0x11B7,0x11B7,0x11B8,0x11B8,0x11B8,0x11B8,0x11BA,0x11BA,0x11BA,0x11BA,0x11BC,0x11BC,0x11BC,0x11BC,
|
||||
<a name="l00185"></a>00185 0x11F0,0x11F0,0x11C1,0x11C1,0x11C2,0x11C2,0x11C2,0x11C2,0x002E,0x002E,0x0021,0x0021,0x0027,0x0027,0x002E,0x002E,
|
||||
<a name="l00186"></a>00186 0x0021,0x0021,0x00B8,0x00B8,0x0060,0x0060,0x0027,0x0027,0x0062,0x0062,0x002E,0x002E,0x005F,0x005F,0x002E,0x002E,
|
||||
<a name="l00187"></a>00187 0x0021,0x0021,0x0022,0x0022,0x00B8,0x00B8,0x0027,0x0027,0x0027,0x0027,0x0021,0x0021,0x0021,0x0021,0x005F,0x005F,
|
||||
<a name="l00188"></a>00188 0x0027,0x0027,0x002E,0x002E,0x0021,0x0021,0x002E,0x002E,0x0021,0x0021,0x0027,0x0027,0x0022,0x0022,0x0060,0x0060,
|
||||
<a name="l00189"></a>00189 0x0027,0x0027,0x0027,0x0027,0x002E,0x002E,0x002E,0x002E,0x0021,0x0021,0x005F,0x005F,0x002E,0x002E,0x0021,0x0021,
|
||||
<a name="l00190"></a>00190 0x002E,0x002E,0x002E,0x002E,0x002E,0x002E,0x002E,0x002E,0x0021,0x0021,0x0027,0x0027,0x0022,0x0022,0x007E,0x007E,
|
||||
<a name="l00191"></a>00191 0x0021,0x0021,0x0060,0x0060,0x0027,0x0027,0x0022,0x0022,0x002E,0x002E,0x0021,0x0021,0x002E,0x002E,0x0022,0x0022,
|
||||
<a name="l00192"></a>00192 0x002E,0x002E,0x005E,0x005E,0x0021,0x0021,0x0022,0x006F,0x006F,0x002E,0x0021,0x0021,0x003F,0x003F,0x0027,0x0027,
|
||||
<a name="l00193"></a>00193 0x0060,0x0060,0x003F,0x003F,0x007E,0x007E,0x005E,0x005E,0x0027,0x0027,0x0060,0x0060,0x003F,0x003F,0x007E,0x007E,
|
||||
<a name="l00194"></a>00194 0x0062,0x0062,0x0021,0x0021,0x003F,0x003F,0x007E,0x007E,0x0027,0x0027,0x0060,0x0060,0x003F,0x003F,0x007E,0x007E,
|
||||
<a name="l00195"></a>00195 0x005E,0x005E,0x003F,0x003F,0x0021,0x0021,0x0021,0x0021,0x003F,0x003F,0x0027,0x0027,0x0060,0x0060,0x003F,0x003F,
|
||||
<a name="l00196"></a>00196 0x007E,0x007E,0x005E,0x005E,0x0027,0x0027,0x0060,0x0060,0x003F,0x003F,0x007E,0x007E,0x0021,0x0021,0x0021,0x0021,
|
||||
<a name="l00197"></a>00197 0x003F,0x003F,0x0027,0x0027,0x0060,0x0060,0x003F,0x003F,0x007E,0x007E,0x0021,0x0021,0x0060,0x0060,0x0021,0x0021,
|
||||
<a name="l00198"></a>00198 0x003F,0x003F,0x007E,0x007E,0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x007E,0x007E,0x0029,0x0028,0x0060,0x0060,
|
||||
<a name="l00199"></a>00199 0x0027,0x0027,0x007E,0x007E,0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,
|
||||
<a name="l00200"></a>00200 0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x007E,0x007E,0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x007E,0x007E,
|
||||
<a name="l00201"></a>00201 0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x007E,0x007E,0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x007E,0x007E,
|
||||
<a name="l00202"></a>00202 0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x0029,0x0028,0x0060,0x0060,
|
||||
<a name="l00203"></a>00203 0x0027,0x0027,0x007E,0x007E,0x0028,0x0060,0x0027,0x007E,0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x007E,0x007E,
|
||||
<a name="l00204"></a>00204 0x0029,0x0028,0x0060,0x0060,0x0027,0x0027,0x007E,0x007E,0x0060,0x0060,0x0060,0x0060,0x0060,0x0060,0x0060,0x03B9,
|
||||
<a name="l00205"></a>00205 0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,
|
||||
<a name="l00206"></a>00206 0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,
|
||||
<a name="l00207"></a>00207 0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x03B9,0x0062,
|
||||
<a name="l00208"></a>00208 0x005F,0x03B9,0x03B9,0x03B9,0x007E,0x03B9,0x0062,0x005F,0x0060,0x03B9,0x00A8,0x03B9,0x03B9,0x03B9,0x007E,0x03B9,
|
||||
<a name="l00209"></a>00209 0x0060,0x0060,0x03B9,0x1FBF,0x1FBF,0x1FBF,0x0062,0x005F,0x0060,0x007E,0x007E,0x0062,0x005F,0x0060,0x1FFE,0x1FFE,
|
||||
<a name="l00210"></a>00210 0x1FFE,0x0062,0x005F,0x0060,0x0029,0x0028,0x007E,0x007E,0x0062,0x005F,0x0060,0x0028,0x00A8,0x03B9,0x03B9,0x03B9,
|
||||
<a name="l00211"></a>00211 0x007E,0x03B9,0x0060,0x0060,0x03B9,0x0020,0x0027,0x0027,0x0027,0x0022,0x0022,0x0022,0x002E,0x002E,0x0025,0x002E,
|
||||
<a name="l00212"></a>00212 0x002E,0x0021,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005F,0x005F,
|
||||
<a name="l00213"></a>00213 0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x005F,0x0043,0x002F,0x0043,
|
||||
<a name="l00214"></a>00214 0x0046,0x003D,0x002F,0x003D,0x0050,0x0052,0x003D,0x0064,0x003D,0x041D,0x0073,0x0074,0x002F,0x002F,0x002F,0x2203,
|
||||
<a name="l00215"></a>00215 0x2208,0x220B,0x2223,0x2225,0x223C,0x2243,0x223C,0x2248,0x003D,0x2261,0x224D,0x003C,0x003E,0x2264,0x2265,0x2272,
|
||||
<a name="l00216"></a>00216 0x2273,0x2276,0x2277,0x227A,0x227B,0x2282,0x2283,0x2286,0x2287,0x22A3,0x22A8,0x22A9,0x22AB,0x227C,0x227D,0x2291,
|
||||
<a name="l00217"></a>00217 0x2292,0x22B2,0x22B3,0x22B4,0x22B5,0x0023,0x0023,0x0023,0x2ADD,0x0022,0x0022,0x005E,0x005E,0x005E,0x005E,0x005E,
|
||||
<a name="l00218"></a>00218 0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x005E,0x05B4,0x05B7,0x05C1,0x05C2,0x05C1,0x05C2,0x05B7,
|
||||
<a name="l00219"></a>00219 0x05B8,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,
|
||||
<a name="l00220"></a>00220 0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05BC,0x05B9,0x05BF,0x05BF,0x05BF
|
||||
<a name="l00221"></a>00221 };
|
||||
<a name="l00222"></a>00222 uint16_t multikey_map_second[] = {
|
||||
<a name="l00223"></a>00223 0x002B,0x0027,0x0054,0x0028,0x0029,0x003E,0x0060,0x0028,0x0076,0x0029,0x002D,0x0020,0x0021,0x0063,0x004C,0x006F,
|
||||
<a name="l00224"></a>00224 0x0059,0x005E,0x0430,0x0043,0x003C,0x002C,0x0052,0x006F,0x002D,0x0032,0x0033,0x0075,0x0050,0x002D,0x002C,0x0031,
|
||||
<a name="l00225"></a>00225 0x003E,0x0034,0x0032,0x0034,0x003F,0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0045,0x0043,0x0045,0x0045,0x0045,
|
||||
<a name="l00226"></a>00226 0x0045,0x0049,0x0049,0x0049,0x0049,0x0048,0x004E,0x004F,0x004F,0x004F,0x004F,0x004F,0x0078,0x004F,0x0055,0x0055,
|
||||
<a name="l00227"></a>00227 0x0055,0x0055,0x0059,0x0048,0x0073,0x0061,0x0061,0x0061,0x0061,0x0061,0x0061,0x0065,0x0063,0x0065,0x0065,0x0065,
|
||||
<a name="l00228"></a>00228 0x0065,0x0069,0x0069,0x0069,0x0069,0x0068,0x006E,0x006F,0x006F,0x006F,0x006F,0x006F,0x003A,0x006F,0x0075,0x0075,
|
||||
<a name="l00229"></a>00229 0x0075,0x0075,0x0079,0x0068,0x0079,0x0041,0x0061,0x0041,0x0061,0x0041,0x0061,0x0043,0x0063,0x0043,0x0063,0x0043,
|
||||
<a name="l00230"></a>00230 0x0063,0x0043,0x0063,0x0044,0x0064,0x0044,0x0064,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0045,
|
||||
<a name="l00231"></a>00231 0x0065,0x0047,0x0067,0x0047,0x0067,0x0047,0x0067,0x0047,0x0067,0x0048,0x0068,0x0048,0x0068,0x0049,0x0069,0x0049,
|
||||
<a name="l00232"></a>00232 0x0069,0x0049,0x0069,0x0049,0x0069,0x0049,0x002E,0x004A,0x006A,0x004B,0x006B,0x006B,0x004C,0x006C,0x004C,0x006C,
|
||||
<a name="l00233"></a>00233 0x004C,0x006C,0x004C,0x006C,0x004E,0x006E,0x004E,0x006E,0x004E,0x006E,0x0047,0x0067,0x004F,0x006F,0x004F,0x006F,
|
||||
<a name="l00234"></a>00234 0x004F,0x006F,0x0045,0x0065,0x0052,0x0072,0x0052,0x0072,0x0052,0x0072,0x0053,0x0073,0x0053,0x0073,0x0053,0x0073,
|
||||
<a name="l00235"></a>00235 0x0053,0x0073,0x0054,0x0074,0x0054,0x0074,0x0054,0x0074,0x0055,0x0075,0x0055,0x0075,0x0055,0x0075,0x0055,0x0075,
|
||||
<a name="l00236"></a>00236 0x0055,0x0075,0x0055,0x0075,0x0057,0x0077,0x0059,0x0079,0x0059,0x005A,0x007A,0x005A,0x007A,0x005A,0x007A,0x0053,
|
||||
<a name="l00237"></a>00237 0x0062,0x0049,0x004F,0x006F,0x0055,0x0075,0x005A,0x007A,0x0041,0x0061,0x0049,0x0069,0x004F,0x006F,0x0055,0x0075,
|
||||
<a name="l00238"></a>00238 0x00DC,0x00FC,0x00DC,0x00FC,0x00DC,0x00FC,0x00DC,0x00FC,0x00C4,0x00E4,0x0226,0x0227,0x00C6,0x00E6,0x0047,0x0067,
|
||||
<a name="l00239"></a>00239 0x0047,0x0067,0x004B,0x006B,0x004F,0x006F,0x01EA,0x01EB,0x01B7,0x0292,0x006A,0x0047,0x0067,0x004E,0x006E,0x00C5,
|
||||
<a name="l00240"></a>00240 0x00E5,0x00C6,0x00E6,0x00D8,0x00F8,0x0048,0x0068,0x0041,0x0061,0x0045,0x0065,0x00D6,0x00F6,0x00D5,0x00F5,0x004F,
|
||||
<a name="l00241"></a>00241 0x006F,0x022E,0x022F,0x0059,0x0079,0x0065,0x0069,0x0294,0x0027,0x0027,0x0391,0x0395,0x0397,0x0399,0x039F,0x03A5,
|
||||
<a name="l00242"></a>00242 0x03A9,0x03CA,0x0399,0x03A5,0x03B1,0x03B5,0x03B7,0x03B9,0x03CB,0x03B9,0x03C5,0x03BF,0x03C5,0x03C9,0x03D2,0x0415,
|
||||
<a name="l00243"></a>00243 0x0415,0x0413,0x0406,0x041A,0x0418,0x0423,0x0418,0x0438,0x0435,0x0435,0x0433,0x0456,0x043A,0x0438,0x0443,0x0413,
|
||||
<a name="l00244"></a>00244 0x0433,0x041A,0x043A,0x04AE,0x04AF,0x0416,0x0436,0x0410,0x0430,0x0410,0x0430,0x0415,0x0435,0x04D8,0x04D9,0x0416,
|
||||
<a name="l00245"></a>00245 0x0436,0x0417,0x0437,0x0418,0x0438,0x0418,0x0438,0x041E,0x043E,0x04E8,0x04E9,0x042D,0x044D,0x0423,0x0443,0x0423,
|
||||
<a name="l00246"></a>00246 0x0443,0x0423,0x0443,0x0427,0x0447,0x042B,0x044B,0x0627,0x0627,0x0648,0x0627,0x064A,0x06D5,0x06C1,0x06D2,0x0928,
|
||||
<a name="l00247"></a>00247 0x0930,0x0933,0x0915,0x0916,0x0917,0x091C,0x0921,0x0922,0x092B,0x092F,0x09BE,0x09D7,0x09A1,0x09A2,0x09AF,0x0A32,
|
||||
<a name="l00248"></a>00248 0x0A38,0x0A16,0x0A17,0x0A1C,0x0A2B,0x0B56,0x0B3E,0x0B57,0x0B21,0x0B22,0x0B92,0x0BBE,0x0BBE,0x0BD7,0x0C56,0x0CD5,
|
||||
<a name="l00249"></a>00249 0x0CD5,0x0CD6,0x0CC2,0x0CD5,0x0D3E,0x0D3E,0x0D57,0x0DCA,0x0DCF,0x0DCA,0x0DDF,0x0F42,0x0F4C,0x0F51,0x0F56,0x0F5B,
|
||||
<a name="l00250"></a>00250 0x0F40,0x0F72,0x0F74,0x0F80,0x0F80,0x0F80,0x0FB7,0x0FB7,0x0FB7,0x0FB7,0x0FB7,0x0FB5,0x1025,0x1100,0x1103,0x1107,
|
||||
<a name="l00251"></a>00251 0x1109,0x110C,0x1100,0x1102,0x1103,0x1107,0x1100,0x1102,0x1105,0x1112,0x110B,0x1107,0x110B,0x1100,0x1102,0x1103,
|
||||
<a name="l00252"></a>00252 0x1109,0x112D,0x112F,0x1132,0x110A,0x1136,0x110C,0x110E,0x1110,0x1111,0x110B,0x112B,0x1100,0x1102,0x1103,0x1105,
|
||||
<a name="l00253"></a>00253 0x1106,0x1107,0x111E,0x110A,0x110B,0x110C,0x110E,0x110F,0x1110,0x1111,0x1112,0x113C,0x113E,0x1100,0x1103,0x1106,
|
||||
<a name="l00254"></a>00254 0x1107,0x1109,0x1140,0x110B,0x110C,0x110E,0x1110,0x1111,0x110B,0x114E,0x1150,0x110F,0x1112,0x1107,0x110B,0x1112,
|
||||
<a name="l00255"></a>00255 0x1175,0x1175,0x1175,0x1175,0x1161,0x1162,0x1175,0x1165,0x1166,0x1175,0x1175,0x1169,0x116E,0x1169,0x116D,0x1169,
|
||||
<a name="l00256"></a>00256 0x116E,0x1173,0x1169,0x116E,0x1165,0x1166,0x1168,0x1169,0x116E,0x1163,0x1164,0x1167,0x1169,0x1175,0x1161,0x1162,
|
||||
<a name="l00257"></a>00257 0x117C,0x1168,0x116E,0x1161,0x1165,0x1166,0x1167,0x1168,0x116E,0x1175,0x116E,0x1173,0x116E,0x1161,0x1163,0x1169,
|
||||
<a name="l00258"></a>00258 0x116E,0x1173,0x119E,0x1165,0x116E,0x1175,0x119E,0x11A8,0x11BA,0x11BD,0x11C2,0x11A8,0x11B7,0x11B8,0x11BA,0x11C0,
|
||||
<a name="l00259"></a>00259 0x11C1,0x11C2,0x11BA,0x11BA,0x11AF,0x11E7,0x11A8,0x11AE,0x11BA,0x11EB,0x11C0,0x11A8,0x11AF,0x11AA,0x11AB,0x11AE,
|
||||
<a name="l00260"></a>00260 0x11C2,0x11AF,0x11DA,0x11DD,0x11B9,0x11E5,0x11E6,0x11BB,0x11EB,0x11BF,0x11F9,0x11A8,0x11AF,0x11B8,0x11BA,0x11BB,
|
||||
<a name="l00261"></a>00261 0x11EB,0x11BE,0x11C2,0x11BC,0x11AF,0x11C1,0x11C2,0x11BC,0x11A8,0x11AE,0x11AF,0x11B8,0x11A8,0x11A9,0x11BC,0x11BF,
|
||||
<a name="l00262"></a>00262 0x11BA,0x11EB,0x11B8,0x11BC,0x11AB,0x11AF,0x11B7,0x11B8,0x0042,0x0062,0x0042,0x0062,0x00C7,0x00E7,0x0044,0x0064,
|
||||
<a name="l00263"></a>00263 0x0044,0x0064,0x0044,0x0064,0x0112,0x0113,0x0112,0x0113,0x0228,0x0229,0x0046,0x0066,0x0047,0x0067,0x0048,0x0068,
|
||||
<a name="l00264"></a>00264 0x0048,0x0068,0x0048,0x0068,0x0048,0x0068,0x00CF,0x00EF,0x004B,0x006B,0x004B,0x006B,0x004C,0x006C,0x1E36,0x1E37,
|
||||
<a name="l00265"></a>00265 0x004D,0x006D,0x004D,0x006D,0x004D,0x006D,0x004E,0x006E,0x004E,0x006E,0x00D5,0x00F5,0x00D5,0x00F5,0x014C,0x014D,
|
||||
<a name="l00266"></a>00266 0x014C,0x014D,0x0050,0x0070,0x0050,0x0070,0x0052,0x0072,0x0052,0x0072,0x1E5A,0x1E5B,0x0053,0x0073,0x0053,0x0073,
|
||||
<a name="l00267"></a>00267 0x015A,0x015B,0x0160,0x0161,0x1E62,0x1E63,0x0054,0x0074,0x0054,0x0074,0x0168,0x0169,0x016A,0x016B,0x0056,0x0076,
|
||||
<a name="l00268"></a>00268 0x0056,0x0076,0x0057,0x0077,0x0057,0x0077,0x0057,0x0077,0x0057,0x0077,0x0057,0x0077,0x0058,0x0078,0x0058,0x0078,
|
||||
<a name="l00269"></a>00269 0x0059,0x0079,0x005A,0x007A,0x005A,0x007A,0x0074,0x0077,0x0079,0x017F,0x0041,0x0061,0x0041,0x0061,0x00C2,0x00E2,
|
||||
<a name="l00270"></a>00270 0x00C2,0x00E2,0x00C2,0x00E2,0x00C2,0x00E2,0x1EA0,0x1EA1,0x0102,0x0103,0x0102,0x0103,0x0102,0x0103,0x0102,0x0103,
|
||||
<a name="l00271"></a>00271 0x1EA0,0x1EA1,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x00CA,0x00EA,0x00CA,0x00EA,0x00CA,0x00EA,0x00CA,0x00EA,
|
||||
<a name="l00272"></a>00272 0x1EB8,0x1EB9,0x0049,0x0069,0x0049,0x0069,0x004F,0x006F,0x004F,0x006F,0x00D4,0x00F4,0x00D4,0x00F4,0x00D4,0x00F4,
|
||||
<a name="l00273"></a>00273 0x00D4,0x00F4,0x1ECC,0x1ECD,0x01A0,0x01A1,0x01A0,0x01A1,0x01A0,0x01A1,0x01A0,0x01A1,0x01A0,0x01A1,0x0055,0x0075,
|
||||
<a name="l00274"></a>00274 0x0055,0x0075,0x01AF,0x01B0,0x01AF,0x01B0,0x01AF,0x01B0,0x01AF,0x01B0,0x01AF,0x01B0,0x0059,0x0079,0x0059,0x0079,
|
||||
<a name="l00275"></a>00275 0x0059,0x0079,0x0059,0x0079,0x03B1,0x03B1,0x1F00,0x1F01,0x1F00,0x1F01,0x1F00,0x1F01,0x0391,0x0391,0x1F08,0x1F09,
|
||||
<a name="l00276"></a>00276 0x1F08,0x1F09,0x1F08,0x1F09,0x03B5,0x03B5,0x1F10,0x1F11,0x1F10,0x1F11,0x0395,0x0395,0x1F18,0x1F19,0x1F18,0x1F19,
|
||||
<a name="l00277"></a>00277 0x03B7,0x03B7,0x1F20,0x1F21,0x1F20,0x1F21,0x1F20,0x1F21,0x0397,0x0397,0x1F28,0x1F29,0x1F28,0x1F29,0x1F28,0x1F29,
|
||||
<a name="l00278"></a>00278 0x03B9,0x03B9,0x1F30,0x1F31,0x1F30,0x1F31,0x1F30,0x1F31,0x0399,0x0399,0x1F38,0x1F39,0x1F38,0x1F39,0x1F38,0x1F39,
|
||||
<a name="l00279"></a>00279 0x03BF,0x03BF,0x1F40,0x1F41,0x1F40,0x1F41,0x039F,0x039F,0x1F48,0x1F49,0x1F48,0x1F49,0x03C5,0x03C5,0x1F50,0x1F51,
|
||||
<a name="l00280"></a>00280 0x1F50,0x1F51,0x1F50,0x1F51,0x03A5,0x1F59,0x1F59,0x1F59,0x03C9,0x03C9,0x1F60,0x1F61,0x1F60,0x1F61,0x1F60,0x1F61,
|
||||
<a name="l00281"></a>00281 0x03A9,0x03A9,0x1F68,0x1F69,0x1F68,0x1F69,0x1F68,0x1F69,0x03B1,0x03B5,0x03B7,0x03B9,0x03BF,0x03C5,0x03C9,0x1F00,
|
||||
<a name="l00282"></a>00282 0x1F01,0x1F02,0x1F03,0x1F04,0x1F05,0x1F06,0x1F07,0x1F08,0x1F09,0x1F0A,0x1F0B,0x1F0C,0x1F0D,0x1F0E,0x1F0F,0x1F20,
|
||||
<a name="l00283"></a>00283 0x1F21,0x1F22,0x1F23,0x1F24,0x1F25,0x1F26,0x1F27,0x1F28,0x1F29,0x1F2A,0x1F2B,0x1F2C,0x1F2D,0x1F2E,0x1F2F,0x1F60,
|
||||
<a name="l00284"></a>00284 0x1F61,0x1F62,0x1F63,0x1F64,0x1F65,0x1F66,0x1F67,0x1F68,0x1F69,0x1F6A,0x1F6B,0x1F6C,0x1F6D,0x1F6E,0x1F6F,0x03B1,
|
||||
<a name="l00285"></a>00285 0x03B1,0x1F70,0x03B1,0x03AC,0x03B1,0x1FB6,0x0391,0x0391,0x0391,0x0391,0x007E,0x1F74,0x03B7,0x03AE,0x03B7,0x1FC6,
|
||||
<a name="l00286"></a>00286 0x0395,0x0397,0x0397,0x0060,0x0027,0x007E,0x03B9,0x03B9,0x03CA,0x03B9,0x03CA,0x0399,0x0399,0x0399,0x0060,0x0027,
|
||||
<a name="l00287"></a>00287 0x007E,0x03C5,0x03C5,0x03CB,0x03C1,0x03C1,0x03C5,0x03CB,0x03A5,0x03A5,0x03A5,0x03A1,0x0060,0x1F7C,0x03C9,0x03CE,
|
||||
<a name="l00288"></a>00288 0x03C9,0x1FF6,0x039F,0x03A9,0x03A9,0x002E,0x003C,0x003E,0x002C,0x003C,0x003E,0x002C,0x003D,0x002E,0x006F,0x003C,
|
||||
<a name="l00289"></a>00289 0x003E,0x003F,0x0030,0x0034,0x0035,0x0036,0x0037,0x0038,0x0039,0x002B,0x2212,0x003D,0x0028,0x0029,0x0030,0x0031,
|
||||
<a name="l00290"></a>00290 0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,0x0038,0x0039,0x002B,0x2212,0x003D,0x0028,0x0029,0x0045,0x0043,0x0072,
|
||||
<a name="l00291"></a>00291 0x0072,0x004C,0x006D,0x004E,0x0074,0x0073,0x0057,0x002D,0x0415,0x041E,0x006D,0x006D,0x2190,0x2192,0x2194,0x0338,
|
||||
<a name="l00292"></a>00292 0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,
|
||||
<a name="l00293"></a>00293 0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,0x0338,
|
||||
<a name="l00294"></a>00294 0x0338,0x0338,0x0338,0x0338,0x0338,0x0062,0x0066,0x0023,0x0338,0x005C,0x002F,0x4E00,0x4E8C,0x4E09,0x56DB,0x4E0A,
|
||||
<a name="l00295"></a>00295 0x4E2D,0x4E0B,0x7532,0x4E59,0x4E19,0x4E01,0x5929,0x5730,0x4EBA,0x05D9,0x05F2,0x05E9,0x05E9,0xFB49,0xFB49,0x05D0,
|
||||
<a name="l00296"></a>00296 0x05D0,0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DE,0x05E0,0x05E1,
|
||||
<a name="l00297"></a>00297 0x05E3,0x05E4,0x05E6,0x05E7,0x05E8,0x05E9,0x05EA,0x05D5,0x05D1,0x05DB,0x05E4
|
||||
<a name="l00298"></a>00298 };
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -77,10 +77,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</div>
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title"><a class="el" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8" title="Execute a command where the command is coming from a string.">xte_commandString()</a> Command Strings </div> </div>
|
||||
<div class="title"><a class="el" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f" title="Execute a command where the command is coming from a string.">xte_commandString()</a> Command Strings </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>This page describes the various command strings available for the <a class="el" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8">xte_commandString()</a> function. </p>
|
||||
<div class="textblock"><p>This page describes the various command strings available for the <a class="el" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f">xte_commandString()</a> function. </p>
|
||||
<h2><a class="anchor" id="mouseclick"></a>
|
||||
Mouse Click</h2>
|
||||
<div class="fragment"><pre class="fragment"> <span class="stringliteral">'mouseclick <button_number>'</span>
|
||||
@ -137,20 +137,24 @@ Mouse Scroll Up</h2>
|
||||
<h2><a class="anchor" id="keyclick"></a>
|
||||
Key Button Click</h2>
|
||||
<div class="fragment"><pre class="fragment"> <span class="stringliteral">'keyclick <key_name>'</span>
|
||||
</pre></div><p> Push and release a keyboard key. This can be a key like <code>'a'</code>, <code>'b'</code>, or something fancy like <code>'space'</code>. Please see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of special keys.</p>
|
||||
</pre></div><p> Push and release a keyboard key. This can be a key like <code>'a'</code>, <code>'b'</code>, or something fancy like <code>'space'</code>. Please see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of special keys.</p>
|
||||
<h2><a class="anchor" id="keydown"></a>
|
||||
Key Button Down</h2>
|
||||
<div class="fragment"><pre class="fragment"> <span class="stringliteral">'keydown <key_name>'</span>
|
||||
</pre></div><p> Push down <em>but do not release</em> a keyboard key. This can be a key like <code>'a'</code>, <code>'b'</code>, or something fancy like <code>'space'</code>. Please see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of special keys.</p>
|
||||
</pre></div><p> Push down <em>but do not release</em> a keyboard key. This can be a key like <code>'a'</code>, <code>'b'</code>, or something fancy like <code>'space'</code>. Please see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of special keys.</p>
|
||||
<h2><a class="anchor" id="keyup"></a>
|
||||
Key Button Up</h2>
|
||||
<div class="fragment"><pre class="fragment"> <span class="stringliteral">'keyup <key_name>'</span>
|
||||
</pre></div><p> Release a keyboard key. This can be a key like <code>'a'</code>, <code>'b'</code>, or something fancy like <code>'space'</code>. Please see <a class="el" href="XTest_key_strings.html">XTest Key Strings</a> for a full list of special keys.</p>
|
||||
</pre></div><p> Release a keyboard key. This can be a key like <code>'a'</code>, <code>'b'</code>, or something fancy like <code>'space'</code>. Please see <a class="el" href="xtest_key_strings.html">XTest Key Strings</a> for a full list of special keys.</p>
|
||||
<h2><a class="anchor" id="keystring"></a>
|
||||
Keyboard Input String</h2>
|
||||
<div class="fragment"><pre class="fragment"> <span class="stringliteral">'keystring <string>'</span>
|
||||
</pre></div><p> Input a string of text to the X11 server. For example, inputting 'Hello, world!" will act as if you typed 'Hello, world!' from the keyboard. </p>
|
||||
<dl class="warning"><dt><b>Warning:</b></dt><dd>Unlike <a class="el" href="XTest_command_strings.html#keydown">Key Button Down</a>, <a class="el" href="XTest_command_strings.html#keyup">Key Button Up</a>, and <a class="el" href="XTest_command_strings.html#keyclick">Key Button Click</a>, this function can not handle special keys like 'space'. </dd></dl>
|
||||
<dl class="warning"><dt><b>Warning:</b></dt><dd>Unlike <a class="el" href="xtest_command_strings.html#keydown">Key Button Down</a>, <a class="el" href="xtest_command_strings.html#keyup">Key Button Up</a>, and <a class="el" href="xtest_command_strings.html#keyclick">Key Button Click</a>, this function can not handle special keys like 'space'.</dd></dl>
|
||||
<h2><a class="anchor" id="waitfor"></a>
|
||||
Wait for Image</h2>
|
||||
<div class="fragment"><pre class="fragment"> <span class="stringliteral">'waitfor <image_name>'</span>
|
||||
</pre></div><p> Wait for an image to show up on screen. For example, this can be used to make sure a button exists before clicking it. </p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
@ -169,7 +173,7 @@ Keyboard Input String</h2>
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">libcvautomation
|
||||
 <span id="projectnumber">1.2</span>
|
||||
 <span id="projectnumber">1.3</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@ -322,7 +322,7 @@ XF86AudioLowerVolume
|
||||
XF86AudioRaiseVolume
|
||||
XF86KbdBrightnessDown
|
||||
XF86MonBrightnessDown
|
||||
</pre></div> <dl class="warning"><dt><b>Warning:</b></dt><dd>Please note that each key string above is first translated into a key code, and then into the actual key click. Thus, while you might intend to press "dollar", it will actually come out as "4". If you need a <code>'$'</code> to come out, use the <code>'keystring $'</code> command to <a class="el" href="libcvautomation-xtest_8h.html#a8c3574a6eff4b080840806dca53aa5b8">xte_commandString()</a> or <code>'key_str $'</code> function in the BASH wrapper - see the <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions</a>. </dd></dl>
|
||||
</pre></div> <dl class="warning"><dt><b>Warning:</b></dt><dd>Please note that each key string above is first translated into a key code, and then into the actual key click. Thus, while you might intend to press "dollar", it will actually come out as "4". If you need a <code>'$'</code> to come out, use the <code>'keystring $'</code> command to <a class="el" href="libcvautomation-xtest_8h.html#a7ea1430ed90d3166f8d9fbb4e240a28f">xte_commandString()</a> or <code>'key_str $'</code> function in the BASH wrapper - see the <a class="el" href="wrapper_functions.html">Appendix of Wrapper Functions and Environment Variables</a>. </dd></dl>
|
||||
</div></div><!-- contents -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
@ -341,7 +341,7 @@ XF86MonBrightnessDown
|
||||
|
||||
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Jul 18 2012 14:10:15 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Mon Jul 23 2012 12:58:25 for libcvautomation by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.7.6.1
|
||||
</small></address>
|