Release version 1.2 documentation

This commit is contained in:
Bradlee Speice 2012-07-18 14:11:30 -04:00
parent 810e4e9fe8
commit 295c31692c
82 changed files with 8726 additions and 2780 deletions

View File

@ -1,83 +1,178 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: xte_commandString() Command Strings</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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1><a class="anchor" name="XTest_command_strings">xte_commandString() Command Strings</a></h1>This page describes the various command strings available for the <a class="el" href="libcvautomation-xtest_8h.html#382af05e5669ea2cbb22608e41cbc49a">xte_commandString()</a> function. <h2><a class="anchor" name="mouseclick">
Mouse Click</a></h2>
<div class="fragment"><pre class="fragment"> 'mouseclick &lt;button_number&gt;'
</pre></div> Click the mouse button <code></code> &lt;button_number&gt; in-place.<h2><a class="anchor" name="imouseclick">
Image Mouse Click</a></h2>
<div class="fragment"><pre class="fragment"> 'imouseclick &lt;image_name&gt;'
</pre></div> Click the mouse at an image's top-left corner.<h2><a class="anchor" name="icmouseclick">
Image Mouse Click (Centered)</a></h2>
<div class="fragment"><pre class="fragment"> 'icmouseclick &lt;image_name&gt;'
</pre></div> Click the mouse at an image's center.<h2><a class="anchor" name="mousexy">
Mouse XY Move</a></h2>
<div class="fragment"><pre class="fragment"> 'mousexy &lt;x-coord&gt; &lt;y-coord&gt;'
</pre></div> Move the mouse to an absolute coordinate. <dl compact><dt><b>Warning:</b></dt><dd>The <code>&lt;x-coord&gt;</code> and <code>&lt;y-coord&gt;</code> are expected to be integers.</dd></dl>
<h2><a class="anchor" name="mouserxy">
Mouse XY Move (Relative)</a></h2>
<div class="fragment"><pre class="fragment"> 'mouserxy &lt;x-increment&gt; &lt;y-increment&gt;'
</pre></div> Move the mouse by the given x and y values (relative motion). <dl compact><dt><b>A positive X increment will move the mouse to the right, and a positive Y increment will move the mouse down.</b></dt><dd></dd></dl>
<dl compact><dt><b>Warning:</b></dt><dd>The <code>&lt;x-increment&gt;</code> and <code>&lt;y-increment&gt;</code> are expected to be integers.</dd></dl>
<h2><a class="anchor" name="mouseimage">
Mouse Image Move</a></h2>
<div class="fragment"><pre class="fragment"> 'mouseimage &lt;image_name&gt;'
</pre></div> Move the mouse to an image's top-left corner.<h2><a class="anchor" name="cmouseimage">
Mouse Image Move (Centered)</a></h2>
<div class="fragment"><pre class="fragment"> 'cmouseimage &lt;image_name&gt;'
</pre></div> Move the mouse to an image's center.<h2><a class="anchor" name="mousedown">
Mouse Button Down</a></h2>
<div class="fragment"><pre class="fragment"> 'mousedown &lt;button_number&gt;'
</pre></div> Push and leave down a mouse button.<h2><a class="anchor" name="mouseup">
Mouse Button Up</a></h2>
<div class="fragment"><pre class="fragment"> 'mouseup &lt;button_number&gt;'
</pre></div> Release mouse button <code></code> &lt;button_number&gt;<h2><a class="anchor" name="mousejiggle">
Mouse Jiggle</a></h2>
<div class="fragment"><pre class="fragment"> 'mousejiggle'
</pre></div> Jiggle the mouse (helps to activate some widgets). Moves the mouse right and down 1 pixel, and then back.<h2><a class="anchor" name="mousescrolld">
Mouse Scroll Down</a></h2>
<div class="fragment"><pre class="fragment"> 'mousescrolld'
</pre></div> Scroll the mouse down 1 time - depending on window manager settings, etc., this may be multiple lines. <dl compact><dt><b>Note:</b></dt><dd>This is a wrapper function for clicking button 4 on the mouse</dd></dl>
<h2><a class="anchor" name="mousescrollu">
Mouse Scroll Up</a></h2>
<div class="fragment"><pre class="fragment"> 'mousescrollu'
</pre></div> Scroll the mouse up 1 time - depending on window manager settings, etc., this may be multiple lines. <dl compact><dt><b>Note:</b></dt><dd>This is a wrapper function for clicking button 5 on the mouse</dd></dl>
<h2><a class="anchor" name="keyclick">
Key Button Click</a></h2>
<div class="fragment"><pre class="fragment"> 'keyclick &lt;key_name&gt;'
</pre></div> 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.<h2><a class="anchor" name="keydown">
Key Button Down</a></h2>
<div class="fragment"><pre class="fragment"> 'keydown &lt;key_name&gt;'
</pre></div> 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.<h2><a class="anchor" name="keyup">
Key Button Up</a></h2>
<div class="fragment"><pre class="fragment"> 'keyup &lt;key_name&gt;'
</pre></div> 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.<h2><a class="anchor" name="keystring">
Keyboard Input String</a></h2>
<div class="fragment"><pre class="fragment"> 'keystring &lt;string&gt;'
</pre></div> 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. <dl compact><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>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
<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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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="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><!--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>
<h2><a class="anchor" id="mouseclick"></a>
Mouse Click</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mouseclick &lt;button_number&gt;&#39;</span>
</pre></div><p> Click the mouse button <code></code> &lt;button_number&gt; in-place.</p>
<h2><a class="anchor" id="imouseclick"></a>
Image Mouse Click</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;imouseclick &lt;image_name&gt;&#39;</span>
</pre></div><p> Click the mouse at an image's top-left corner.</p>
<h2><a class="anchor" id="icmouseclick"></a>
Image Mouse Click (Centered)</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;icmouseclick &lt;image_name&gt;&#39;</span>
</pre></div><p> Click the mouse at an image's center.</p>
<h2><a class="anchor" id="mousexy"></a>
Mouse XY Move</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mousexy &lt;x-coord&gt; &lt;y-coord&gt;&#39;</span>
</pre></div><p> Move the mouse to an absolute coordinate. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The <code>&lt;x-coord&gt;</code> and <code>&lt;y-coord&gt;</code> are expected to be integers.</dd></dl>
<h2><a class="anchor" id="mouserxy"></a>
Mouse XY Move (Relative)</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mouserxy &lt;x-increment&gt; &lt;y-increment&gt;&#39;</span>
</pre></div><p> Move the mouse by the given x and y values (relative motion). </p>
<dl class="user"><dt><b>A positive X increment will move the mouse to the right, and a positive Y increment will move the mouse down.</b></dt><dd></dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The <code>&lt;x-increment&gt;</code> and <code>&lt;y-increment&gt;</code> are expected to be integers.</dd></dl>
<h2><a class="anchor" id="mouseimage"></a>
Mouse Image Move</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mouseimage &lt;image_name&gt;&#39;</span>
</pre></div><p> Move the mouse to an image's top-left corner.</p>
<h2><a class="anchor" id="cmouseimage"></a>
Mouse Image Move (Centered)</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;cmouseimage &lt;image_name&gt;&#39;</span>
</pre></div><p> Move the mouse to an image's center.</p>
<h2><a class="anchor" id="mousedown"></a>
Mouse Button Down</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mousedown &lt;button_number&gt;&#39;</span>
</pre></div><p> Push and leave down a mouse button.</p>
<h2><a class="anchor" id="mouseup"></a>
Mouse Button Up</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mouseup &lt;button_number&gt;&#39;</span>
</pre></div><p> Release mouse button <code></code> &lt;button_number&gt;</p>
<h2><a class="anchor" id="mousejiggle"></a>
Mouse Jiggle</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mousejiggle&#39;</span>
</pre></div><p> Jiggle the mouse (helps to activate some widgets). Moves the mouse right and down 1 pixel, and then back.</p>
<h2><a class="anchor" id="mousescrolld"></a>
Mouse Scroll Down</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mousescrolld&#39;</span>
</pre></div><p> Scroll the mouse down 1 time - depending on window manager settings, etc., this may be multiple lines. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>This is a wrapper function for clicking button 4 on the mouse</dd></dl>
<h2><a class="anchor" id="mousescrollu"></a>
Mouse Scroll Up</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;mousescrollu&#39;</span>
</pre></div><p> Scroll the mouse up 1 time - depending on window manager settings, etc., this may be multiple lines. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>This is a wrapper function for clicking button 5 on the mouse</dd></dl>
<h2><a class="anchor" id="keyclick"></a>
Key Button Click</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;keyclick &lt;key_name&gt;&#39;</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>
<h2><a class="anchor" id="keydown"></a>
Key Button Down</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;keydown &lt;key_name&gt;&#39;</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>
<h2><a class="anchor" id="keyup"></a>
Key Button Up</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;keyup &lt;key_name&gt;&#39;</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>
<h2><a class="anchor" id="keystring"></a>
Keyboard Input String</h2>
<div class="fragment"><pre class="fragment"> <span class="stringliteral">&#39;keystring &lt;string&gt;&#39;</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>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,28 +1,87 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: XTest Key Strings</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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1><a class="anchor" name="XTest_key_strings">XTest Key Strings</a></h1>This page describes the various extra key strings to use with X11. The following list is generated with this command: <div class="fragment"><pre class="fragment"> xmodmap -pke | cut -d<span class="charliteral">'='</span> -f2 | sed 's/ /\n/g' | tr -s <span class="charliteral">'\n'</span> | awk '{ print length(), $0 | <span class="stringliteral">"sort -n"</span> }' | cut -d<span class="charliteral">' '</span> -f2 | uniq
<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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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="header">
<div class="headertitle">
<div class="title">XTest Key Strings </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This page describes the various extra key strings to use with X11. The following list is generated with this command: </p>
<div class="fragment"><pre class="fragment"> xmodmap -pke | cut -d<span class="charliteral">&#39;=&#39;</span> -f2 | sed <span class="stringliteral">&#39;s/ /\n/g&#39;</span> | tr -s <span class="charliteral">&#39;\n&#39;</span> | awk <span class="stringliteral">&#39;{ print length(), $0 | &quot;sort -n&quot; }&#39;</span> | cut -d<span class="charliteral">&#39; &#39;</span> -f2 | uniq
</pre></div> <div class="fragment"><pre class="fragment">0
1
2
@ -263,9 +322,29 @@ XF86AudioLowerVolume
XF86AudioRaiseVolume
XF86KbdBrightnessDown
XF86MonBrightnessDown
</pre></div> <dl compact><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". </dd></dl>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,39 +1,116 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: Class 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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 id="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>libcvautomation Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="structcvaPoint.html">cvaPoint</a></td><td class="indexvalue">Very simple structure to standardize how points are used in libcvautomation </td></tr>
<tr><td class="indexkey"><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td class="indexvalue">Implements a structure to build an array for methods like <a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">matchSubImage_a()</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="structlist.html">list</a></td><td class="indexvalue"></td></tr>
<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
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><table>
<tr><td class="indexkey"><a class="el" href="structcvaPoint.html">cvaPoint</a></td><td class="indexvalue">Very simple structure to standardize how points are used in libcvautomation </td></tr>
<tr><td class="indexkey"><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td class="indexvalue">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> </td></tr>
</table>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

BIN
bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 B

121
classes.html Normal file
View File

@ -0,0 +1,121 @@
<!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: Class Index</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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_C">C</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="structcvautomationList.html">cvautomationList</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td></tr>
<tr><td valign="top"><a class="el" href="structcvaPoint.html">cvaPoint</a>&#160;&#160;&#160;</td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_C">C</a></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

BIN
closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

View File

@ -1,65 +1,146 @@
<!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: </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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>7/11/2012 </dd></dl>
<h2><a class="anchor" name="usage">
Usage:</a></h2>
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. <h2><a class="anchor" name="example">
Example Usage:</a></h2>
Click the mouse:<p>
cva-input -s 'click 1'<p>
Press key 'a':<p>
cva-input -s 'keyclick a'<h2><a class="anchor" name="options">
Full Options:</a></h2>
-h, --help: Display this usage message.<p>
-u, --usage: Display this usage message.<p>
-d, --display: Specify the X display to use.<p>
-m, --search-method: Specify a method to search by. See <code>cva-match --help</code> for more information on this.<p>
-t, --tolerance: Specify how strict the match is.<p>
-b, --button: Specify the mouse button to press (default 1).<p>
-c, --center: Instead of matching the top-left corner of an image, match the center of the image.<p>
-o, --sane-tolerance: Set the tolerance using a scale of 1-100, rather than INT_MIN to INT_MAX (100 ~= INT_MAX)<p>
-s, --string: Command string - see below.<h2><a class="anchor" name="commands">
Full Command List:</a></h2>
mouseclick: Click the mouse in-place.<p>
imouseclick: Click the mouse at an image's top-left corner.<p>
icmouseclick: Click the mouse at an image's center.<p>
mousexy: Move the mouse to the given coordinate.<p>
mouserxy: Move the mouse by the given x and y values (relative motion).<p>
mouseimage: Move the mouse to an image's top-left corner.<p>
cmouseimage: Move the mouse to an image's center.<p>
mousedown: Push and leave down a mouse button.<p>
mouseup: Release a mouse button.<p>
mousejiggle: Jiggle the mouse (helps to activate some widgets).<p>
keyclick: Click a keyboard button.<p>
keydown: Push and leave down a keyboard button.<p>
keyup: Release a keyboard button.<p>
keystring: Input a string of keys to X11.<h2><a class="anchor" name="contact">
Contact Information:</a></h2>
Questions? Comments? Concerns? Suggestions? Send all feedback to Bradlee Speice at &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
<!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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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 &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </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 &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,65 +1,143 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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="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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>cva-input.c File Reference</h1>The cva-input program to demonstrate Libcvautomation's XTest functionality. <a href="#_details">More...</a>
<p>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;getopt.h&gt;</code><br>
<code>#include &lt;limits.h&gt;</code><br>
<code>#include &lt;math.h&gt;</code><br>
<code>#include &lt;<a class="el" href="libcvautomation_8h-source.html">libcvautomation/libcvautomation.h</a>&gt;</code><br>
<p>
<a href="cva-input_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76233dfb0e07a4db25a86e8688302693"></a><!-- doxytag: member="cva-input.c::usage" ref="76233dfb0e07a4db25a86e8688302693" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">usage</a> ()</td></tr>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21a0cec68b592a986793eb77804e776f"></a><!-- doxytag: member="cva-input.c::checkXTEEnabled" ref="21a0cec68b592a986793eb77804e776f" args="(Display *display)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cva-input_8c.html#21a0cec68b592a986793eb77804e776f">checkXTEEnabled</a> (Display *display)</td></tr>
<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>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="24e6ce6d053864cf5fb7af941457bb0e"></a><!-- doxytag: member="cva-input.c::main" ref="24e6ce6d053864cf5fb7af941457bb0e" args="(int argc, char **argv)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cva-input_8c.html#24e6ce6d053864cf5fb7af941457bb0e">main</a> (int argc, char **argv)</td></tr>
</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
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The cva-input program to demonstrate Libcvautomation's XTest functionality.
<p>
<dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>7/11/2012 </dd></dl>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;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 &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &lt;getopt.h&gt;</code><br/>
<code>#include &lt;limits.h&gt;</code><br/>
<code>#include &lt;math.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="libcvautomation_8h_source.html">libcvautomation/libcvautomation.h</a>&gt;</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&#45;input.c::usage" ref="a2ef30c42cbc289d899a8be5d2d8f77d0" args="()" -->
void&#160;</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&#45;input.c::checkXTEEnabled" ref="a2696f2da072e093c11c1827c24b8952e" args="(Display *display)" -->
void&#160;</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&#45;input.c::main" ref="a3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" -->
int&#160;</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 &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
<p>
Definition in file <a class="el" href="cva-input_8c-source.html">cva-input.c</a>.<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<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>

331
cva-input_8c_source.html Normal file
View File

@ -0,0 +1,331 @@
<!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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;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 &lt;stdlib.h&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;getopt.h&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;limits.h&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>&gt;</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">&quot;,&quot;</span>;
<a name="l00037"></a>00037 <span class="keywordtype">char</span> *xDisplayLocation;
<a name="l00038"></a>00038 xDisplayLocation = <span class="stringliteral">&quot;&quot;</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">&quot;help&quot;</span>, no_argument, 0, <span class="charliteral">&#39;h&#39;</span>},
<a name="l00052"></a>00052 {<span class="stringliteral">&quot;usage&quot;</span>, no_argument, 0, <span class="charliteral">&#39;u&#39;</span>},
<a name="l00053"></a>00053 {<span class="stringliteral">&quot;version&quot;</span>, no_argument, 0, <span class="charliteral">&#39;v&#39;</span>},
<a name="l00054"></a>00054 {<span class="stringliteral">&quot;display&quot;</span>, required_argument, 0, <span class="charliteral">&#39;d&#39;</span>},
<a name="l00055"></a>00055 {<span class="stringliteral">&quot;search-method&quot;</span>,required_argument, 0, <span class="charliteral">&#39;m&#39;</span>},
<a name="l00056"></a>00056 {<span class="stringliteral">&quot;tolerance&quot;</span>, required_argument, 0, <span class="charliteral">&#39;t&#39;</span>},
<a name="l00057"></a>00057 {<span class="stringliteral">&quot;button&quot;</span>, required_argument, 0, <span class="charliteral">&#39;b&#39;</span>},
<a name="l00058"></a>00058 {<span class="stringliteral">&quot;string&quot;</span>, required_argument, 0, <span class="charliteral">&#39;s&#39;</span>},
<a name="l00059"></a>00059 {<span class="stringliteral">&quot;sane-tolerance&quot;</span>, required_argument, 0,<span class="charliteral">&#39;o&#39;</span>},
<a name="l00060"></a>00060 {<span class="stringliteral">&quot;print-format&quot;</span>,required_argument, 0, <span class="charliteral">&#39;p&#39;</span>},
<a name="l00061"></a>00061 <span class="comment">/* Other valid values are &quot;optional_argument&quot;</span>
<a name="l00062"></a>00062 <span class="comment"> * and &quot;required_argument&quot; */</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">&quot;hud:m:t:b:cs:&quot;</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, &amp;option_index);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="comment">/* We&#39;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">&#39;h&#39;</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">&#39;u&#39;</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">&#39;v&#39;</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">&#39;d&#39;</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">&#39;m&#39;</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">&#39;t&#39;</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">&#39;b&#39;</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">&#39;s&#39;</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 &amp;&amp; returnPoint.y != -1)
<a name="l00122"></a>00122 printf(<span class="stringliteral">&quot;%s%s%i%s%i\n&quot;</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">&quot;%s\n&quot;</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">&#39;o&#39;</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">&#39;?&#39;</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">&quot;Unknown option...&quot;</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&#39;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">&quot;\</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 &lt;command_string&gt;\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\&#39;\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 \&quot;--display\&quot;\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&#39;s top-left corner.\n\</span>
<a name="l00185"></a>00185 <span class="stringliteral">\ticmouseclick:\tClick the mouse at an image&#39;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&#39;s top-left corner.\n\</span>
<a name="l00189"></a>00189 <span class="stringliteral">\tcmouseimage:\tMove the mouse to an image&#39;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 &lt;%s&gt;.\n\n&quot;</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">&quot;The XTest extension is not supported! Aborting...&quot;</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,54 +1,132 @@
<!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: </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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>7/11/2012 </dd></dl>
<h2><a class="anchor" name="usage">
Usage:</a></h2>
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.<h2><a class="anchor" name="example">
Example Usage:</a></h2>
Match two images against the root X11 window:<p>
cva-match --x-root -s "&lt;image_name&gt;" -s "&lt;image_name_2&gt;"<p>
Match a root and sub image with a custom tolerance and search method<p>
cva-match -r "&lt;root_image&gt;" -s "&lt;image_name&gt;" -o 75 -m 1<h2><a class="anchor" name="options">
Full Options:</a></h2>
-h, --help: Display this usage message.<p>
-u, --usage: Display this usage message.<p>
-r, --root-image: Location of the root image to compare against.<p>
-s, --sub-image: Location of the sub-image to find in root.<p>
-p, --separator: Separator of the X and Y coordinates.<p>
-t, --tolerance: Set how strict the match is - 100 is recommended lowest value.<p>
<dl compact><dt><b>Note:</b></dt><dd>When using CCORR or CCOEFF tolerance works in opposite direction, so -50 is recommended highest value.</dd></dl>
-m, --search-method: Set which method is used to search for sub-images.<p>
<dl compact><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>
-x, --x-root[=DISPLAY]: Set the root image to come from X11<p>
<dl compact><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>
-c, --center: The output points should be centered on the sub-image, rather than the top-left corner.<p>
-o, --sane-tolerance: Set the tolerance using a scale of 1-100, rather than INT_MIN to INT_MAX (100 ~= INT_MAX)<h2><a class="anchor" name="contact">
Contact Information:</a></h2>
Questions? Comments? Concerns? Suggestions? Send all feedback to Bradlee Speice at &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
<!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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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 &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </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 "&lt;image_name&gt;" -s "&lt;image_name_2&gt;"</p>
<p>Match a root and sub image with a custom tolerance and search method</p>
<p>cva-match -r "&lt;root_image&gt;" -s "&lt;image_name&gt;" -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 &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,68 +1,140 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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="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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>cva-match.c File Reference</h1>The cva-input program to demonstrate Libcvautomation's XTest functionality. <a href="#_details">More...</a>
<p>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;getopt.h&gt;</code><br>
<code>#include &lt;limits.h&gt;</code><br>
<code>#include &lt;<a class="el" href="libcvautomation_8h-source.html">libcvautomation/libcvautomation.h</a>&gt;</code><br>
<p>
<a href="cva-match_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlist.html">list</a></td></tr>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13f238c775b8e32baf4b94d638a11d6f"></a><!-- doxytag: member="cva-match.c::basic_list" ref="13f238c775b8e32baf4b94d638a11d6f" args="" -->
typedef <a class="el" href="structlist.html">list</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">basic_list</a></td></tr>
<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>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76233dfb0e07a4db25a86e8688302693"></a><!-- doxytag: member="cva-match.c::usage" ref="76233dfb0e07a4db25a86e8688302693" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>usage</b> ()</td></tr>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="24e6ce6d053864cf5fb7af941457bb0e"></a><!-- doxytag: member="cva-match.c::main" ref="24e6ce6d053864cf5fb7af941457bb0e" args="(int argc, char **argv)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cva-match_8c.html#24e6ce6d053864cf5fb7af941457bb0e">main</a> (int argc, char **argv)</td></tr>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcvautomation
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The cva-input program to demonstrate Libcvautomation's XTest functionality.
<p>
<dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>7/11/2012 </dd></dl>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;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 &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &lt;getopt.h&gt;</code><br/>
<code>#include &lt;limits.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="libcvautomation_8h_source.html">libcvautomation/libcvautomation.h</a>&gt;</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&#45;match.c::usage" ref="a2ef30c42cbc289d899a8be5d2d8f77d0" args="()" -->
void&#160;</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&#45;match.c::main" ref="a3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" -->
int&#160;</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 &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
<p>
Definition in file <a class="el" href="cva-match_8c-source.html">cva-match.c</a>.<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<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>

376
cva-match_8c_source.html Normal file
View File

@ -0,0 +1,376 @@
<!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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;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 &lt;stdlib.h&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;getopt.h&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;limits.h&gt;</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>&gt;</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">&quot;,&quot;</span>;
<a name="l00044"></a>00044 <span class="keywordtype">char</span> *root_location = <span class="stringliteral">&quot;root.png&quot;</span>;
<a name="l00045"></a>00045 <span class="keywordtype">char</span> *sub_location = <span class="stringliteral">&quot;sub.png&quot;</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">&quot;&quot;</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">&quot;help&quot;</span>, no_argument, 0, <span class="charliteral">&#39;h&#39;</span>},
<a name="l00068"></a>00068 {<span class="stringliteral">&quot;usage&quot;</span>, no_argument, 0, <span class="charliteral">&#39;u&#39;</span>},
<a name="l00069"></a>00069 {<span class="stringliteral">&quot;version&quot;</span>, no_argument, 0, <span class="charliteral">&#39;v&#39;</span>},
<a name="l00070"></a>00070 {<span class="stringliteral">&quot;root-image&quot;</span>, required_argument, 0, <span class="charliteral">&#39;r&#39;</span>},
<a name="l00071"></a>00071 {<span class="stringliteral">&quot;sub-image&quot;</span>, required_argument, 0, <span class="charliteral">&#39;s&#39;</span>},
<a name="l00072"></a>00072 {<span class="stringliteral">&quot;separator&quot;</span>, required_argument, 0, <span class="charliteral">&#39;p&#39;</span>},
<a name="l00073"></a>00073 {<span class="stringliteral">&quot;search-method&quot;</span>,required_argument, 0, <span class="charliteral">&#39;m&#39;</span>},
<a name="l00074"></a>00074 {<span class="stringliteral">&quot;tolerance&quot;</span>, required_argument, 0, <span class="charliteral">&#39;t&#39;</span>},
<a name="l00075"></a>00075 {<span class="stringliteral">&quot;x-root&quot;</span>, optional_argument, 0, <span class="charliteral">&#39;x&#39;</span>},
<a name="l00076"></a>00076 {<span class="stringliteral">&quot;center&quot;</span>, no_argument, 0, <span class="charliteral">&#39;c&#39;</span>},
<a name="l00077"></a>00077 {<span class="stringliteral">&quot;sane-tolerance&quot;</span>, required_argument, 0, <span class="charliteral">&#39;o&#39;</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">&quot;hur:s:p:m:t:x::c&quot;</span>,
<a name="l00085"></a>00085 long_options, &amp;option_index);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="comment">/* We&#39;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">&#39;h&#39;</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">&#39;u&#39;</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">&#39;v&#39;</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">&#39;r&#39;</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">&#39;s&#39;</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-&gt;fileName = optarg;
<a name="l00119"></a>00119 list_curr-&gt;next = (basic_list *) malloc (<span class="keyword">sizeof</span>(basic_list));
<a name="l00120"></a>00120 list_curr-&gt;next-&gt;fileName = NULL;
<a name="l00121"></a>00121 list_curr = list_curr-&gt;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">&#39;p&#39;</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">&#39;m&#39;</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">&#39;t&#39;</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">&#39;x&#39;</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">&quot;&quot;</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">&#39;c&#39;</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">&#39;o&#39;</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">&#39;?&#39;</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">&quot;Unknown option...&quot;</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-&gt;fileName;
<a name="l00179"></a>00179
<a name="l00180"></a>00180 <span class="keywordflow">if</span> (useX &amp;&amp; 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 &amp;&amp; !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 &amp;&amp; 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 &amp;&amp; !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 &amp;&amp; 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">&quot;%s%s%i%s%i\n&quot;</span>, list_curr-&gt;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-&gt;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-&gt;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&#39;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">&quot;\</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 &lt;root_image&gt; -s &lt;sub_image&gt; \n\</span>
<a name="l00224"></a>00224 <span class="stringliteral">cva-match -s &lt;sub_image&gt; -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 &#39;-x&#39; 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 &lt;%s&gt;\n&quot;</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -1,45 +1,121 @@
<!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: File Index</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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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 id="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>libcvautomation File List</h1>Here is a list of all documented files with brief descriptions:<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>
<tr><td class="indexkey"><a class="el" href="libcvautomation_8h.html">libcvautomation.h</a> <a href="libcvautomation_8h-source.html">[code]</a></td><td class="indexvalue">The top-level include for all projects involving libcvautomation </td></tr>
<tr><td class="indexkey"><b>xautomation_kbd.h</b> <a href="xautomation__kbd_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>xautomation_keysym_map.h</b> <a href="xautomation__keysym__map_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>xautomation_multikey_map.h</b> <a href="xautomation__multikey__map_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<!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: File List</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
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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 class="current"><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</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>
<tr><td class="indexkey"><a class="el" href="libcvautomation_8h.html">libcvautomation.h</a> <a href="libcvautomation_8h_source.html">[code]</a></td><td class="indexvalue">The top-level include for all projects involving libcvautomation </td></tr>
</table>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,116 +1,274 @@
<!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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_x"><span>x</span></a></li>
</ul>
<!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: File Members</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
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>
Here is a list of all documented file members with links to the documentation:
<p>
<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
<li>basic_list
: <a class="el" href="cva-match_8c.html#13f238c775b8e32baf4b94d638a11d6f">cva-match.c</a></ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>checkXTEEnabled()
: <a class="el" href="cva-input_8c.html#21a0cec68b592a986793eb77804e776f">cva-input.c</a><li>COMMAND_STR_LEN
: <a class="el" href="libcvautomation-xtest_8h.html#066e8fa570bba320a3c0a0d44f7e5c4d">libcvautomation-xtest.h</a><li>cvaCloseDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#1c8a205c0b2f4f7a28d1ce51d5225871">libcvautomation-xlib.h</a><li>cvaOpenDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#a6e348c2e829e1addb446160f54723a0">libcvautomation-xlib.h</a></ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<!-- 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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_x"><span>x</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>COMMAND_STR_LEN
: <a class="el" href="libcvautomation-xtest_8h.html#a17af6c2b164a04cae831df5fb93836f6">libcvautomation-xtest.h</a>
</li>
<li>cvaCloseDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a">libcvautomation-xlib.h</a>
</li>
<li>cvaOpenDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#a575e80fc9cf076026e127a57888423d4">libcvautomation-xlib.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>IS_CMD
: <a class="el" href="libcvautomation-xtest_8h.html#3409a0d4da000192a6561485e1288dfc">libcvautomation-xtest.h</a></ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
: <a class="el" href="libcvautomation-xtest_8h.html#ae9d8d80e438d68a6c57c02d7217df1bd">libcvautomation-xtest.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>LIBCVAUTOMATION_BUGREPORT
: <a class="el" href="libcvautomation_8h.html#064f2ecb9f4013fd636368d0dd59e453">libcvautomation.h</a><li>LIBCVAUTOMATION_VERSION
: <a class="el" href="libcvautomation_8h.html#6b6ab32b9a55421b91988946b2180bd0">libcvautomation.h</a></ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>main()
: <a class="el" href="cva-match_8c.html#24e6ce6d053864cf5fb7af941457bb0e">cva-match.c</a>, <a class="el" href="cva-input_8c.html#24e6ce6d053864cf5fb7af941457bb0e">cva-input.c</a><li>matchSubImage()
: <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">libcvautomation-opencv.h</a><li>matchSubImage_a()
: <a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">libcvautomation-opencv.h</a><li>matchSubImage_a_center()
: <a class="el" href="libcvautomation-opencv_8h.html#08ee04814a6cf9abde0bfa6e8baf71de">libcvautomation-opencv.h</a><li>matchSubImage_a_location()
: <a class="el" href="libcvautomation-opencv_8h.html#22a093abc57d2a5123cb50c2dc6e7dd2">libcvautomation-opencv.h</a><li>matchSubImage_a_location_center()
: <a class="el" href="libcvautomation-opencv_8h.html#4b591c5b0a520f3d2c41345f9cd92fa5">libcvautomation-opencv.h</a><li>matchSubImage_center()
: <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">libcvautomation-opencv.h</a><li>matchSubImage_location()
: <a class="el" href="libcvautomation-opencv_8h.html#c0d3066da6b2d42251c876d12a7158c7">libcvautomation-opencv.h</a><li>matchSubImage_location_center()
: <a class="el" href="libcvautomation-opencv_8h.html#bed7c891adb272993912d973c0e08c27">libcvautomation-opencv.h</a><li>matchSubImage_X11()
: <a class="el" href="libcvautomation-xlib_8h.html#8fbf1f5f968670a03c4c8e31f5afdaed">libcvautomation-xlib.h</a><li>matchSubImage_X11_center()
: <a class="el" href="libcvautomation-xlib_8h.html#fb70c8eec779a6696b3df5af5bca1a6d">libcvautomation-xlib.h</a><li>matchSubImage_X11_location()
: <a class="el" href="libcvautomation-xlib_8h.html#d238842448af81c09f56d1d54253c1b5">libcvautomation-xlib.h</a><li>matchSubImage_X11_location_center()
: <a class="el" href="libcvautomation-xlib_8h.html#b441627acd22889f404d89c9cc4809f5">libcvautomation-xlib.h</a></ul>
<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
<li>usage()
: <a class="el" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">cva-input.c</a></ul>
<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
: <a class="el" href="libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe">libcvautomation.h</a>
</li>
<li>LIBCVAUTOMATION_VERSION
: <a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">libcvautomation.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>matchSubImage()
: <a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a()
: <a class="el" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a_center()
: <a class="el" href="libcvautomation-opencv_8h.html#ac936ccd391f6a7b9212d5ee0009d7cc1">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a_location()
: <a class="el" href="libcvautomation-opencv_8h.html#adc8768ffe81ab2778f9ee9ea61882090">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a_location_center()
: <a class="el" href="libcvautomation-opencv_8h.html#ad1a6791e1ab8ec5d456845bb2382b194">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_center()
: <a class="el" href="libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_location()
: <a class="el" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_location_center()
: <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>
</li>
<li>matchSubImage_X11_center()
: <a class="el" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68">libcvautomation-xlib.h</a>
</li>
<li>matchSubImage_X11_location()
: <a class="el" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a">libcvautomation-xlib.h</a>
</li>
<li>matchSubImage_X11_location_center()
: <a class="el" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e">libcvautomation-xlib.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
<li>xte_clickKey()
: <a class="el" href="libcvautomation-xtest_8h.html#5ce1dbeb65bba1613e4e6619857b1746">libcvautomation-xtest.h</a><li>xte_clickKeyStr()
: <a class="el" href="libcvautomation-xtest_8h.html#b327a24f45f673a4aeab6dfb7b9e411a">libcvautomation-xtest.h</a><li>xte_clickMouse()
: <a class="el" href="libcvautomation-xtest_8h.html#e795b36e13508632ae69e9141dbd9b71">libcvautomation-xtest.h</a><li>xte_clickMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#42e82ace64c71fb6cf247ac16ee95da1">libcvautomation-xtest.h</a><li>xte_clickMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#a8f71206992c631e8e2827424b3d6090">libcvautomation-xtest.h</a><li>xte_clickMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#db6d976b6b4849a295e02aac2567fa86">libcvautomation-xtest.h</a><li>xte_clickMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#25b98d2e0780ae8f8afc152e620ceaaf">libcvautomation-xtest.h</a><li>xte_clickMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#94f3c779c24b95d5fb743787a507d49e">libcvautomation-xtest.h</a><li>xte_clickMouseXY()
: <a class="el" href="libcvautomation-xtest_8h.html#88f51bec45b626f4bf2f1eaf0eb2b570">libcvautomation-xtest.h</a><li>xte_commandString()
: <a class="el" href="libcvautomation-xtest_8h.html#382af05e5669ea2cbb22608e41cbc49a">libcvautomation-xtest.h</a><li>xte_hoverMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#8827d93f5299e4aa99acc7c2c1d398c4">libcvautomation-xtest.h</a><li>xte_hoverMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#9e8b30c7b59467dba853e467153123db">libcvautomation-xtest.h</a><li>xte_hoverMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#217328d995073752cd182098f18b3397">libcvautomation-xtest.h</a><li>xte_hoverMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#2b16677d20493c1c4f96c6e43b3fc0b7">libcvautomation-xtest.h</a><li>xte_hoverMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#8bb400fb20f4416f6f93465935a76be2">libcvautomation-xtest.h</a><li>xte_hoverMouseXY()
: <a class="el" href="libcvautomation-xtest_8h.html#dcc93e8aa9a0fd445c3c1971e35e194b">libcvautomation-xtest.h</a><li>xte_keyDown()
: <a class="el" href="libcvautomation-xtest_8h.html#04ded64c2bd31804cc109502530890c0">libcvautomation-xtest.h</a><li>xte_keyUp()
: <a class="el" href="libcvautomation-xtest_8h.html#574402ddf94858b340254a4e444fa404">libcvautomation-xtest.h</a><li>xte_mouseDown()
: <a class="el" href="libcvautomation-xtest_8h.html#09ef864a45f24c7f682c96368a62be4d">libcvautomation-xtest.h</a><li>xte_mouseJiggle()
: <a class="el" href="libcvautomation-xtest_8h.html#2431de2ae4b296a9a91da6e20250a67b">libcvautomation-xtest.h</a><li>xte_mouseUp()
: <a class="el" href="libcvautomation-xtest_8h.html#68a7da112f124b61799162923657116a">libcvautomation-xtest.h</a><li>xte_pointerLocation()
: <a class="el" href="libcvautomation-xtest_8h.html#6b2aaf7275e7671691ff9e09d3365bdb">libcvautomation-xtest.h</a><li>xte_XTestSupported()
: <a class="el" href="libcvautomation-xtest_8h.html#d054a30613fdebf388218ce7c7ba8eaa">libcvautomation-xtest.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
: <a class="el" href="libcvautomation-xtest_8h.html#aa5d0f5167ac455ac88d063450b8aaac6">libcvautomation-xtest.h</a>
</li>
<li>xte_clickKeyStr()
: <a class="el" href="libcvautomation-xtest_8h.html#a1411973d9245ac1d610988a965ceb5a7">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouse()
: <a class="el" href="libcvautomation-xtest_8h.html#a8a95419cacd3a0efbd4bb6274567e284">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#afa808d82bff7531af99d20b5397f4810">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#aa167cd70fe8284dbccbbd42cd4878b3e">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#aa8e0c08cbca4f2863c4feda535c34bf5">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#a40ca9d0d71b8f7cc513c27a9b0171995">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#a54df9f6d2278b6c840299f1f8ff94576">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseXY()
: <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>
</li>
<li>xte_hoverMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#a657631e704e31818b42587ef50724930">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#a72f049ae7ade76344e47d01ba451e8f1">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#ad274843eaaed7af192f09310caa9e5b2">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#acdcc9eb1e6633458ebb6ec0c7b57ba26">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#ab86c2de782d401599652f2856f311aad">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseXY()
: <a class="el" href="libcvautomation-xtest_8h.html#a16e54e500caa43ab825a2039be9aabf9">libcvautomation-xtest.h</a>
</li>
<li>xte_keyDown()
: <a class="el" href="libcvautomation-xtest_8h.html#ad1d7153af9ed5cb2ba3b6d2a89c4ec75">libcvautomation-xtest.h</a>
</li>
<li>xte_keyUp()
: <a class="el" href="libcvautomation-xtest_8h.html#a6af5c14f862dd91fec682fde44a10e23">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseDown()
: <a class="el" href="libcvautomation-xtest_8h.html#acca8cce58009ce177265bea29e8223e8">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseJiggle()
: <a class="el" href="libcvautomation-xtest_8h.html#ad4a4b4739bf494478dccb520d6946fbd">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseScrollDown()
: <a class="el" href="libcvautomation-xtest_8h.html#a9630d64e7c2e9206c88e61c0cf8813db">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseScrollUp()
: <a class="el" href="libcvautomation-xtest_8h.html#a18f5cc7307329ce2e13ceb25b274822b">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseUp()
: <a class="el" href="libcvautomation-xtest_8h.html#a317610586ac31c5c501290099b7ebf63">libcvautomation-xtest.h</a>
</li>
<li>xte_pointerLocation()
: <a class="el" href="libcvautomation-xtest_8h.html#afe460d54f6977c431d1c37d42b0264be">libcvautomation-xtest.h</a>
</li>
<li>xte_XTestSupported()
: <a class="el" href="libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4">libcvautomation-xtest.h</a>
</li>
</ul>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,50 +1,130 @@
<!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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;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><a href="globals_type.html"><span>Typedefs</span></a></li>
<li id="current"><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
<!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: File Members</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
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
&nbsp;
<p>
<ul>
<!-- 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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>COMMAND_STR_LEN
: <a class="el" href="libcvautomation-xtest_8h.html#066e8fa570bba320a3c0a0d44f7e5c4d">libcvautomation-xtest.h</a><li>IS_CMD
: <a class="el" href="libcvautomation-xtest_8h.html#3409a0d4da000192a6561485e1288dfc">libcvautomation-xtest.h</a><li>LIBCVAUTOMATION_BUGREPORT
: <a class="el" href="libcvautomation_8h.html#064f2ecb9f4013fd636368d0dd59e453">libcvautomation.h</a><li>LIBCVAUTOMATION_VERSION
: <a class="el" href="libcvautomation_8h.html#6b6ab32b9a55421b91988946b2180bd0">libcvautomation.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
: <a class="el" href="libcvautomation-xtest_8h.html#a17af6c2b164a04cae831df5fb93836f6">libcvautomation-xtest.h</a>
</li>
<li>IS_CMD
: <a class="el" href="libcvautomation-xtest_8h.html#ae9d8d80e438d68a6c57c02d7217df1bd">libcvautomation-xtest.h</a>
</li>
<li>LIBCVAUTOMATION_BUGREPORT
: <a class="el" href="libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe">libcvautomation.h</a>
</li>
<li>LIBCVAUTOMATION_VERSION
: <a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">libcvautomation.h</a>
</li>
</ul>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,102 +1,252 @@
<!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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_x"><span>x</span></a></li>
</ul>
<!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: File Members</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
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>
&nbsp;
<p>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>checkXTEEnabled()
: <a class="el" href="cva-input_8c.html#21a0cec68b592a986793eb77804e776f">cva-input.c</a><li>cvaCloseDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#1c8a205c0b2f4f7a28d1ce51d5225871">libcvautomation-xlib.h</a><li>cvaOpenDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#a6e348c2e829e1addb446160f54723a0">libcvautomation-xlib.h</a></ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>main()
: <a class="el" href="cva-match_8c.html#24e6ce6d053864cf5fb7af941457bb0e">cva-match.c</a>, <a class="el" href="cva-input_8c.html#24e6ce6d053864cf5fb7af941457bb0e">cva-input.c</a><li>matchSubImage()
: <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">libcvautomation-opencv.h</a><li>matchSubImage_a()
: <a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">libcvautomation-opencv.h</a><li>matchSubImage_a_center()
: <a class="el" href="libcvautomation-opencv_8h.html#08ee04814a6cf9abde0bfa6e8baf71de">libcvautomation-opencv.h</a><li>matchSubImage_a_location()
: <a class="el" href="libcvautomation-opencv_8h.html#22a093abc57d2a5123cb50c2dc6e7dd2">libcvautomation-opencv.h</a><li>matchSubImage_a_location_center()
: <a class="el" href="libcvautomation-opencv_8h.html#4b591c5b0a520f3d2c41345f9cd92fa5">libcvautomation-opencv.h</a><li>matchSubImage_center()
: <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">libcvautomation-opencv.h</a><li>matchSubImage_location()
: <a class="el" href="libcvautomation-opencv_8h.html#c0d3066da6b2d42251c876d12a7158c7">libcvautomation-opencv.h</a><li>matchSubImage_location_center()
: <a class="el" href="libcvautomation-opencv_8h.html#bed7c891adb272993912d973c0e08c27">libcvautomation-opencv.h</a><li>matchSubImage_X11()
: <a class="el" href="libcvautomation-xlib_8h.html#8fbf1f5f968670a03c4c8e31f5afdaed">libcvautomation-xlib.h</a><li>matchSubImage_X11_center()
: <a class="el" href="libcvautomation-xlib_8h.html#fb70c8eec779a6696b3df5af5bca1a6d">libcvautomation-xlib.h</a><li>matchSubImage_X11_location()
: <a class="el" href="libcvautomation-xlib_8h.html#d238842448af81c09f56d1d54253c1b5">libcvautomation-xlib.h</a><li>matchSubImage_X11_location_center()
: <a class="el" href="libcvautomation-xlib_8h.html#b441627acd22889f404d89c9cc4809f5">libcvautomation-xlib.h</a></ul>
<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
<li>usage()
: <a class="el" href="cva-input_8c.html#76233dfb0e07a4db25a86e8688302693">cva-input.c</a></ul>
<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
<!-- 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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_x"><span>x</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>cvaCloseDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a">libcvautomation-xlib.h</a>
</li>
<li>cvaOpenDisplay()
: <a class="el" href="libcvautomation-xlib_8h.html#a575e80fc9cf076026e127a57888423d4">libcvautomation-xlib.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>matchSubImage()
: <a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a()
: <a class="el" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a_center()
: <a class="el" href="libcvautomation-opencv_8h.html#ac936ccd391f6a7b9212d5ee0009d7cc1">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a_location()
: <a class="el" href="libcvautomation-opencv_8h.html#adc8768ffe81ab2778f9ee9ea61882090">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_a_location_center()
: <a class="el" href="libcvautomation-opencv_8h.html#ad1a6791e1ab8ec5d456845bb2382b194">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_center()
: <a class="el" href="libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_location()
: <a class="el" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43">libcvautomation-opencv.h</a>
</li>
<li>matchSubImage_location_center()
: <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>
</li>
<li>matchSubImage_X11_center()
: <a class="el" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68">libcvautomation-xlib.h</a>
</li>
<li>matchSubImage_X11_location()
: <a class="el" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a">libcvautomation-xlib.h</a>
</li>
<li>matchSubImage_X11_location_center()
: <a class="el" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e">libcvautomation-xlib.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
<li>xte_clickKey()
: <a class="el" href="libcvautomation-xtest_8h.html#5ce1dbeb65bba1613e4e6619857b1746">libcvautomation-xtest.h</a><li>xte_clickKeyStr()
: <a class="el" href="libcvautomation-xtest_8h.html#b327a24f45f673a4aeab6dfb7b9e411a">libcvautomation-xtest.h</a><li>xte_clickMouse()
: <a class="el" href="libcvautomation-xtest_8h.html#e795b36e13508632ae69e9141dbd9b71">libcvautomation-xtest.h</a><li>xte_clickMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#42e82ace64c71fb6cf247ac16ee95da1">libcvautomation-xtest.h</a><li>xte_clickMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#a8f71206992c631e8e2827424b3d6090">libcvautomation-xtest.h</a><li>xte_clickMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#db6d976b6b4849a295e02aac2567fa86">libcvautomation-xtest.h</a><li>xte_clickMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#25b98d2e0780ae8f8afc152e620ceaaf">libcvautomation-xtest.h</a><li>xte_clickMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#94f3c779c24b95d5fb743787a507d49e">libcvautomation-xtest.h</a><li>xte_clickMouseXY()
: <a class="el" href="libcvautomation-xtest_8h.html#88f51bec45b626f4bf2f1eaf0eb2b570">libcvautomation-xtest.h</a><li>xte_commandString()
: <a class="el" href="libcvautomation-xtest_8h.html#382af05e5669ea2cbb22608e41cbc49a">libcvautomation-xtest.h</a><li>xte_hoverMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#8827d93f5299e4aa99acc7c2c1d398c4">libcvautomation-xtest.h</a><li>xte_hoverMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#9e8b30c7b59467dba853e467153123db">libcvautomation-xtest.h</a><li>xte_hoverMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#217328d995073752cd182098f18b3397">libcvautomation-xtest.h</a><li>xte_hoverMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#2b16677d20493c1c4f96c6e43b3fc0b7">libcvautomation-xtest.h</a><li>xte_hoverMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#8bb400fb20f4416f6f93465935a76be2">libcvautomation-xtest.h</a><li>xte_hoverMouseXY()
: <a class="el" href="libcvautomation-xtest_8h.html#dcc93e8aa9a0fd445c3c1971e35e194b">libcvautomation-xtest.h</a><li>xte_keyDown()
: <a class="el" href="libcvautomation-xtest_8h.html#04ded64c2bd31804cc109502530890c0">libcvautomation-xtest.h</a><li>xte_keyUp()
: <a class="el" href="libcvautomation-xtest_8h.html#574402ddf94858b340254a4e444fa404">libcvautomation-xtest.h</a><li>xte_mouseDown()
: <a class="el" href="libcvautomation-xtest_8h.html#09ef864a45f24c7f682c96368a62be4d">libcvautomation-xtest.h</a><li>xte_mouseJiggle()
: <a class="el" href="libcvautomation-xtest_8h.html#2431de2ae4b296a9a91da6e20250a67b">libcvautomation-xtest.h</a><li>xte_mouseUp()
: <a class="el" href="libcvautomation-xtest_8h.html#68a7da112f124b61799162923657116a">libcvautomation-xtest.h</a><li>xte_pointerLocation()
: <a class="el" href="libcvautomation-xtest_8h.html#6b2aaf7275e7671691ff9e09d3365bdb">libcvautomation-xtest.h</a><li>xte_XTestSupported()
: <a class="el" href="libcvautomation-xtest_8h.html#d054a30613fdebf388218ce7c7ba8eaa">libcvautomation-xtest.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
: <a class="el" href="libcvautomation-xtest_8h.html#aa5d0f5167ac455ac88d063450b8aaac6">libcvautomation-xtest.h</a>
</li>
<li>xte_clickKeyStr()
: <a class="el" href="libcvautomation-xtest_8h.html#a1411973d9245ac1d610988a965ceb5a7">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouse()
: <a class="el" href="libcvautomation-xtest_8h.html#a8a95419cacd3a0efbd4bb6274567e284">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#afa808d82bff7531af99d20b5397f4810">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#aa167cd70fe8284dbccbbd42cd4878b3e">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#aa8e0c08cbca4f2863c4feda535c34bf5">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#a40ca9d0d71b8f7cc513c27a9b0171995">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#a54df9f6d2278b6c840299f1f8ff94576">libcvautomation-xtest.h</a>
</li>
<li>xte_clickMouseXY()
: <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>
</li>
<li>xte_hoverMouseImage()
: <a class="el" href="libcvautomation-xtest_8h.html#a657631e704e31818b42587ef50724930">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseImage_center()
: <a class="el" href="libcvautomation-xtest_8h.html#a72f049ae7ade76344e47d01ba451e8f1">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseImage_location()
: <a class="el" href="libcvautomation-xtest_8h.html#ad274843eaaed7af192f09310caa9e5b2">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseImage_location_center()
: <a class="el" href="libcvautomation-xtest_8h.html#acdcc9eb1e6633458ebb6ec0c7b57ba26">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseRXY()
: <a class="el" href="libcvautomation-xtest_8h.html#ab86c2de782d401599652f2856f311aad">libcvautomation-xtest.h</a>
</li>
<li>xte_hoverMouseXY()
: <a class="el" href="libcvautomation-xtest_8h.html#a16e54e500caa43ab825a2039be9aabf9">libcvautomation-xtest.h</a>
</li>
<li>xte_keyDown()
: <a class="el" href="libcvautomation-xtest_8h.html#ad1d7153af9ed5cb2ba3b6d2a89c4ec75">libcvautomation-xtest.h</a>
</li>
<li>xte_keyUp()
: <a class="el" href="libcvautomation-xtest_8h.html#a6af5c14f862dd91fec682fde44a10e23">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseDown()
: <a class="el" href="libcvautomation-xtest_8h.html#acca8cce58009ce177265bea29e8223e8">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseJiggle()
: <a class="el" href="libcvautomation-xtest_8h.html#ad4a4b4739bf494478dccb520d6946fbd">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseScrollDown()
: <a class="el" href="libcvautomation-xtest_8h.html#a9630d64e7c2e9206c88e61c0cf8813db">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseScrollUp()
: <a class="el" href="libcvautomation-xtest_8h.html#a18f5cc7307329ce2e13ceb25b274822b">libcvautomation-xtest.h</a>
</li>
<li>xte_mouseUp()
: <a class="el" href="libcvautomation-xtest_8h.html#a317610586ac31c5c501290099b7ebf63">libcvautomation-xtest.h</a>
</li>
<li>xte_pointerLocation()
: <a class="el" href="libcvautomation-xtest_8h.html#afe460d54f6977c431d1c37d42b0264be">libcvautomation-xtest.h</a>
</li>
<li>xte_XTestSupported()
: <a class="el" href="libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4">libcvautomation-xtest.h</a>
</li>
</ul>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,44 +1,124 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: Libcvautomation</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 id="current"><a href="index.html"><span>Main&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1>Libcvautomation</h1>
<p>
<h3 align="center">1.2 </h3><dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>7/11/2012 </dd></dl>
<h2><a class="anchor" name="intro">
Introduction</a></h2>
Welcome to Libcvautomation! Libcvautomation is a GUI automation and testing tool based on image recognition and response. This program was designed as a direct replacement for <a href="http://sikuli.org">Sikuli</a> and <a href="https://wiki.ubuntu.com/Xpresser">Xpresser</a>. I was having incredible difficulty getting either of these solutions to work - Sikuli would crash whenever I tried to take a screenshot, and Xpresser was both too new for our RHEL 5 systems, but also died, or didn't work, or something else. I really liked the way each of these programs approached GUI automation, but they simply didn't work. Additionally, I wanted to create a simple solution - it does what you want it to, and that's it. <h2><a class="anchor" name="how_it_works">
How Libcvautomation Works</a></h2>
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#8fbf1f5f968670a03c4c8e31f5afdaed">matchSubImage_X11()</a> that allow you to match an image against the X11 root window in place. This means no more <code>'xwd | convert "&lt;out_name&gt;"'</code>. <h2><a class="anchor" name="using">
Using Libcvautomation</a></h2>
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>
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. <h2><a class="anchor" name="questions">
Questions? Comments? Concerns?</a></h2>
Please send any feedback to &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt;. Pull requests can be submitted to <a href="https://github.com/DjBushido/cvautomation">my github repository</a>. <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
<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
&#160;<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 class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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="header">
<div class="headertitle">
<div class="title">Libcvautomation </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
<h2><a class="anchor" id="intro"></a>
Introduction</h2>
<p>Welcome to Libcvautomation! Libcvautomation is a GUI automation and testing tool based on image recognition and response. This program was designed as a direct replacement for <a href="http://sikuli.org">Sikuli</a> and <a href="https://wiki.ubuntu.com/Xpresser">Xpresser</a>. I was having incredible difficulty getting either of these solutions to work - Sikuli would crash whenever I tried to take a screenshot, and Xpresser was both too new for our Prominent North American Enterprise Linux systems, but also didn't work or <code>import</code> correctly. I really liked the way each of these programs approached GUI automation, but they simply didn't work. Additionally, I wanted to create a simple solution - it does what you want it to, and that's it. </p>
<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 "&lt;out_name&gt;"'</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/>
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>
<p>Please send any feedback to &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt;. Pull requests can be submitted to <a href="https://github.com/DjBushido/libcvautomation">my github repository</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -3,12 +3,6 @@
%subst = ( );
$quiet = 0;
if (open(F,"search.cfg"))
{
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
}
while ( @ARGV ) {
$_ = shift @ARGV;
if ( s/^-// ) {
@ -53,7 +47,7 @@ foreach $sub (keys %subst)
}
elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" )
{
print "Substituting $subst{$sub} for each occurence of tag file $sub\n";
print "Substituting $subst{$sub} for each occurrence of tag file $sub\n";
}
}
@ -63,7 +57,8 @@ if ( ! @files ) {
$match = ".html";
next if ( $file =~ /^\.\.?$/ );
($file =~ /$match/) && (push @files, $file);
($file =~ "tree.js") && (push @files, $file);
($file =~ /\.svg/) && (push @files, $file);
($file =~ "navtree.js") && (push @files, $file);
}
closedir(D);
}
@ -91,7 +86,7 @@ foreach $f (@files)
}
if ($oldf ne "tree.js") {
while (<F>) {
s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g;
s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (xlink:href|href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g;
print G "$_";
}
}

64
jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,58 +1,150 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: Libcv Search Methods</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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1><a class="anchor" name="libcv_search_methods">Libcv Search Methods</a></h1>This page describes the methods libcv uses to search for a sub image in a root image. <h2><a class="anchor" name="tolerance">
Tolerance Values</a></h2>
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>
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. <dl compact><dt><b>Note:</b></dt><dd>The formula for calculating the sane tolerance is: <img class="formulaInl" alt="$ T(x) = (10^{\frac{\log{INT\_MAX}}{\lambda}})^x $" src="form_0.png"> where <img class="formulaInl" alt="$ \lambda $" src="form_1.png"> 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 compact><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>
<h2><a class="anchor" name="SQDIFF">
Squared Difference</a></h2>
<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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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="header">
<div class="headertitle">
<div class="title">Libcv Search Methods </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This page describes the methods libcv uses to search for a sub image in a root image. </p>
<h2><a class="anchor" id="tolerance"></a>
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>
<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>
</pre></div> Squared Difference is the default search method used by <code>libcvautomation</code>, as well as <code>cva-match</code> and <code>cva-input</code>. <dl compact><dt><b>For this method, setting a low tolerance value results in a more strict match.</b></dt><dd></dd></dl>
Formula: <img class="formulaInl" alt="$R(x,y) = \sum_{x',y'} (T(x',y') - I(x + x', y+y'))^2 $" src="form_2.png"><h2><a class="anchor" name="SQDIFF_NORMED">
Squared Difference (Normalized)</a></h2>
</pre></div><p> Squared Difference is the default search method used by <code>libcvautomation</code>, as well as <code>cva-match</code> and <code>cva-input</code>. </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) = \sum_{x&#39;,y&#39;} (T(x&#39;,y&#39;) - I(x + x&#39;, y+y&#39;))^2 \)</p>
<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> This is a normalized version of the <a class="el" href="libcv_search_methods.html#SQDIFF">Squared Difference</a> search method. <dl compact><dt><b>For this method, setting a low tolerance value results in a more strict match.</b></dt><dd></dd></dl>
Formula: <img class="formulaInl" alt="$ 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}} $" src="form_3.png"><h2><a class="anchor" name="CCORR">
Cross Correlation</a></h2>
</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>
<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&#39;,y&#39;}(T(x&#39;,y&#39;) - I(x + x&#39;, y + y&#39;))^2}{ \sqrt{\sum_{x&#39;,y&#39;}T(x&#39;,y&#39;)^2 \cdot \sum_{x&#39;,y&#39;}I(x + x&#39;, y + y&#39;)^2}} \)</p>
<h2><a class="anchor" id="CCORR"></a>
Cross Correlation</h2>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #define CV_TM_CCORR 2 </span>
</pre></div> This is the Cross Correlation search method. <dl compact><dt><b>For this method, setting a high tolerance value results in a more strict match.</b></dt><dd></dd></dl>
Formula: <img class="formulaInl" alt="$ R(x,y)= \sum _{x',y'} (T(x',y') \cdot I(x+x',y+y')) $" src="form_4.png"><h2><a class="anchor" name="CCORR_NORMED">
Cross Correlation (Normalized)</a></h2>
</pre></div><p> This is the Cross Correlation 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)= \sum _{x&#39;,y&#39;} (T(x&#39;,y&#39;) \cdot I(x+x&#39;,y+y&#39;)) \)</p>
<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> This is the normalized version of the <a class="el" href="libcv_search_methods.html#CCORR">Cross Correlation</a> search method. <dl compact><dt><b>For this method, setting a high tolerance value results in a more strict match.</b></dt><dd></dd></dl>
Formula: <img class="formulaInl" alt="$ 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}} $" src="form_5.png"><h2><a class="anchor" name="CCOEFF">
Correlation Coefficient</a></h2>
</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>
<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&#39;,y&#39;} (T(x&#39;,y&#39;) \cdot I&#39;(x+x&#39;,y+y&#39;))}{\sqrt{\sum_{x&#39;,y&#39;}T(x&#39;,y&#39;)^2 \cdot \sum_{x&#39;,y&#39;} I(x+x&#39;,y+y&#39;)^2}} \)</p>
<h2><a class="anchor" id="CCOEFF"></a>
Correlation Coefficient</h2>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #define CV_TM_CCOEFF 4 </span>
</pre></div> This is the Correlation Coefficient search method. <dl compact><dt><b>For this method, setting a high tolerance value results in a more strict match.</b></dt><dd></dd></dl>
Formula: <img class="formulaInl" alt="$ R(x,y)= \sum _{x',y'} (T'(x',y') \cdot I(x+x',y+y')) $" src="form_6.png"> where: <img class="formulaInl" alt="$ \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} $" src="form_7.png"><h2><a class="anchor" name="CCOEFF_NORMED">
Correlation Coefficient (Normalized)</a></h2>
</pre></div><p> This is the Correlation Coefficient 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)= \sum _{x&#39;,y&#39;} (T&#39;(x&#39;,y&#39;) \cdot I(x+x&#39;,y+y&#39;)) \) where: \( \begin{array}{l} T&#39;(x&#39;,y&#39;)=T(x&#39;,y&#39;) - 1/(w \cdot h) \cdot \sum _{x&#39;&#39;,y&#39;&#39;} T(x&#39;&#39;,y&#39;&#39;) \\ I&#39;(x+x&#39;,y+y&#39;)=I(x+x&#39;,y+y&#39;) - 1/(w \cdot h) \cdot \sum _{x&#39;&#39;,y&#39;&#39;} I(x+x&#39;&#39;,y+y&#39;&#39;) \end{array} \)</p>
<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> This is the normalized version of the <a class="el" href="libcv_search_methods.html#CCOEFF">Correlation Coefficient</a> search method. <dl compact><dt><b>For this method, setting a high tolerance value results in a more strict match.</b></dt><dd></dd></dl>
Formula: <img class="formulaInl" alt="$ 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} } $" src="form_8.png"> <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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>
<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&#39;,y&#39;} (T&#39;(x&#39;,y&#39;) \cdot I&#39;(x+x&#39;,y+y&#39;)) }{ \sqrt{\sum_{x&#39;,y&#39;}T&#39;(x&#39;,y&#39;)^2 \cdot \sum_{x&#39;,y&#39;} I&#39;(x+x&#39;,y+y&#39;)^2} } \) </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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,475 +1,542 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: libcvautomation-opencv.h File 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>libcvautomation-opencv.h File Reference</h1>The source code to access libcv from inside libcvautomation. <a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="libcvautomation_8h-source.html">libcvautomation/libcvautomation.h</a>&gt;</code><br>
<p>
<a href="libcvautomation-opencv_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage</a> (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)</td></tr>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the location of a sub image in its root image. <a href="#297b9b5b22f77b65308d4057cff845f7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center</a> (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)</td></tr>
<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>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the center of a sub image in its root image, rather than the top-left corner. <a href="#5bf9db7dfc5674e40180937b0c7787f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#c0d3066da6b2d42251c876d12a7158c7">matchSubImage_location</a> (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)</td></tr>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the location of a sub image in its root image. <a href="#c0d3066da6b2d42251c876d12a7158c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#bed7c891adb272993912d973c0e08c27">matchSubImage_location_center</a> (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the center of a sub image in its root image, rather than the top-left corner. <a href="#bed7c891adb272993912d973c0e08c27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">matchSubImage_a</a> (IplImage *rootImage, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage()</a>. <a href="#994981e2d31d5fb62fc3b227e36ebf87"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#08ee04814a6cf9abde0bfa6e8baf71de">matchSubImage_a_center</a> (IplImage *rootImage, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center()</a>. <a href="#08ee04814a6cf9abde0bfa6e8baf71de"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#22a093abc57d2a5123cb50c2dc6e7dd2">matchSubImage_a_location</a> (const char *rootImageFileName, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage()</a>. <a href="#22a093abc57d2a5123cb50c2dc6e7dd2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#4b591c5b0a520f3d2c41345f9cd92fa5">matchSubImage_a_location_center</a> (const char *rootImageFileName, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center()</a>. <a href="#4b591c5b0a520f3d2c41345f9cd92fa5"></a><br></td></tr>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcvautomation
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The source code to access libcv from inside libcvautomation.
<p>
This source file builds in the necessary functionality to use libcv functions inside libcvautomation. <dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>6/21/2012 </dd></dl>
</div>
<p>
Definition in file <a class="el" href="libcvautomation-opencv_8h-source.html">libcvautomation-opencv.h</a>.<hr><h2>Function Documentation</h2>
<a class="anchor" name="297b9b5b22f77b65308d4057cff845f7"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage" ref="297b9b5b22f77b65308d4057cff845f7" args="(IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)" -->
<!-- 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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;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">libcvautomation-opencv.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The source code to access libcv from inside libcvautomation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="libcvautomation_8h_source.html">libcvautomation/libcvautomation.h</a>&gt;</code><br/>
</div>
<p><a href="libcvautomation-opencv_8h_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">CvPoint&#160;</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">&#160;</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&#160;</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">&#160;</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&#160;</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">&#160;</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&#160;</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">&#160;</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&#160;</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">&#160;</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>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#ac936ccd391f6a7b9212d5ee0009d7cc1">matchSubImage_a_center</a> (IplImage *rootImage, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse an array of sub images and send them to <a class="el" 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> <a href="#ac936ccd391f6a7b9212d5ee0009d7cc1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#adc8768ffe81ab2778f9ee9ea61882090">matchSubImage_a_location</a> (const char *rootImageFileName, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
<tr><td class="mdescLeft">&#160;</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="#adc8768ffe81ab2778f9ee9ea61882090"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-opencv_8h.html#ad1a6791e1ab8ec5d456845bb2382b194">matchSubImage_a_location_center</a> (const char *rootImageFileName, <a class="el" href="structcvautomationList.html">cvautomationList</a> *subImageArray, int listSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse an array of sub images and send them to <a class="el" 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> <a href="#ad1a6791e1ab8ec5d456845bb2382b194"></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 libcv from inside libcvautomation. </p>
<p>This source file builds in the necessary functionality to use libcv functions inside libcvautomation. </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>
<p>Definition in file <a class="el" href="libcvautomation-opencv_8h_source.html">libcvautomation-opencv.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="ad37dfe0e025507d2437ea297232e8265"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage" ref="ad37dfe0e025507d2437ea297232e8265" args="(IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CvPoint matchSubImage </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265">matchSubImage</a> </td>
<td>(</td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>rootImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>rootImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>subImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>subImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the location of a sub image in its root image.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage</em>&nbsp;</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage</em>&nbsp;</td><td>The sub image (in IplImage format) to search for in <code>rootImage</code> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<p>Return the location of a sub image in its root image. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td class="paramname">subImage</td><td>The sub image (in IplImage format) to search for in <code>rootImage</code> </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="libcv_search_methods.html">Libcv Search Methods</a> </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The location of the sub image in root image </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="return"><dt><b>Returns:</b></dt><dd>The location of the sub image in root image </dd></dl>
</div>
</div><p>
<a class="anchor" name="5bf9db7dfc5674e40180937b0c7787f3"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage_center" ref="5bf9db7dfc5674e40180937b0c7787f3" args="(IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)" -->
</div>
<a class="anchor" id="a0f847f63a736bddcc78ebf857be0813f"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage_center" ref="a0f847f63a736bddcc78ebf857be0813f" args="(IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CvPoint matchSubImage_center </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-opencv_8h.html#a0f847f63a736bddcc78ebf857be0813f">matchSubImage_center</a> </td>
<td>(</td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>rootImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>rootImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>subImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>subImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the center of a sub image in its root image, rather than the top-left corner.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage</em>&nbsp;</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage</em>&nbsp;</td><td>The sub image (in IplImage format) to search for in <code>rootImage</code> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<p>Return the center of a sub image in its root image, rather than the top-left corner. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td class="paramname">subImage</td><td>The sub image (in IplImage format) to search for in <code>rootImage</code> </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The center location of the sub image in root image </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="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in root image </dd></dl>
</div>
</div><p>
<a class="anchor" name="c0d3066da6b2d42251c876d12a7158c7"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage_location" ref="c0d3066da6b2d42251c876d12a7158c7" args="(const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)" -->
</div>
<a class="anchor" id="a938c40be84667f64b51c8f1fa3725b43"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage_location" ref="a938c40be84667f64b51c8f1fa3725b43" args="(const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CvPoint matchSubImage_location </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43">matchSubImage_location</a> </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>rootImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>rootImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>subImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>subImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the location of a sub image in its root image.
<p>
The difference that this function has over <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage()</a> is that <em>rootImage_location</em> and <em>subImage_location</em> are from files, rather than an IplImage format image. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage_location</em>&nbsp;</td><td>The location of the root image </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage_location</em>&nbsp;</td><td>The location of the sub image to search for in <code>rootImage</code> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<p>Return the location of a sub image in its root image. </p>
<p>The difference that this function has over <a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265" title="Return the location of a sub image in its root image.">matchSubImage()</a> is that <em>rootImage_location</em> and <em>subImage_location</em> are from files, rather than an IplImage format image. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage_location</td><td>The location of the root image </td></tr>
<tr><td class="paramname">subImage_location</td><td>The location of the sub image to search for in <code>rootImage</code> </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The location of the sub image in root image </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="return"><dt><b>Returns:</b></dt><dd>The location of the sub image in root image </dd></dl>
<p>
Referenced by <a class="el" href="cva-match_8c-source.html#l00035">main()</a>.
</div>
</div><p>
<a class="anchor" name="bed7c891adb272993912d973c0e08c27"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage_location_center" ref="bed7c891adb272993912d973c0e08c27" args="(const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)" -->
</div>
<a class="anchor" id="a0403ac35c77946e86f6436fd891fa6ac"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage_location_center" ref="a0403ac35c77946e86f6436fd891fa6ac" args="(const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CvPoint matchSubImage_location_center </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-opencv_8h.html#a0403ac35c77946e86f6436fd891fa6ac">matchSubImage_location_center</a> </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>rootImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>rootImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>subImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>subImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the center of a sub image in its root image, rather than the top-left corner.
<p>
The difference that this function has over <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center()</a> is that <em>rootImage_location</em> and <em>subImage_location</em> are from files, rather than an IplImage format image. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage_location</em>&nbsp;</td><td>The location of the root image </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage_location</em>&nbsp;</td><td>The location of the sub image to search for in <code>rootImage</code> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<p>Return the center of a sub image in its root image, rather than the top-left corner. </p>
<p>The difference that this function has over <a class="el" 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> is that <em>rootImage_location</em> and <em>subImage_location</em> are from files, rather than an IplImage format image. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage_location</td><td>The location of the root image </td></tr>
<tr><td class="paramname">subImage_location</td><td>The location of the sub image to search for in <code>rootImage</code> </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in <code>rootImage</code>. </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The center location of the sub image in root image </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="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in root image </dd></dl>
<p>
Referenced by <a class="el" href="cva-match_8c-source.html#l00035">main()</a>.
</div>
</div><p>
<a class="anchor" name="994981e2d31d5fb62fc3b227e36ebf87"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage_a" ref="994981e2d31d5fb62fc3b227e36ebf87" args="(IplImage *rootImage, cvautomationList *subImageArray, int listSize)" -->
</div>
<a class="anchor" id="a3facf18280800537b7b7694b5cd731cf"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage_a" ref="a3facf18280800537b7b7694b5cd731cf" args="(IplImage *rootImage, cvautomationList *subImageArray, int listSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void matchSubImage_a </td>
<td class="memname">void <a class="el" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf">matchSubImage_a</a> </td>
<td>(</td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>rootImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>rootImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&nbsp;</td>
<td class="paramname"> <em>subImageArray</em>, </td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&#160;</td>
<td class="paramname"><em>subImageArray</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>listSize</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>listSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage()</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage</em>&nbsp;</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImageArray</em>&nbsp;</td><td>The sub image array to search for in <code>rootImage</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td valign="top"></td><td valign="top"><em>listSize</em>&nbsp;</td><td>The number of sub images to search for in subImageArray </td></tr>
<p>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> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td class="paramname">subImageArray</td><td>The sub image array to search for in <code>rootImage</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td class="paramname">listSize</td><td>The number of sub images to search for in subImageArray </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html">cvautomationList</a> </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
</div>
</div><p>
<a class="anchor" name="08ee04814a6cf9abde0bfa6e8baf71de"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage_a_center" ref="08ee04814a6cf9abde0bfa6e8baf71de" args="(IplImage *rootImage, cvautomationList *subImageArray, int listSize)" -->
</div>
<a class="anchor" id="ac936ccd391f6a7b9212d5ee0009d7cc1"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage_a_center" ref="ac936ccd391f6a7b9212d5ee0009d7cc1" args="(IplImage *rootImage, cvautomationList *subImageArray, int listSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void matchSubImage_a_center </td>
<td class="memname">void <a class="el" href="libcvautomation-opencv_8h.html#ac936ccd391f6a7b9212d5ee0009d7cc1">matchSubImage_a_center</a> </td>
<td>(</td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>rootImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>rootImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&nbsp;</td>
<td class="paramname"> <em>subImageArray</em>, </td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&#160;</td>
<td class="paramname"><em>subImageArray</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>listSize</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>listSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center()</a>.
<p>
Uses the <a class="el" href="structcvautomationList.html#7608e8c8e792f6d7432841c94016bd50">cvautomationList.cvaImage</a> parameter to find a <code>subImage</code> in <code>rootImage</code> <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage</em>&nbsp;</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImageArray</em>&nbsp;</td><td>The sub image array to search for in <code>rootImage</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td valign="top"></td><td valign="top"><em>listSize</em>&nbsp;</td><td>The number of sub images to search for in subImageArray </td></tr>
<p>Parse an array of sub images and send them to <a class="el" 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> </p>
<p>Uses the cvautomationList.cvaImage parameter to find a <code>subImage</code> in <code>rootImage</code> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage</td><td>The root image (in IplImage format) to search in </td></tr>
<tr><td class="paramname">subImageArray</td><td>The sub image array to search for in <code>rootImage</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td class="paramname">listSize</td><td>The number of sub images to search for in subImageArray </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html">cvautomationList</a> </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
</div>
</div><p>
<a class="anchor" name="22a093abc57d2a5123cb50c2dc6e7dd2"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage_a_location" ref="22a093abc57d2a5123cb50c2dc6e7dd2" args="(const char *rootImageFileName, cvautomationList *subImageArray, int listSize)" -->
</div>
<a class="anchor" id="adc8768ffe81ab2778f9ee9ea61882090"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage_a_location" ref="adc8768ffe81ab2778f9ee9ea61882090" args="(const char *rootImageFileName, cvautomationList *subImageArray, int listSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void matchSubImage_a_location </td>
<td class="memname">void <a class="el" href="libcvautomation-opencv_8h.html#adc8768ffe81ab2778f9ee9ea61882090">matchSubImage_a_location</a> </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>rootImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>rootImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&nbsp;</td>
<td class="paramname"> <em>subImageArray</em>, </td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&#160;</td>
<td class="paramname"><em>subImageArray</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>listSize</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>listSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage()</a>.
<p>
The difference between this and <a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">matchSubImage_a()</a> is that this uses a root image from filename, rather than from an IplImage format. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage_location</em>&nbsp;</td><td>The location of the root image </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImageArray</em>&nbsp;</td><td>The sub image array to search for in <code>rootImage_location</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td valign="top"></td><td valign="top"><em>listSize</em>&nbsp;</td><td>The number of sub images to search for in subImageArray </td></tr>
<p>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> </p>
<p>The difference between this and <a class="el" href="libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf" title="Parse an array of sub images and send them to matchSubImage()">matchSubImage_a()</a> is that this uses a root image from filename, rather than from an IplImage format. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage_location</td><td>The location of the root image </td></tr>
<tr><td class="paramname">subImageArray</td><td>The sub image array to search for in <code>rootImage_location</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td class="paramname">listSize</td><td>The number of sub images to search for in subImageArray </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html">cvautomationList</a> </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
</div>
</div><p>
<a class="anchor" name="4b591c5b0a520f3d2c41345f9cd92fa5"></a><!-- doxytag: member="libcvautomation-opencv.h::matchSubImage_a_location_center" ref="4b591c5b0a520f3d2c41345f9cd92fa5" args="(const char *rootImageFileName, cvautomationList *subImageArray, int listSize)" -->
</div>
<a class="anchor" id="ad1a6791e1ab8ec5d456845bb2382b194"></a><!-- doxytag: member="libcvautomation&#45;opencv.h::matchSubImage_a_location_center" ref="ad1a6791e1ab8ec5d456845bb2382b194" args="(const char *rootImageFileName, cvautomationList *subImageArray, int listSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void matchSubImage_a_location_center </td>
<td class="memname">void <a class="el" href="libcvautomation-opencv_8h.html#ad1a6791e1ab8ec5d456845bb2382b194">matchSubImage_a_location_center</a> </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>rootImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>rootImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&nbsp;</td>
<td class="paramname"> <em>subImageArray</em>, </td>
<td class="paramtype"><a class="el" href="structcvautomationList.html">cvautomationList</a> *&#160;</td>
<td class="paramname"><em>subImageArray</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>listSize</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>listSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parse an array of sub images and send them to <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center()</a>.
<p>
The difference that this function has over <a class="el" href="libcvautomation-opencv_8h.html#08ee04814a6cf9abde0bfa6e8baf71de">matchSubImage_a_center()</a> is that <code>rootImage_location</code> is from a file <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rootImage_location</em>&nbsp;</td><td>The location of the root image </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImageArray</em>&nbsp;</td><td>The sub image array to search for in <code>rootImage_location</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td valign="top"></td><td valign="top"><em>listSize</em>&nbsp;</td><td>The number of sub images to search for in subImageArray </td></tr>
<p>Parse an array of sub images and send them to <a class="el" 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> </p>
<p>The difference that this function has over <a class="el" href="libcvautomation-opencv_8h.html#ac936ccd391f6a7b9212d5ee0009d7cc1" title="Parse an array of sub images and send them to matchSubImage_center()">matchSubImage_a_center()</a> is that <code>rootImage_location</code> is from a file </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rootImage_location</td><td>The location of the root image </td></tr>
<tr><td class="paramname">subImageArray</td><td>The sub image array to search for in <code>rootImage_location</code> - Note that the contents of <code>subImageArray</code> are modified during execution of this routine </td></tr>
<tr><td class="paramname">listSize</td><td>The number of sub images to search for in subImageArray </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html">cvautomationList</a> </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structcvautomationList.html" title="Implements a structure to build an array for methods like matchSubImage_a()">cvautomationList</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>This function returns void, and modifies the contents of subImageArray </dd></dl>
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -0,0 +1,170 @@
<!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: libcvautomation-opencv.h 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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">libcvautomation-opencv.h</div> </div>
</div><!--header-->
<div class="contents">
<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 &lt;<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>&gt;</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#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="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="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="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 );
<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#ac936ccd391f6a7b9212d5ee0009d7cc1" title="Parse an array of sub images and send them to matchSubImage_center()">matchSubImage_a_center</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 );
<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#adc8768ffe81ab2778f9ee9ea61882090" title="Parse an array of sub images and send them to matchSubImage()">matchSubImage_a_location</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImageFileName, <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 );
<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#ad1a6791e1ab8ec5d456845bb2382b194" title="Parse an array of sub images and send them to matchSubImage_center()">matchSubImage_a_location_center</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *rootImageFileName, <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 );
<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></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,341 +1,414 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: libcvautomation-xlib.h File 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>libcvautomation-xlib.h File Reference</h1>The source code to access Xlib from inside libcvautomation. <a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="libcvautomation_8h-source.html">libcvautomation/libcvautomation.h</a>&gt;</code><br>
<p>
<a href="libcvautomation-xlib_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">Display *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#a6e348c2e829e1addb446160f54723a0">cvaOpenDisplay</a> (char *displayName)</td></tr>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple wrapper for XOpenDisplay. <a href="#a6e348c2e829e1addb446160f54723a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#1c8a205c0b2f4f7a28d1ce51d5225871">cvaCloseDisplay</a> (Display *displayLocation)</td></tr>
<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>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple wrapper for XCloseDisplay. <a href="#1c8a205c0b2f4f7a28d1ce51d5225871"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#8fbf1f5f968670a03c4c8e31f5afdaed">matchSubImage_X11</a> (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)</td></tr>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the location of a sub image in the X11 root window. <a href="#8fbf1f5f968670a03c4c8e31f5afdaed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#fb70c8eec779a6696b3df5af5bca1a6d">matchSubImage_X11_center</a> (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the center of a sub image in root X11 window, rather than the top-left corner. <a href="#fb70c8eec779a6696b3df5af5bca1a6d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#d238842448af81c09f56d1d54253c1b5">matchSubImage_X11_location</a> (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the location of a sub image in the X11 root window. <a href="#d238842448af81c09f56d1d54253c1b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#b441627acd22889f404d89c9cc4809f5">matchSubImage_X11_location_center</a> (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the center of a sub image in the root X11 window, rather than the top-left corner. <a href="#b441627acd22889f404d89c9cc4809f5"></a><br></td></tr>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcvautomation
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The source code to access Xlib from inside libcvautomation.
<p>
This source file builds in the necessary functionality to use libcv functions inside libcvautomation. <dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>6/21/2012 </dd></dl>
</div>
<p>
Definition in file <a class="el" href="libcvautomation-xlib_8h-source.html">libcvautomation-xlib.h</a>.<hr><h2>Function Documentation</h2>
<a class="anchor" name="a6e348c2e829e1addb446160f54723a0"></a><!-- doxytag: member="libcvautomation-xlib.h::cvaOpenDisplay" ref="a6e348c2e829e1addb446160f54723a0" args="(char *displayName)" -->
<!-- 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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;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">libcvautomation-xlib.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The source code to access Xlib from inside libcvautomation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="libcvautomation_8h_source.html">libcvautomation/libcvautomation.h</a>&gt;</code><br/>
</div>
<p><a href="libcvautomation-xlib_8h_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">Display *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation-xlib_8h.html#a575e80fc9cf076026e127a57888423d4">cvaOpenDisplay</a> (char *displayName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple wrapper for XOpenDisplay. <a href="#a575e80fc9cf076026e127a57888423d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td><td class="mdescRight">Simple wrapper for XCloseDisplay. <a href="#a65ab3bc56b956970a6b3d31c624d464a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CvPoint&#160;</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">&#160;</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&#160;</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">&#160;</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&#160;</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">&#160;</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&#160;</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">&#160;</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>
</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>
<p>This source file builds in the necessary functionality to use xlib functions inside libcvautomation. </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>
<p>Definition in file <a class="el" href="libcvautomation-xlib_8h_source.html">libcvautomation-xlib.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a575e80fc9cf076026e127a57888423d4"></a><!-- doxytag: member="libcvautomation&#45;xlib.h::cvaOpenDisplay" ref="a575e80fc9cf076026e127a57888423d4" args="(char *displayName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Display * cvaOpenDisplay </td>
<td class="memname">Display * <a class="el" href="libcvautomation-xlib_8h.html#a575e80fc9cf076026e127a57888423d4">cvaOpenDisplay</a> </td>
<td>(</td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>displayName</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>displayName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Simple wrapper for XOpenDisplay.
<p>
Currently this function literally just passes off to XOpenDisplay, but is designed to be used in the future if extra functionality is needed. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>displayName</em>&nbsp;</td><td>The name of the display to open - '' is a valid name </td></tr>
<p>Simple wrapper for XOpenDisplay. </p>
<p>Currently this function literally just passes off to XOpenDisplay, but is designed to be used in the future if extra functionality is needed. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">displayName</td><td>The name of the display to open - '' is a valid name </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Pointer to the opened X11 Display </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the opened X11 Display </dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>You must open a display to use any functions. </dd>
<dd>
The program using this library is responsible to close the display as well. </dd></dl>
</div>
</div><p>
<a class="anchor" name="1c8a205c0b2f4f7a28d1ce51d5225871"></a><!-- doxytag: member="libcvautomation-xlib.h::cvaCloseDisplay" ref="1c8a205c0b2f4f7a28d1ce51d5225871" args="(Display *displayLocation)" -->
</div>
<a class="anchor" id="a65ab3bc56b956970a6b3d31c624d464a"></a><!-- doxytag: member="libcvautomation&#45;xlib.h::cvaCloseDisplay" ref="a65ab3bc56b956970a6b3d31c624d464a" args="(Display *displayLocation)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cvaCloseDisplay </td>
<td class="memname">void <a class="el" href="libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a">cvaCloseDisplay</a> </td>
<td>(</td>
<td class="paramtype">Display *&nbsp;</td>
<td class="paramname"> <em>displayLocation</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
<td class="paramtype">Display *&#160;</td>
<td class="paramname"><em>displayLocation</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Simple wrapper for XCloseDisplay.
<p>
Currently this function literally just passes off to XCloseDisplay, but is designed to be used in the future if extra functionality is needed. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>displayLocation</em>&nbsp;</td><td>Pointer to the display to close </td></tr>
<p>Simple wrapper for XCloseDisplay. </p>
<p>Currently this function literally just passes off to XCloseDisplay, but is designed to be used in the future if extra functionality is needed. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">displayLocation</td><td>Pointer to the display to close </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Nothing </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing </dd></dl>
</div>
</div><p>
<a class="anchor" name="8fbf1f5f968670a03c4c8e31f5afdaed"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11" ref="8fbf1f5f968670a03c4c8e31f5afdaed" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
</div>
<a class="anchor" id="ad2932b004e600388764778f2b837e6ae"></a><!-- doxytag: member="libcvautomation&#45;xlib.h::matchSubImage_X11" ref="ad2932b004e600388764778f2b837e6ae" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CvPoint matchSubImage_X11 </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#ad2932b004e600388764778f2b837e6ae">matchSubImage_X11</a> </td>
<td>(</td>
<td class="paramtype">Display *&nbsp;</td>
<td class="paramname"> <em>displayLocation</em>, </td>
<td class="paramtype">Display *&#160;</td>
<td class="paramname"><em>displayLocation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>subImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>subImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the location of a sub image in the X11 root window.
<p>
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" href="libcvautomation-opencv_8h.html#297b9b5b22f77b65308d4057cff845f7">matchSubImage()</a> <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>displayLocation</em>&nbsp;</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage</em>&nbsp;</td><td>The sub image (in IplImage format) to search for in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<p>Return the location of a sub image in the X11 root window. </p>
<p>This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" href="libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265" title="Return the location of a sub image in its root image.">matchSubImage()</a> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">displayLocation</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td class="paramname">subImage</td><td>The sub image (in IplImage format) to search for in the root X11 window </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The location of the sub image in root X11 window </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="return"><dt><b>Returns:</b></dt><dd>The location of the sub image in root X11 window </dd></dl>
</div>
</div><p>
<a class="anchor" name="fb70c8eec779a6696b3df5af5bca1a6d"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_center" ref="fb70c8eec779a6696b3df5af5bca1a6d" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
</div>
<a class="anchor" id="a1f113520b4793114d4d6da026ab98f68"></a><!-- doxytag: member="libcvautomation&#45;xlib.h::matchSubImage_X11_center" ref="a1f113520b4793114d4d6da026ab98f68" args="(Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CvPoint matchSubImage_X11_center </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#a1f113520b4793114d4d6da026ab98f68">matchSubImage_X11_center</a> </td>
<td>(</td>
<td class="paramtype">Display *&nbsp;</td>
<td class="paramname"> <em>displayLocation</em>, </td>
<td class="paramtype">Display *&#160;</td>
<td class="paramname"><em>displayLocation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&nbsp;</td>
<td class="paramname"> <em>subImage</em>, </td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>subImage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the center of a sub image in root X11 window, rather than the top-left corner.
<p>
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" href="libcvautomation-opencv_8h.html#5bf9db7dfc5674e40180937b0c7787f3">matchSubImage_center()</a> <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>displayLocation</em>&nbsp;</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage</em>&nbsp;</td><td>The sub image (in IplImage format) to search for in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<p>Return the center of a sub image in root X11 window, rather than the top-left corner. </p>
<p>This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" 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> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">displayLocation</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td class="paramname">subImage</td><td>The sub image (in IplImage format) to search for in the root X11 window </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </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="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </dd></dl>
</div>
</div><p>
<a class="anchor" name="d238842448af81c09f56d1d54253c1b5"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_location" ref="d238842448af81c09f56d1d54253c1b5" args="(Display *displayLocation, const char *subImage_location, int search_method, int tolerance)" -->
</div>
<a class="anchor" id="a96fa86aa56f5e9c88c0ba4bc3c26130a"></a><!-- doxytag: member="libcvautomation&#45;xlib.h::matchSubImage_X11_location" ref="a96fa86aa56f5e9c88c0ba4bc3c26130a" 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 matchSubImage_X11_location </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#a96fa86aa56f5e9c88c0ba4bc3c26130a">matchSubImage_X11_location</a> </td>
<td>(</td>
<td class="paramtype">Display *&nbsp;</td>
<td class="paramname"> <em>displayLocation</em>, </td>
<td class="paramtype">Display *&#160;</td>
<td class="paramname"><em>displayLocation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>subImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>subImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the location of a sub image in the X11 root window.
<p>
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" href="libcvautomation-opencv_8h.html#c0d3066da6b2d42251c876d12a7158c7">matchSubImage_location()</a> <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>displayLocation</em>&nbsp;</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage_location</em>&nbsp;</td><td>The location of the sub image to search for in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<p>Return the location of a sub image in the X11 root window. </p>
<p>This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" href="libcvautomation-opencv_8h.html#a938c40be84667f64b51c8f1fa3725b43" title="Return the location of a sub image in its root image.">matchSubImage_location()</a> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">displayLocation</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td class="paramname">subImage_location</td><td>The location of the sub image to search for in the root X11 window </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </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="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </dd></dl>
<p>
Referenced by <a class="el" href="cva-match_8c-source.html#l00035">main()</a>.
</div>
</div><p>
<a class="anchor" name="b441627acd22889f404d89c9cc4809f5"></a><!-- doxytag: member="libcvautomation-xlib.h::matchSubImage_X11_location_center" ref="b441627acd22889f404d89c9cc4809f5" args="(Display *displayLocation, const char *subImage_location, int search_method, int tolerance)" -->
</div>
<a class="anchor" id="af334e78266661ac4d38d5a48f98e8e6e"></a><!-- doxytag: member="libcvautomation&#45;xlib.h::matchSubImage_X11_location_center" ref="af334e78266661ac4d38d5a48f98e8e6e" 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 matchSubImage_X11_location_center </td>
<td class="memname">CvPoint <a class="el" href="libcvautomation-xlib_8h.html#af334e78266661ac4d38d5a48f98e8e6e">matchSubImage_X11_location_center</a> </td>
<td>(</td>
<td class="paramtype">Display *&nbsp;</td>
<td class="paramname"> <em>displayLocation</em>, </td>
<td class="paramtype">Display *&#160;</td>
<td class="paramname"><em>displayLocation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>subImage_location</em>, </td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>subImage_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>searchMethod</em>, </td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>searchMethod</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>tolerance</em></td><td>&nbsp;</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the center of a sub image in the root X11 window, rather than the top-left corner.
<p>
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" href="libcvautomation-opencv_8h.html#bed7c891adb272993912d973c0e08c27">matchSubImage_location_center()</a> <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>displayLocation</em>&nbsp;</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subImage_location</em>&nbsp;</td><td>The location of the sub image to search for in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<p>Return the center of a sub image in the root X11 window, rather than the top-left corner. </p>
<p>This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to <a class="el" 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> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">displayLocation</td><td>Pointer to the currently open X11 Display </td></tr>
<tr><td class="paramname">subImage_location</td><td>The location of the sub image to search for in the root X11 window </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for <code>subImage</code> in the root X11 window </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for <code>subImage</code> in the root X11 window </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </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="return"><dt><b>Returns:</b></dt><dd>The center location of the sub image in the root X11 window </dd></dl>
<p>
Referenced by <a class="el" href="cva-match_8c-source.html#l00035">main()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -0,0 +1,156 @@
<!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: libcvautomation-xlib.h 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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">libcvautomation-xlib.h</div> </div>
</div><!--header-->
<div class="contents">
<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 &lt;<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>&gt;</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#a575e80fc9cf076026e127a57888423d4" title="Simple wrapper for XOpenDisplay.">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#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="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="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="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="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></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,224 @@
<!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: libcvautomation-xtest.h 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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">libcvautomation-xtest.h</div> </div>
</div><!--header-->
<div class="contents">
<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 &lt;<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>&gt;</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&#39;s not, return 0 (false) */</span>
<a name="l00028"></a>00028 Bool <a class="code" href="libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4" title="Check if the XTest extension is supported.">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" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#afe460d54f6977c431d1c37d42b0264be" title="Grab the current location of the pointer.">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#a8a95419cacd3a0efbd4bb6274567e284" title="Click the mouse in its current location.">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#a808386f36914966032aa2e15fd5ef60b" title="Click the mouse button at an absolute location.">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#a54df9f6d2278b6c840299f1f8ff94576" title="Click the mouse button at a relative location.">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" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#afa808d82bff7531af99d20b5397f4810" title="Click the mouse based on location of an image.">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" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#aa8e0c08cbca4f2863c4feda535c34bf5" title="Click the mouse based on the location of an image from file.">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" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#aa167cd70fe8284dbccbbd42cd4878b3e" title="Click the mouse based on center location of an image.">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" title="Very simple structure to standardize how points are used in libcvautomation.">cvaPoint</a> <a class="code" href="libcvautomation-xtest_8h.html#a40ca9d0d71b8f7cc513c27a9b0171995" title="Click the mouse based on the center location of an image from file.">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#a16e54e500caa43ab825a2039be9aabf9" title="Move the mouse to a location, but do not click it.">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#ab86c2de782d401599652f2856f311aad" title="Move the mouse to a relative location, but do not click it.">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&#39;t click the mouse */</span>
<a name="l00064"></a>00064 <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#a657631e704e31818b42587ef50724930" title="Move the mouse based on location of an image.">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&#39;t click the mouse */</span>
<a name="l00068"></a>00068 <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#ad274843eaaed7af192f09310caa9e5b2" title="Move the mouse based on location of an image from file.">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&#39;t click the mouse */</span>
<a name="l00072"></a>00072 <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#a72f049ae7ade76344e47d01ba451e8f1" title="Move the mouse based on center location of an image.">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&#39;t click the mouse */</span>
<a name="l00076"></a>00076 <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#acdcc9eb1e6633458ebb6ec0c7b57ba26" title="Move the mouse based on the center location of an image from file.">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&#39;t release it */</span>
<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#acca8cce58009ce177265bea29e8223e8" title="Press a mouse button down, and do not release it.">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#a317610586ac31c5c501290099b7ebf63" title="Release a mouse button.">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#ad4a4b4739bf494478dccb520d6946fbd" title="Jiggle the mouse in place.">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> <a class="code" href="libcvautomation-xtest_8h.html#a18f5cc7307329ce2e13ceb25b274822b" title="Scroll the mouse up.">xte_mouseScrollUp</a> ( 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> <a class="code" href="libcvautomation-xtest_8h.html#a9630d64e7c2e9206c88e61c0cf8813db" title="Scroll the mouse down.">xte_mouseScrollDown</a> ( 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 &quot;space&quot; are still valid. */</span>
<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="libcvautomation-xtest_8h.html#aa5d0f5167ac455ac88d063450b8aaac6" title="Press and release a keyboard key.">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#a1411973d9245ac1d610988a965ceb5a7" title="Input a string of characters to the X Server.">xte_clickKeyStr</a> ( Display *displayLocation, <span class="keywordtype">char</span> *<span class="keywordtype">string</span> );
<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#ad1d7153af9ed5cb2ba3b6d2a89c4ec75" title="Press a key down, but do not release it.">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#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="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></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,42 +1,120 @@
<!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</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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1><a class="anchor" name="libcvautomation">Libcvautomation</a></h1><dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>7/11/2012 </dd></dl>
<h2><a class="anchor" name="intro">
Introduction</a></h2>
Welcome to Libcvautomation! Libcvautomation is a GUI automation and testing tool based on image recognition and response. This program was designed as a direct replacement for <a href="http://sikuli.org">Sikuli</a> and <a href="https://wiki.ubuntu.com/Xpresser">Xpresser</a>. I was having incredible difficulty getting either of these solutions to work - Sikuli would crash whenever I tried to take a screenshot, and Xpresser was both too new for our RHEL 5 systems, but also died, or didn't work, or something else. I really liked the way each of these programs approached GUI automation, but they simply didn't work. Additionally, I wanted to create a simple solution - it does what you want it to, and that's it. <h2><a class="anchor" name="how_it_works">
How Libcvautomation Works</a></h2>
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#8fbf1f5f968670a03c4c8e31f5afdaed">matchSubImage_X11()</a> that allow you to match an image against the X11 root window in place. This means no more <code>'xwd | convert "&lt;out_name&gt;"'</code>. <h2><a class="anchor" name="using">
Using Libcvautomation</a></h2>
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>
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. <h2><a class="anchor" name="questions">
Questions? Comments? Concerns?</a></h2>
Please send any feedback to &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt;. Pull requests can be submitted to <a href="https://github.com/DjBushido/cvautomation">my github repository</a>. <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
<!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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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 &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
<h2><a class="anchor" id="intro"></a>
Introduction</h2>
<p>Welcome to Libcvautomation! Libcvautomation is a GUI automation and testing tool based on image recognition and response. This program was designed as a direct replacement for <a href="http://sikuli.org">Sikuli</a> and <a href="https://wiki.ubuntu.com/Xpresser">Xpresser</a>. I was having incredible difficulty getting either of these solutions to work - Sikuli would crash whenever I tried to take a screenshot, and Xpresser was both too new for our Prominent North American Enterprise Linux systems, but also didn't work or <code>import</code> correctly. I really liked the way each of these programs approached GUI automation, but they simply didn't work. Additionally, I wanted to create a simple solution - it does what you want it to, and that's it. </p>
<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 "&lt;out_name&gt;"'</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/>
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>
<p>Please send any feedback to &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt;. Pull requests can be submitted to <a href="https://github.com/DjBushido/libcvautomation">my github repository</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,72 +1,186 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: libcvautomation.h File 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>libcvautomation.h File Reference</h1>The top-level include for all projects involving libcvautomation. <a href="#_details">More...</a>
<p>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;opencv/cv.h&gt;</code><br>
<code>#include &lt;opencv/highgui.h&gt;</code><br>
<code>#include &lt;X11/Xlib.h&gt;</code><br>
<code>#include &lt;X11/Xutil.h&gt;</code><br>
<code>#include &lt;X11/extensions/XTest.h&gt;</code><br>
<code>#include &lt;<a class="el" href="libcvautomation-opencv_8h-source.html">libcvautomation/libcvautomation-opencv.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="libcvautomation-xlib_8h-source.html">libcvautomation/libcvautomation-xlib.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="libcvautomation-xtest_8h-source.html">libcvautomation/libcvautomation-xtest.h</a>&gt;</code><br>
<p>
<a href="libcvautomation_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html">cvautomationList</a></td></tr>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements a structure to build an array for methods like <a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">matchSubImage_a()</a>. <a href="structcvautomationList.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvaPoint.html">cvaPoint</a></td></tr>
<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>
<tr><td class="mdescLeft">&nbsp;</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 colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b6ab32b9a55421b91988946b2180bd0"></a><!-- doxytag: member="libcvautomation.h::LIBCVAUTOMATION_VERSION" ref="6b6ab32b9a55421b91988946b2180bd0" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation_8h.html#6b6ab32b9a55421b91988946b2180bd0">LIBCVAUTOMATION_VERSION</a>&nbsp;&nbsp;&nbsp;&quot;1.2&quot;</td></tr>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="064f2ecb9f4013fd636368d0dd59e453"></a><!-- doxytag: member="libcvautomation.h::LIBCVAUTOMATION_BUGREPORT" ref="064f2ecb9f4013fd636368d0dd59e453" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation_8h.html#064f2ecb9f4013fd636368d0dd59e453">LIBCVAUTOMATION_BUGREPORT</a>&nbsp;&nbsp;&nbsp;&quot;bspeice@uncc.edu&quot;</td></tr>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcvautomation
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The top-level include for all projects involving libcvautomation.
<p>
This source file includes all other files needed for libcvautomation projects, and also defines the <a class="el" href="structcvautomationList.html">cvautomationList</a> and <a class="el" href="structcvaPoint.html">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. <dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>6/21/2012 </dd></dl>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Defines</a> </div>
<div class="headertitle">
<div class="title">libcvautomation.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The top-level include for all projects involving libcvautomation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;opencv2/core/core_c.h&gt;</code><br/>
<code>#include &lt;opencv2/highgui/highgui_c.h&gt;</code><br/>
<code>#include &lt;opencv2/imgproc/imgproc_c.h&gt;</code><br/>
<code>#include &lt;X11/Xlib.h&gt;</code><br/>
<code>#include &lt;X11/Xutil.h&gt;</code><br/>
<code>#include &lt;X11/extensions/XTest.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="libcvautomation-opencv_8h_source.html">libcvautomation/libcvautomation-opencv.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="libcvautomation-xlib_8h_source.html">libcvautomation/libcvautomation-xlib.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="libcvautomation-xtest_8h_source.html">libcvautomation/libcvautomation-xtest.h</a>&gt;</code><br/>
</div>
<p><a href="libcvautomation_8h_source.html">Go to the source code of this file.</a></p>
<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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html">cvautomationList</a></td></tr>
<tr><td class="mdescLeft">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvaPoint.html">cvaPoint</a></td></tr>
<tr><td class="mdescLeft">&#160;</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 colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">LIBCVAUTOMATION_VERSION</a>&#160;&#160;&#160;&quot;1.2&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe">LIBCVAUTOMATION_BUGREPORT</a>&#160;&#160;&#160;&quot;bspeice@uncc.edu&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</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>
<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>
<p>Definition in file <a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a>.</p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a2e54f09f702e59d582159468d120abc9"></a><!-- doxytag: member="libcvautomation.h::LIBCVAUTOMATION_VERSION" ref="a2e54f09f702e59d582159468d120abc9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9">LIBCVAUTOMATION_VERSION</a>&#160;&#160;&#160;&quot;1.2&quot;</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Define what version of Libcvautomation we are using. </p>
<p>This define provides access to what version of Libcvautomation we're using. All times that you need to know what it is should use this. </p>
</div>
</div>
<a class="anchor" id="aeb04ad996673248b8a9f77b6bbcbbcbe"></a><!-- doxytag: member="libcvautomation.h::LIBCVAUTOMATION_BUGREPORT" ref="aeb04ad996673248b8a9f77b6bbcbbcbe" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe">LIBCVAUTOMATION_BUGREPORT</a>&#160;&#160;&#160;&quot;bspeice@uncc.edu&quot;</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Define who to send bug reports to for Libcvautomation. </p>
<p>This define provides access to who should be emailed in case of a Libcvautomation bug. All times that you need to know what it is should use this. </p>
</div>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
<p>
Definition in file <a class="el" href="libcvautomation_8h-source.html">libcvautomation.h</a>.<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<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>

View File

@ -0,0 +1,177 @@
<!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: libcvautomation.h 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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">libcvautomation.h</div> </div>
</div><!--header-->
<div class="contents">
<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>00020 <span class="preprocessor">#define LIBCVAUTOMATION_VERSION &quot;1.2&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define LIBCVAUTOMATION_BUGREPORT &quot;bspeice@uncc.edu&quot;</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 &lt;stdio.h&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;string.h&gt;</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 &lt;opencv2/core/core_c.h&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;opencv2/highgui/highgui_c.h&gt;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;opencv2/imgproc/imgproc_c.h&gt;</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 &lt;X11/Xlib.h&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;X11/Xutil.h&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;X11/extensions/XTest.h&gt;</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&#39;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 &lt;<a class="code" href="libcvautomation-opencv_8h.html" title="The source code to access libcv from inside libcvautomation.">libcvautomation/libcvautomation-opencv.h</a>&gt;</span>
<a name="l00060"></a>00060 <span class="preprocessor">#include &lt;<a class="code" href="libcvautomation-xlib_8h.html" title="The source code to access Xlib from inside libcvautomation.">libcvautomation/libcvautomation-xlib.h</a>&gt;</span>
<a name="l00061"></a>00061 <span class="preprocessor">#include &lt;<a class="code" href="libcvautomation-xtest_8h.html" title="The source code to access the XTest extension inside libcvautomation.">libcvautomation/libcvautomation-xtest.h</a>&gt;</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>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

BIN
nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

BIN
nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

BIN
open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

View File

@ -1,45 +1,125 @@
<!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: Page Index</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&nbsp;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 id="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1>libcvautomation Related Pages</h1>Here is a list of all related documentation pages:<ul>
<!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: Related Pages</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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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="header">
<div class="headertitle">
<div class="title">Related Pages</div> </div>
</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>
<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="libcvautomation.html">Libcvautomation</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>
</ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

25
search/all_63.html Normal file
View File

@ -0,0 +1,25 @@
<!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="all_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>

10
search/all_63.js Normal file
View File

@ -0,0 +1,10 @@
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,'']]],
['cvautomationlist',['cvautomationList',['../structcvautomationList.html',1,'']]]
];

25
search/all_69.html Normal file
View File

@ -0,0 +1,25 @@
<!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="all_69.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>

4
search/all_69.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['is_5fcmd',['IS_CMD',['../libcvautomation-xtest_8h.html#ae9d8d80e438d68a6c57c02d7217df1bd',1,'libcvautomation-xtest.h']]]
];

25
search/all_6c.html Normal file
View File

@ -0,0 +1,25 @@
<!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="all_6c.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>

9
search/all_6c.js Normal file
View File

@ -0,0 +1,9 @@
var searchData=
[
['libcvautomation_2dopencv_2eh',['libcvautomation-opencv.h',['../libcvautomation-opencv_8h.html',1,'']]],
['libcvautomation_2dxlib_2eh',['libcvautomation-xlib.h',['../libcvautomation-xlib_8h.html',1,'']]],
['libcvautomation_2dxtest_2eh',['libcvautomation-xtest.h',['../libcvautomation-xtest_8h.html',1,'']]],
['libcvautomation_2eh',['libcvautomation.h',['../libcvautomation_8h.html',1,'']]],
['libcvautomation_5fbugreport',['LIBCVAUTOMATION_BUGREPORT',['../libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe',1,'libcvautomation.h']]],
['libcvautomation_5fversion',['LIBCVAUTOMATION_VERSION',['../libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9',1,'libcvautomation.h']]]
];

25
search/all_6d.html Normal file
View File

@ -0,0 +1,25 @@
<!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="all_6d.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>

15
search/all_6d.js Normal file
View File

@ -0,0 +1,15 @@
var searchData=
[
['matchsubimage',['matchSubImage',['../libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa',['matchSubImage_a',['../libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa_5fcenter',['matchSubImage_a_center',['../libcvautomation-opencv_8h.html#ac936ccd391f6a7b9212d5ee0009d7cc1',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa_5flocation',['matchSubImage_a_location',['../libcvautomation-opencv_8h.html#adc8768ffe81ab2778f9ee9ea61882090',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa_5flocation_5fcenter',['matchSubImage_a_location_center',['../libcvautomation-opencv_8h.html#ad1a6791e1ab8ec5d456845bb2382b194',1,'libcvautomation-opencv.h']]],
['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']]]
];

25
search/all_78.html Normal file
View File

@ -0,0 +1,25 @@
<!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="all_78.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>

28
search/all_78.js Normal file
View File

@ -0,0 +1,28 @@
var searchData=
[
['xte_5fclickkey',['xte_clickKey',['../libcvautomation-xtest_8h.html#aa5d0f5167ac455ac88d063450b8aaac6',1,'libcvautomation-xtest.h']]],
['xte_5fclickkeystr',['xte_clickKeyStr',['../libcvautomation-xtest_8h.html#a1411973d9245ac1d610988a965ceb5a7',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouse',['xte_clickMouse',['../libcvautomation-xtest_8h.html#a8a95419cacd3a0efbd4bb6274567e284',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouseimage',['xte_clickMouseImage',['../libcvautomation-xtest_8h.html#afa808d82bff7531af99d20b5397f4810',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouseimage_5fcenter',['xte_clickMouseImage_center',['../libcvautomation-xtest_8h.html#aa167cd70fe8284dbccbbd42cd4878b3e',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouseimage_5flocation',['xte_clickMouseImage_location',['../libcvautomation-xtest_8h.html#aa8e0c08cbca4f2863c4feda535c34bf5',1,'libcvautomation-xtest.h']]],
['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_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']]],
['xte_5fhovermouseimage_5flocation_5fcenter',['xte_hoverMouseImage_location_center',['../libcvautomation-xtest_8h.html#acdcc9eb1e6633458ebb6ec0c7b57ba26',1,'libcvautomation-xtest.h']]],
['xte_5fhovermouserxy',['xte_hoverMouseRXY',['../libcvautomation-xtest_8h.html#ab86c2de782d401599652f2856f311aad',1,'libcvautomation-xtest.h']]],
['xte_5fhovermousexy',['xte_hoverMouseXY',['../libcvautomation-xtest_8h.html#a16e54e500caa43ab825a2039be9aabf9',1,'libcvautomation-xtest.h']]],
['xte_5fkeydown',['xte_keyDown',['../libcvautomation-xtest_8h.html#ad1d7153af9ed5cb2ba3b6d2a89c4ec75',1,'libcvautomation-xtest.h']]],
['xte_5fkeyup',['xte_keyUp',['../libcvautomation-xtest_8h.html#a6af5c14f862dd91fec682fde44a10e23',1,'libcvautomation-xtest.h']]],
['xte_5fmousedown',['xte_mouseDown',['../libcvautomation-xtest_8h.html#acca8cce58009ce177265bea29e8223e8',1,'libcvautomation-xtest.h']]],
['xte_5fmousejiggle',['xte_mouseJiggle',['../libcvautomation-xtest_8h.html#ad4a4b4739bf494478dccb520d6946fbd',1,'libcvautomation-xtest.h']]],
['xte_5fmousescrolldown',['xte_mouseScrollDown',['../libcvautomation-xtest_8h.html#a9630d64e7c2e9206c88e61c0cf8813db',1,'libcvautomation-xtest.h']]],
['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_5fxtestsupported',['xte_XTestSupported',['../libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4',1,'libcvautomation-xtest.h']]]
];

25
search/classes_63.html Normal file
View File

@ -0,0 +1,25 @@
<!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="classes_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>

5
search/classes_63.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['cvapoint',['cvaPoint',['../structcvaPoint.html',1,'']]],
['cvautomationlist',['cvautomationList',['../structcvautomationList.html',1,'']]]
];

BIN
search/close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

25
search/defines_63.html Normal file
View File

@ -0,0 +1,25 @@
<!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="defines_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>

4
search/defines_63.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['command_5fstr_5flen',['COMMAND_STR_LEN',['../libcvautomation-xtest_8h.html#a17af6c2b164a04cae831df5fb93836f6',1,'libcvautomation-xtest.h']]]
];

25
search/defines_69.html Normal file
View File

@ -0,0 +1,25 @@
<!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="defines_69.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>

4
search/defines_69.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['is_5fcmd',['IS_CMD',['../libcvautomation-xtest_8h.html#ae9d8d80e438d68a6c57c02d7217df1bd',1,'libcvautomation-xtest.h']]]
];

25
search/defines_6c.html Normal file
View File

@ -0,0 +1,25 @@
<!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="defines_6c.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>

5
search/defines_6c.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['libcvautomation_5fbugreport',['LIBCVAUTOMATION_BUGREPORT',['../libcvautomation_8h.html#aeb04ad996673248b8a9f77b6bbcbbcbe',1,'libcvautomation.h']]],
['libcvautomation_5fversion',['LIBCVAUTOMATION_VERSION',['../libcvautomation_8h.html#a2e54f09f702e59d582159468d120abc9',1,'libcvautomation.h']]]
];

25
search/files_63.html Normal file
View File

@ -0,0 +1,25 @@
<!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>

5
search/files_63.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['cva_2dinput_2ec',['cva-input.c',['../cva-input_8c.html',1,'']]],
['cva_2dmatch_2ec',['cva-match.c',['../cva-match_8c.html',1,'']]]
];

25
search/files_6c.html Normal file
View File

@ -0,0 +1,25 @@
<!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_6c.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>

7
search/files_6c.js Normal file
View File

@ -0,0 +1,7 @@
var searchData=
[
['libcvautomation_2dopencv_2eh',['libcvautomation-opencv.h',['../libcvautomation-opencv_8h.html',1,'']]],
['libcvautomation_2dxlib_2eh',['libcvautomation-xlib.h',['../libcvautomation-xlib_8h.html',1,'']]],
['libcvautomation_2dxtest_2eh',['libcvautomation-xtest.h',['../libcvautomation-xtest_8h.html',1,'']]],
['libcvautomation_2eh',['libcvautomation.h',['../libcvautomation_8h.html',1,'']]]
];

25
search/functions_63.html Normal file
View File

@ -0,0 +1,25 @@
<!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="functions_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>

5
search/functions_63.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['cvaclosedisplay',['cvaCloseDisplay',['../libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a',1,'libcvautomation-xlib.h']]],
['cvaopendisplay',['cvaOpenDisplay',['../libcvautomation-xlib_8h.html#a575e80fc9cf076026e127a57888423d4',1,'libcvautomation-xlib.h']]]
];

25
search/functions_6d.html Normal file
View File

@ -0,0 +1,25 @@
<!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="functions_6d.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>

15
search/functions_6d.js Normal file
View File

@ -0,0 +1,15 @@
var searchData=
[
['matchsubimage',['matchSubImage',['../libcvautomation-opencv_8h.html#ad37dfe0e025507d2437ea297232e8265',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa',['matchSubImage_a',['../libcvautomation-opencv_8h.html#a3facf18280800537b7b7694b5cd731cf',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa_5fcenter',['matchSubImage_a_center',['../libcvautomation-opencv_8h.html#ac936ccd391f6a7b9212d5ee0009d7cc1',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa_5flocation',['matchSubImage_a_location',['../libcvautomation-opencv_8h.html#adc8768ffe81ab2778f9ee9ea61882090',1,'libcvautomation-opencv.h']]],
['matchsubimage_5fa_5flocation_5fcenter',['matchSubImage_a_location_center',['../libcvautomation-opencv_8h.html#ad1a6791e1ab8ec5d456845bb2382b194',1,'libcvautomation-opencv.h']]],
['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']]]
];

25
search/functions_78.html Normal file
View File

@ -0,0 +1,25 @@
<!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="functions_78.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>

28
search/functions_78.js Normal file
View File

@ -0,0 +1,28 @@
var searchData=
[
['xte_5fclickkey',['xte_clickKey',['../libcvautomation-xtest_8h.html#aa5d0f5167ac455ac88d063450b8aaac6',1,'libcvautomation-xtest.h']]],
['xte_5fclickkeystr',['xte_clickKeyStr',['../libcvautomation-xtest_8h.html#a1411973d9245ac1d610988a965ceb5a7',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouse',['xte_clickMouse',['../libcvautomation-xtest_8h.html#a8a95419cacd3a0efbd4bb6274567e284',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouseimage',['xte_clickMouseImage',['../libcvautomation-xtest_8h.html#afa808d82bff7531af99d20b5397f4810',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouseimage_5fcenter',['xte_clickMouseImage_center',['../libcvautomation-xtest_8h.html#aa167cd70fe8284dbccbbd42cd4878b3e',1,'libcvautomation-xtest.h']]],
['xte_5fclickmouseimage_5flocation',['xte_clickMouseImage_location',['../libcvautomation-xtest_8h.html#aa8e0c08cbca4f2863c4feda535c34bf5',1,'libcvautomation-xtest.h']]],
['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_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']]],
['xte_5fhovermouseimage_5flocation_5fcenter',['xte_hoverMouseImage_location_center',['../libcvautomation-xtest_8h.html#acdcc9eb1e6633458ebb6ec0c7b57ba26',1,'libcvautomation-xtest.h']]],
['xte_5fhovermouserxy',['xte_hoverMouseRXY',['../libcvautomation-xtest_8h.html#ab86c2de782d401599652f2856f311aad',1,'libcvautomation-xtest.h']]],
['xte_5fhovermousexy',['xte_hoverMouseXY',['../libcvautomation-xtest_8h.html#a16e54e500caa43ab825a2039be9aabf9',1,'libcvautomation-xtest.h']]],
['xte_5fkeydown',['xte_keyDown',['../libcvautomation-xtest_8h.html#ad1d7153af9ed5cb2ba3b6d2a89c4ec75',1,'libcvautomation-xtest.h']]],
['xte_5fkeyup',['xte_keyUp',['../libcvautomation-xtest_8h.html#a6af5c14f862dd91fec682fde44a10e23',1,'libcvautomation-xtest.h']]],
['xte_5fmousedown',['xte_mouseDown',['../libcvautomation-xtest_8h.html#acca8cce58009ce177265bea29e8223e8',1,'libcvautomation-xtest.h']]],
['xte_5fmousejiggle',['xte_mouseJiggle',['../libcvautomation-xtest_8h.html#ad4a4b4739bf494478dccb520d6946fbd',1,'libcvautomation-xtest.h']]],
['xte_5fmousescrolldown',['xte_mouseScrollDown',['../libcvautomation-xtest_8h.html#a9630d64e7c2e9206c88e61c0cf8813db',1,'libcvautomation-xtest.h']]],
['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_5fxtestsupported',['xte_XTestSupported',['../libcvautomation-xtest_8h.html#af5b751f28a87f6ca4c1b3969c2ddb7f4',1,'libcvautomation-xtest.h']]]
];

BIN
search/mag_sel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

12
search/nomatches.html Normal file
View File

@ -0,0 +1,12 @@
<!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="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</body>
</html>

238
search/search.css Normal file
View File

@ -0,0 +1,238 @@
/*---------------- Search Box */
#FSearchBox {
float: left;
}
#MSearchBox {
white-space : nowrap;
position: absolute;
float: none;
display: inline;
margin-top: 8px;
right: 0px;
width: 170px;
z-index: 102;
background-color: white;
}
#MSearchBox .left
{
display:block;
position:absolute;
left:10px;
width:20px;
height:19px;
background:url('search_l.png') no-repeat;
background-position:right;
}
#MSearchSelect {
display:block;
position:absolute;
width:20px;
height:19px;
}
.left #MSearchSelect {
left:4px;
}
.right #MSearchSelect {
right:5px;
}
#MSearchField {
display:block;
position:absolute;
height:19px;
background:url('search_m.png') repeat-x;
border:none;
width:116px;
margin-left:20px;
padding-left:4px;
color: #909090;
outline: none;
font: 9pt Arial, Verdana, sans-serif;
}
#FSearchBox #MSearchField {
margin-left:15px;
}
#MSearchBox .right {
display:block;
position:absolute;
right:10px;
top:0px;
width:20px;
height:19px;
background:url('search_r.png') no-repeat;
background-position:left;
}
#MSearchClose {
display: none;
position: absolute;
top: 4px;
background : none;
border: none;
margin: 0px 4px 0px 0px;
padding: 0px 0px;
outline: none;
}
.left #MSearchClose {
left: 6px;
}
.right #MSearchClose {
right: 2px;
}
.MSearchBoxActive #MSearchField {
color: #000000;
}
/*---------------- Search filter selection */
#MSearchSelectWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #90A5CE;
background-color: #F9FAFC;
z-index: 1;
padding-top: 4px;
padding-bottom: 4px;
-moz-border-radius: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
.SelectItem {
font: 8pt Arial, Verdana, sans-serif;
padding-left: 2px;
padding-right: 12px;
border: 0px;
}
span.SelectionMark {
margin-right: 4px;
font-family: monospace;
outline-style: none;
text-decoration: none;
}
a.SelectItem {
display: block;
outline-style: none;
color: #000000;
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
}
a.SelectItem:focus,
a.SelectItem:active {
color: #000000;
outline-style: none;
text-decoration: none;
}
a.SelectItem:hover {
color: #FFFFFF;
background-color: #3D578C;
outline-style: none;
text-decoration: none;
cursor: pointer;
display: block;
}
/*---------------- Search results window */
iframe#MSearchResults {
width: 60ex;
height: 15em;
}
#MSearchResultsWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #000;
background-color: #EEF1F7;
}
/* ----------------------------------- */
#SRIndex {
clear:both;
padding-bottom: 15px;
}
.SREntry {
font-size: 10pt;
padding-left: 1ex;
}
.SRPage .SREntry {
font-size: 8pt;
padding: 1px 5px;
}
body.SRPage {
margin: 5px 2px;
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
.SRSymbol {
font-weight: bold;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRScope {
display: block;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
}
.SRPage .SRStatus {
padding: 2px 5px;
font-size: 8pt;
font-style: italic;
}
.SRResult {
display: none;
}
DIV.searchresults {
margin-left: 10px;
margin-right: 10px;
}

803
search/search.js Normal file
View File

@ -0,0 +1,803 @@
// Search script generated by doxygen
// Copyright (C) 2009 by Dimitri van Heesch.
// The code in this file is loosly based on main.js, part of Natural Docs,
// which is Copyright (C) 2003-2008 Greg Valure
// Natural Docs is licensed under the GPL.
var indexSectionsWithContent =
{
0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001001100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
};
var indexSectionNames =
{
0: "all",
1: "classes",
2: "files",
3: "functions",
4: "defines"
};
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, inFrame, label)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.insideFrame = inFrame;
this.searchLabel = label;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
if (this.insideFrame)
{
var left = getXPos(searchField);
var top = getYPos(searchField);
left += searchField.offsetWidth + 6;
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
left -= searchSelectWindow.offsetWidth;
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
else
{
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else if (window.frames.MSearchResults.searchResults)
{
var elem = window.frames.MSearchResults.searchResults.NavNext(0);
if (elem) elem.focus();
}
}
else if (e.keyCode==27) // Escape out of the search field
{
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.name + '.Search()',
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var hexCode;
if (code<16)
{
hexCode="0"+code.toString(16);
}
else
{
hexCode=code.toString(16);
}
var resultsPage;
var resultsPageWithSearch;
var hasResultsPage;
if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1')
{
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
hasResultsPage = true;
}
else // nothing available for this search term
{
resultsPage = this.resultsPath + '/nomatches.html';
resultsPageWithSearch = resultsPage;
hasResultsPage = false;
}
window.frames.MSearchResults.location = resultsPageWithSearch;
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
if (domPopupSearchResultsWindow.style.display!='block')
{
var domSearchBox = this.DOMSearchBox();
this.DOMSearchClose().style.display = 'inline';
if (this.insideFrame)
{
var domPopupSearchResults = this.DOMPopupSearchResults();
domPopupSearchResultsWindow.style.position = 'relative';
domPopupSearchResultsWindow.style.display = 'block';
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResults.style.width = width + 'px';
}
else
{
var domPopupSearchResults = this.DOMPopupSearchResults();
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
}
}
this.lastSearchValue = searchValue;
this.lastResultsPage = resultsPage;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
var searchField = this.DOMSearchField();
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
{
searchField.value = '';
this.searchActive = true;
}
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.DOMSearchField().value = this.searchLabel;
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName == 'DIV' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName == 'DIV' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
parent.document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults()
{
var results = document.getElementById("SRResults");
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',searchData[e][1][1][0]);
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',searchData[e][1][c+1][0]);
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}

BIN
search/search_l.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

BIN
search/search_m.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

BIN
search/search_r.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

View File

@ -1,37 +1,115 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>cvaPoint Member List</h1>This is the complete list of members for <a class="el" href="structcvaPoint.html">cvaPoint</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structcvaPoint.html#4b281115ba26b80bfc9ab6250b37d01d">x</a></td><td><a class="el" href="structcvaPoint.html">cvaPoint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structcvaPoint.html#3e7df78670c23fb2114a386750edbf1e">y</a></td><td><a class="el" href="structcvaPoint.html">cvaPoint</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&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
<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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cvaPoint Member List</div> </div>
</div><!--header-->
<div class="contents">
This is the complete list of members for <a class="el" href="structcvaPoint.html">cvaPoint</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><b>x</b> (defined in <a class="el" href="structcvaPoint.html">cvaPoint</a>)</td><td><a class="el" href="structcvaPoint.html">cvaPoint</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><b>y</b> (defined in <a class="el" href="structcvaPoint.html">cvaPoint</a>)</td><td><a class="el" href="structcvaPoint.html">cvaPoint</a></td><td></td></tr>
</table></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,64 +1,143 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: cvaPoint 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>cvaPoint Struct Reference</h1><!-- doxytag: class="cvaPoint" -->Very simple structure to standardize how points are used in libcvautomation.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="libcvautomation_8h-source.html">libcvautomation.h</a>&gt;</code>
<p>
<a href="structcvaPoint-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="4b281115ba26b80bfc9ab6250b37d01d"></a><!-- doxytag: member="cvaPoint::x" ref="4b281115ba26b80bfc9ab6250b37d01d" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvaPoint.html#4b281115ba26b80bfc9ab6250b37d01d">x</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e7df78670c23fb2114a386750edbf1e"></a><!-- doxytag: member="cvaPoint::y" ref="3e7df78670c23fb2114a386750edbf1e" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvaPoint.html#3e7df78670c23fb2114a386750edbf1e">y</a></td></tr>
<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
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Very simple structure to standardize how points are used in libcvautomation.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>An X-coordinate </td></tr>
<tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>A Y-coordinate </td></tr>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> </div>
<div class="headertitle">
<div class="title">cvaPoint Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="cvaPoint" -->
<p>Very simple structure to standardize how points are used in libcvautomation.
<a href="structcvaPoint.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a>&gt;</code></p>
<p><a href="structcvaPoint-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae76be44130ce1d258527a345cba27aa"></a><!-- doxytag: member="cvaPoint::x" ref="aae76be44130ce1d258527a345cba27aa" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>x</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0108cb75bf00ed17d3ed5f823d18ec44"></a><!-- doxytag: member="cvaPoint::y" ref="a0108cb75bf00ed17d3ed5f823d18ec44" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>y</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Very simple structure to standardize how points are used in libcvautomation. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>An X-coordinate </td></tr>
<tr><td class="paramname">y</td><td>A Y-coordinate </td></tr>
</table>
</dd>
</dl>
<p>
<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>
</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>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
<p>
Definition at line <a class="el" href="libcvautomation_8h-source.html#l00050">50</a> of file <a class="el" href="libcvautomation_8h-source.html">libcvautomation.h</a>.<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></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<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>

View File

@ -1,40 +1,118 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>cvautomationList Member List</h1>This is the complete list of members for <a class="el" href="structcvautomationList.html">cvautomationList</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structcvautomationList.html#7608e8c8e792f6d7432841c94016bd50">cvaImage</a></td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structcvautomationList.html#81c1bcaa3616b80a839eead6cde7a652">fileName</a></td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structcvautomationList.html#44326574b58698c640110e846c9131fc">resultPoint</a></td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structcvautomationList.html#c29f1b89cd1e02ef1ece7f9aacfdf831">searchMethod</a></td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structcvautomationList.html#d2ad67f51290f2291e8aec5bde3f049c">tolerance</a></td><td><a class="el" href="structcvautomationList.html">cvautomationList</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&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
<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
&#160;<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cvautomationList Member List</div> </div>
</div><!--header-->
<div class="contents">
This is the complete list of members for <a class="el" href="structcvautomationList.html">cvautomationList</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><b>cvaImage</b> (defined in <a class="el" href="structcvautomationList.html">cvautomationList</a>)</td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><b>fileName</b> (defined in <a class="el" href="structcvautomationList.html">cvautomationList</a>)</td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><b>resultPoint</b> (defined in <a class="el" href="structcvautomationList.html">cvautomationList</a>)</td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><b>searchMethod</b> (defined in <a class="el" href="structcvautomationList.html">cvautomationList</a>)</td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><b>tolerance</b> (defined in <a class="el" href="structcvautomationList.html">cvautomationList</a>)</td><td><a class="el" href="structcvautomationList.html">cvautomationList</a></td><td></td></tr>
</table></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,77 +1,154 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: cvautomationList 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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>cvautomationList Struct Reference</h1><!-- doxytag: class="cvautomationList" -->Implements a structure to build an array for methods like <a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">matchSubImage_a()</a>.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="libcvautomation_8h-source.html">libcvautomation.h</a>&gt;</code>
<p>
<a href="structcvautomationList-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="7608e8c8e792f6d7432841c94016bd50"></a><!-- doxytag: member="cvautomationList::cvaImage" ref="7608e8c8e792f6d7432841c94016bd50" args="" -->
IplImage *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html#7608e8c8e792f6d7432841c94016bd50">cvaImage</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81c1bcaa3616b80a839eead6cde7a652"></a><!-- doxytag: member="cvautomationList::fileName" ref="81c1bcaa3616b80a839eead6cde7a652" args="" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html#81c1bcaa3616b80a839eead6cde7a652">fileName</a></td></tr>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44326574b58698c640110e846c9131fc"></a><!-- doxytag: member="cvautomationList::resultPoint" ref="44326574b58698c640110e846c9131fc" args="" -->
CvPoint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html#44326574b58698c640110e846c9131fc">resultPoint</a></td></tr>
<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>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c29f1b89cd1e02ef1ece7f9aacfdf831"></a><!-- doxytag: member="cvautomationList::searchMethod" ref="c29f1b89cd1e02ef1ece7f9aacfdf831" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html#c29f1b89cd1e02ef1ece7f9aacfdf831">searchMethod</a></td></tr>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2ad67f51290f2291e8aec5bde3f049c"></a><!-- doxytag: member="cvautomationList::tolerance" ref="d2ad67f51290f2291e8aec5bde3f049c" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcvautomationList.html#d2ad67f51290f2291e8aec5bde3f049c">tolerance</a></td></tr>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcvautomation
&#160;<span id="projectnumber">1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Implements a structure to build an array for methods like <a class="el" href="libcvautomation-opencv_8h.html#994981e2d31d5fb62fc3b227e36ebf87">matchSubImage_a()</a>.
<p>
This structure is a simple way to wrap up all needed information for matching sub images in one location. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>cvaImage</em>&nbsp;</td><td>An image in IplImage format </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fileName</em>&nbsp;</td><td>The file location of an image to be loaded </td></tr>
<tr><td valign="top"></td><td valign="top"><em>resultPoint</em>&nbsp;</td><td>Holder for a result - for example, storing where this sub image was located in its root image </td></tr>
<tr><td valign="top"></td><td valign="top"><em>searchMethod</em>&nbsp;</td><td>The search method to use when searching for this sub image in a root image </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tolerance</em>&nbsp;</td><td>The tolerance to use when searching for this sub image in a root image </td></tr>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> </div>
<div class="headertitle">
<div class="title">cvautomationList Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="cvautomationList" -->
<p>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></p>
<p><code>#include &lt;<a class="el" href="libcvautomation_8h_source.html">libcvautomation.h</a>&gt;</code></p>
<p><a href="structcvautomationList-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fb9bc0615a1e745db5d156f92967987"></a><!-- doxytag: member="cvautomationList::cvaImage" ref="a6fb9bc0615a1e745db5d156f92967987" args="" -->
IplImage *&#160;</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 *&#160;</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&#160;</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&#160;</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="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>tolerance</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>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> </p>
<p>This structure is a simple way to wrap up all needed information for matching sub images in one location. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">cvaImage</td><td>An image in IplImage format </td></tr>
<tr><td class="paramname">fileName</td><td>The file location of an image to be loaded </td></tr>
<tr><td class="paramname">resultPoint</td><td>Holder for a result - for example, storing where this sub image was located in its root image </td></tr>
<tr><td class="paramname">searchMethod</td><td>The search method to use when searching for this sub image in a root image </td></tr>
<tr><td class="paramname">tolerance</td><td>The tolerance to use when searching for this sub image in a root image </td></tr>
</table>
</dd>
</dl>
<dl compact><dt><b>See also:</b></dt><dd>libcv_search_methods </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>
<p>
<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>
</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>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
<p>
Definition at line <a class="el" href="libcvautomation_8h-source.html#l00038">38</a> of file <a class="el" href="libcvautomation_8h-source.html">libcvautomation.h</a>.<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></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<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>

BIN
tab_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

BIN
tab_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

BIN
tab_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

BIN
tab_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

131
tabs.css
View File

@ -1,102 +1,59 @@
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
DIV.tabs
{
float : left;
width : 100%;
background : url("tab_b.gif") repeat-x bottom;
margin-bottom : 4px;
.tabs, .tabs2, .tabs3 {
background-image: url('tab_b.png');
width: 100%;
z-index: 101;
font-size: 13px;
}
DIV.tabs UL
{
margin : 0px;
padding-left : 10px;
list-style : none;
.tabs2 {
font-size: 10px;
}
.tabs3 {
font-size: 9px;
}
DIV.tabs LI, DIV.tabs FORM
{
display : inline;
margin : 0px;
padding : 0px;
.tablist {
margin: 0;
padding: 0;
display: table;
}
DIV.tabs FORM
{
float : right;
.tablist li {
float: left;
display: table-cell;
background-image: url('tab_b.png');
line-height: 36px;
list-style: none;
}
DIV.tabs A
{
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
font-size : x-small;
font-weight : bold;
text-decoration : none;
.tablist a {
display: block;
padding: 0 20px;
font-weight: bold;
background-image:url('tab_s.png');
background-repeat:no-repeat;
background-position:right;
color: #283A5D;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
text-decoration: none;
outline: none;
}
DIV.tabs A:hover
{
background-position: 100% -150px;
.tabs3 .tablist a {
padding: 0 10px;
}
DIV.tabs A:link, DIV.tabs A:visited,
DIV.tabs A:active, DIV.tabs A:hover
{
color: #1A419D;
.tablist a:hover {
background-image: url('tab_h.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
text-decoration: none;
}
DIV.tabs SPAN
{
float : left;
display : block;
background : url("tab_l.gif") no-repeat left top;
padding : 5px 9px;
white-space : nowrap;
}
DIV.tabs INPUT
{
float : right;
display : inline;
font-size : 1em;
}
DIV.tabs TD
{
font-size : x-small;
font-weight : bold;
text-decoration : none;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;}
/* End IE5-Mac hack */
DIV.tabs A:hover SPAN
{
background-position: 0% -150px;
}
DIV.tabs LI#current A
{
background-position: 100% -150px;
border-width : 0px;
}
DIV.tabs LI#current SPAN
{
background-position: 0% -150px;
padding-bottom : 6px;
}
DIV.nav
{
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
.tablist li.current a {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}

191
wrapper_functions.html Normal file
View File

@ -0,0 +1,191 @@
<!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: Appendix of Wrapper Functions</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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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="header">
<div class="headertitle">
<div class="title">Appendix of Wrapper Functions </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="appendix_click"></a>
Click the mouse</h2>
<div class="fragment"><pre class="fragment"> click
</pre></div><p> Click the mouse where it is currently located <br/>
<br/>
</p>
<div class="fragment"><pre class="fragment"> click_xy &lt;x-coordinate&gt; &lt;y-coordinate&gt;
</pre></div><p> Click the mouse on an absolute point on screen </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The actual process is to move the mouse to the given location, then click there. <br/>
<br/>
</dd></dl>
<div class="fragment"><pre class="fragment"> clickr_xy &lt;x-increment&gt; &lt;y-increment&gt;
</pre></div><p> Click the mouse on the screen relative to where the mouse is at </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The actual process is to move the mouse the given distance, then click there. </dd>
<dd>
Also, note that a positive <code>x-increment</code> moves the mouse to the right, and a positive <code>y-increment</code> moves the mouse down. <br/>
<br/>
</dd></dl>
<div class="fragment"><pre class="fragment"> click_i &lt;filename&gt;
</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/>
<br/>
</dd></dl>
<h2><a class="anchor" id="appendix_move"></a>
Move the mouse</h2>
<div class="fragment"><pre class="fragment"> hover_xy &lt;x-coordinate&gt; &lt;y-increment&gt;
</pre></div><p> Move the mouse to a location on screen using absolute positioning <br/>
<br/>
</p>
<div class="fragment"><pre class="fragment"> hoverr_xy &lt;x-increment&gt; &lt;y-increment&gt;
</pre></div><p> Move the mouse to a location on screen using relative positioning </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Note that a positive <code>x-increment</code> moves the mouse to the right, and a positive <code>y-increment</code> moves the mouse down. <br/>
<br/>
</dd></dl>
<div class="fragment"><pre class="fragment"> hover_i &lt;filename&gt;
</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/>
<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>
<div class="fragment"><pre class="fragment"> image_location &lt;filename&gt;
</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/>
<br/>
</dd></dl>
<h2><a class="anchor" id="appendix_keyboard"></a>
Click the keyboard</h2>
<div class="fragment"><pre class="fragment"> key_str <span class="stringliteral">&quot;&lt;string&gt;&quot;</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/>
<br/>
</dd></dl>
<div class="fragment"><pre class="fragment"> key_down <span class="stringliteral">&quot;&lt;key-name&gt;&quot;</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/>
<br/>
</dd></dl>
<div class="fragment"><pre class="fragment"> key_up <span class="stringliteral">&quot;&lt;key-name&gt;&quot;</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/>
<br/>
</dd></dl>
<div class="fragment"><pre class="fragment"> key_click <span class="stringliteral">&quot;&lt;key-name&gt;&quot;</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/>
<br/>
</dd></dl>
<h2><a class="anchor" id="appendix_utilities"></a>
Useful extras</h2>
<div class="fragment"><pre class="fragment"> run_process <span class="stringliteral">&quot;&lt;process-name&gt;&quot;</span>
</pre></div><p> Start a process on the system, background it, and return the PID of the created process. <br/>
<br/>
</p>
<div class="fragment"><pre class="fragment"> is_running <span class="stringliteral">&quot;&lt;process-name&gt;&quot;</span>
</pre></div> <div class="fragment"><pre class="fragment"> is_running <span class="stringliteral">&quot;&lt;process-id&gt;&quot;</span>
</pre></div><p> Check if a program name or PID is currently running</p>
<div class="fragment"><pre class="fragment"> notify <span class="stringliteral">&quot;&lt;string_to_display&gt;&quot;</span>
</pre></div><p> Display a notification to the user, and wait for a response </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Uses <code>zenity</code> - if <code>zenity</code> isn't available, will return an error without pausing, and will not display anything. </dd></dl>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>

View File

@ -1,41 +1,99 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!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: Writing Application Tests</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&nbsp;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&nbsp;Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1><a class="anchor" name="writing_app_tests">Writing Application Tests</a></h1><dl compact><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>7/11/2012 </dd></dl>
<h2><a class="anchor" name="audience">
Audience</a></h2>
<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
&#160;<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&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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="header">
<div class="headertitle">
<div class="title">Writing Application Tests </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>Bradlee Speice &lt;<a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>&gt; </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>7/18/2012 </dd></dl>
<h2><a class="anchor" id="audience"></a>
Audience</h2>
<ul>
<li>
This document was written for people with some intermediate knowledge of BASH. </li>
<li>
Screenshot experience is required - being able to create screenshots of windows using <a href="http://www.gimp.org/">GIMP</a>, the <code>import</code> command from <a href="http://www.imagemagick.org/script/index.php">ImageMagick</a>, or something similar. <br>
Screenshot experience is required - being able to create screenshots of windows using <a href="http://www.gimp.org/">GIMP</a>, the <code>import</code> command from <a href="http://www.imagemagick.org/script/index.php">ImageMagick</a>, or something similar. <br/>
</li>
<li>
Required for working with libcvautomation internals (not needed strictly for writing application testing): <ul>
<li>
Intermediate-level C knowledge required for interfacing with libcvautomation. There isn't much complicated going on with libcvautomation itself, but you need to know to use <a class="el" href="libcvautomation-xlib_8h.html#a6e348c2e829e1addb446160f54723a0">cvaOpenDisplay()</a> for grabbing a display and then <a class="el" href="libcvautomation-xlib_8h.html#1c8a205c0b2f4f7a28d1ce51d5225871">cvaCloseDisplay()</a> for closing it later for example. </li>
Intermediate-level C knowledge required for interfacing with libcvautomation. There isn't much complicated going on with libcvautomation itself, but you need to know to use <a class="el" href="libcvautomation-xlib_8h.html#a575e80fc9cf076026e127a57888423d4" title="Simple wrapper for XOpenDisplay.">cvaOpenDisplay()</a> for grabbing a display and then <a class="el" href="libcvautomation-xlib_8h.html#a65ab3bc56b956970a6b3d31c624d464a" title="Simple wrapper for XCloseDisplay.">cvaCloseDisplay()</a> for closing it later for example. </li>
<li>
C++ is available, but currently only as <code>extern "C"</code> style bindings. </li>
<li>
@ -43,16 +101,16 @@ Python bindings are in progress as of time-of-writing </li>
</ul>
</li>
</ul>
<h2><a class="anchor" name="purpose">
Purpose</a></h2>
<h2><a class="anchor" id="purpose"></a>
Purpose</h2>
<ul>
<li>
This document is intended to outline the libcvautomation testing library for GUI applications and its two reference programs <code>cva-match</code> and <code>cva-input</code> </li>
<li>
These programs allow you to automate mouse and keyboard events in response to what appears on screen - for example, clicking a button based on an image of that button on screen. </li>
</ul>
<h2><a class="anchor" name="using">
Using Libcvautomation</a></h2>
<h2><a class="anchor" id="using"></a>
Using Libcvautomation</h2>
<ul>
<li>
Since libcvautomation is a shared-object library intended to bundle a lot of functionality in one area, we must use external programs to agin access to the functions of libcvautomation. </li>
@ -69,13 +127,14 @@ The reference programs are fairly full-featured, and expose most of libcvautomat
<li>
These two programs should implement all functionality needed for GUI automation. Please contact <a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a> if you have suggestions for extra functionality, patches, comments, etc. </li>
<li>
Finally, if you want to write your own programs using libcvautomation, the headers are located on your system. Use: <div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="libcvautomation_8h.html">libcvautomation/libcvautomation.h</a>&gt;</span>
</pre></div> to include all necessary header files. See the "Files" tab above to get an idea of what functionality exists. <dl compact><dt><b>Note:</b></dt><dd>Intermediate C or C++ knowledge is required for programming with libcvautomation. C++ is currently only supported through <code>extern "C"</code>, and full C++ bindings are not currently planned. Libcvautomation itself is incredibly simple, but interfaces with a few API's (Xlib, libcv) that it is helpful to have an idea of how to use.</dd></dl>
Finally, if you want to write your own programs using libcvautomation, the headers are located on your system. Use: <div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="libcvautomation_8h.html" title="The top-level include for all projects involving libcvautomation.">libcvautomation/libcvautomation.h</a>&gt;</span>
</pre></div> to include all necessary header files. See the "Files" tab above to get an idea of what functionality exists. <dl class="note"><dt><b>Note:</b></dt><dd>Intermediate C or C++ knowledge is required for programming with libcvautomation. C++ is currently only supported through <code>extern "C"</code>, and full C++ bindings are not currently planned. Libcvautomation itself is incredibly simple, but interfaces with a few API's (Xlib, libcv) that it is helpful to have an idea of how to use.</dd></dl>
</li>
</ul>
<h2><a class="anchor" name="testing">
Application Testing</a></h2>
Now we get into the good stuff. The basic process for application testing is as follows: <ul>
<h2><a class="anchor" id="testing"></a>
Application Testing</h2>
<p>Now we get into the good stuff. The basic process for application testing is as follows: </p>
<ul>
<li>
Create a sequence of screenshots for all mouse-clicks </li>
<li>
@ -83,8 +142,8 @@ Create a testing wrapper in BASH for automating the application </li>
<li>
Test the wrapper and tune any necessary options </li>
</ul>
<h3><a class="anchor" name="screenshot_sequence">
Creating the Screenshot Sequence</a></h3>
<h3><a class="anchor" id="screenshot_sequence"></a>
Creating the Screenshot Sequence</h3>
<ul>
<li>
This process creates a set of screenshots by which libcvautomation can drive the X11 server </li>
@ -107,57 +166,58 @@ Sun rasters - <code>*.sr</code>, <code>*.ras</code> </li>
<li>
TIFF files - <code>*.tiff</code>, <code>*.tif</code> </li>
</ul>
<br>
<br/>
</li>
<li>
Some tips on creating screenshots: <ul>
<p class="startli">Some tips on creating screenshots: </p>
<ul>
<li>
Use as distinct an image as possible in a screenshot. For example, the following images look very similar, but can do very different things: <div align="center">
<img src="print-printbutton1.png" alt="print-printbutton1.png">
Use as distinct an image as possible in a screenshot. For example, the following images look very similar, but can do very different things: <div class="image">
<img src="print-printbutton1.png" alt="print-printbutton1.png"/>
</div>
<br>
<div align="center">
<img src="print-helpbutton.png" alt="print-helpbutton.png">
<br/>
<div class="image">
<img src="print-helpbutton.png" alt="print-helpbutton.png"/>
</div>
<ul>
<li>
The large amount of grey-space in each of the images can be very confusing. While the text itself is different, the overwhelming amount of grey space can result in a false positive. Limiting the space of the screenshot can be useful: <div align="center">
<img src="print-printbutton2.png" alt="print-printbutton2.png">
The large amount of grey-space in each of the images can be very confusing. While the text itself is different, the overwhelming amount of grey space can result in a false positive. Limiting the space of the screenshot can be useful: <div class="image">
<img src="print-printbutton2.png" alt="print-printbutton2.png"/>
</div>
<br>
<div align="center">
<img src="print-helpbutton.png" alt="print-helpbutton.png">
<br/>
<div class="image">
<img src="print-helpbutton.png" alt="print-helpbutton.png"/>
</div>
</li>
<li>
Limiting the button size in this case helps the program identify what button you want to click, but in general you want to include as much detail as possible. </li>
</ul>
<br>
<br/>
</li>
<li>
Be careful of where an image may appear multiple times in a screenshot. For example, a "Help" button on a dialog may get confused with the "Help" menu at the top of the screen. </li>
</ul>
<p>
<p class="endli"></p>
</li>
</ul>
<h3><a class="anchor" name="testing_wrapper">
Create a Testing Wrapper</a></h3>
<h3><a class="anchor" id="testing_wrapper"></a>
Create a Testing Wrapper</h3>
<ul>
<li>
This is where the BASH knowledge comes into play. We are going to write a script that will run your application test, to make sure that the GUI is functioning correctly. </li>
<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> . libcvautomation_funcs
<span class="preprocessor"></span> . /usr/local/etc/libcvautomation_funcs
<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> &amp;&amp; sleep 1
click_i <span class="stringliteral">"screens/gnome-2_officeMenu.png"</span> <span class="stringliteral">"screens/kde-2_officeMenu.png"</span> &amp;&amp; sleep 1
hover_i <span class="stringliteral">"screens/gnome-3_LibreOfficeWriter.png"</span> <span class="stringliteral">"screens/kde-3_LibreOfficeWriter.png"</span>
click_i <span class="stringliteral">&quot;screens/gnome-1_menu.png&quot;</span> <span class="stringliteral">&quot;screens/kde-1_menu.png&quot;</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-2_officeMenu.png&quot;</span> <span class="stringliteral">&quot;screens/kde-2_officeMenu.png&quot;</span> &amp;&amp; sleep 1
hover_i <span class="stringliteral">&quot;screens/gnome-3_LibreOfficeWriter.png&quot;</span> <span class="stringliteral">&quot;screens/kde-3_LibreOfficeWriter.png&quot;</span>
jiggle_mouse
click
sleep 30
@ -165,29 +225,29 @@ 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> &amp;&amp; sleep 1
click_i <span class="stringliteral">"screens/gnome-5_fileExit.png"</span> <span class="stringliteral">"screens/kde-5_fileExit.png"</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">"screens/gnome-6_discard.png"</span> <span class="stringliteral">"screens/kde-6_discard.png"</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-4_fileMenu.png&quot;</span> <span class="stringliteral">&quot;screens/kde-4_fileMenu.png&quot;</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-5_fileExit.png&quot;</span> <span class="stringliteral">&quot;screens/kde-5_fileExit.png&quot;</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-6_discard.png&quot;</span> <span class="stringliteral">&quot;screens/kde-6_discard.png&quot;</span> &amp;&amp; sleep 1
}
start_libreoffice_writer
close_libreoffice_writer
</pre></div> <br>
</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> . libcvautomation_funcs
<span class="preprocessor"></span> . /usr/local/etc/libcvautomation_funcs
<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 the wrapper is included at the top of the source tree, you may need to copy it somewhere in order to use it. The wrapper itself is a handful of macros used to make our job easy. </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>
<br>
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/>
<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> &amp;&amp; sleep 1
click_i <span class="stringliteral">"screens/gnome-2_officeMenu.png"</span> <span class="stringliteral">"screens/kde-2_officeMenu.png"</span> &amp;&amp; sleep 1
hover_i <span class="stringliteral">"screens/gnome-3_LibreOfficeWriter.png"</span> <span class="stringliteral">"screens/kde-3_LibreOfficeWriter.png"</span>
click_i <span class="stringliteral">&quot;screens/gnome-1_menu.png&quot;</span> <span class="stringliteral">&quot;screens/kde-1_menu.png&quot;</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-2_officeMenu.png&quot;</span> <span class="stringliteral">&quot;screens/kde-2_officeMenu.png&quot;</span> &amp;&amp; sleep 1
hover_i <span class="stringliteral">&quot;screens/gnome-3_LibreOfficeWriter.png&quot;</span> <span class="stringliteral">&quot;screens/kde-3_LibreOfficeWriter.png&quot;</span>
jiggle_mouse
click
sleep 30
@ -202,41 +262,42 @@ Because of how the cva-input program is designed, you can give it multiple image
<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 &lt;filename&gt;'</code> </li>
<li>
See <a class="el" href="writing_app_tests.html#wrapper_functions">Appendix of Wrapper Functions</a> for a list of all functions available in the wrapper. </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>
</ul>
</li>
<li>
<code>hover_i</code> is a function to move the mouse to an image - in this case, move it over the LibreOffice menu item. </li>
<li>
Then we jiggle the mouse to make sure that the item activates, click, and wait for the program to start up. <br>
<br>
Then we jiggle the mouse to make sure that the item activates, click, and wait for the program to start up. <br/>
<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> &amp;&amp; sleep 1
click_i <span class="stringliteral">"screens/gnome-5_fileExit.png"</span> <span class="stringliteral">"screens/kde-5_fileExit.png"</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">"screens/gnome-6_discard.png"</span> <span class="stringliteral">"screens/kde-6_discard.png"</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-4_fileMenu.png&quot;</span> <span class="stringliteral">&quot;screens/kde-4_fileMenu.png&quot;</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-5_fileExit.png&quot;</span> <span class="stringliteral">&quot;screens/kde-5_fileExit.png&quot;</span> &amp;&amp; sleep 1
click_i <span class="stringliteral">&quot;screens/gnome-6_discard.png&quot;</span> <span class="stringliteral">&quot;screens/kde-6_discard.png&quot;</span> &amp;&amp; sleep 1
}
</pre></div> </li>
<li>
Use the <code>click_i</code> function to close down LibreOffice writer - Find the "File" menu, click "Exit", and then make sure to discard all changes. <br>
<br>
Use the <code>click_i</code> function to close down LibreOffice writer - Find the "File" menu, click "Exit", and then make sure to discard all changes. <br/>
<br/>
<div class="fragment"><pre class="fragment"> start_libreoffice_writer
close_libreoffice_writer
</pre></div> </li>
<li>
Actually run the functions given. <br>
<br>
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="writing_app_tests.html#wrapper_functions">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</a> </li>
</ul>
<h3><a class="anchor" name="testing_test_wrapper">
Testing the Testing Wrapper</a></h3>
<h3><a class="anchor" id="testing_test_wrapper"></a>
Testing the Testing Wrapper</h3>
<ul>
<li>
First things first, run through the testing wrapper to make sure that everything is O.K. </li>
<li>
If you need to, some things you can do to tune the application test are as follows: <ul>
<p class="startli">If you need to, some things you can do to tune the application test are as follows: </p>
<ul>
<li>
Set the <code>SEARCH_METHOD</code> <ul>
<li>
@ -252,20 +313,20 @@ This value adjusts how strict libcvautomation is when trying to find a sub-image
<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 (<img class="formulaInl" alt="$ 1 \approx 0 $" src="form_9.png">, and <img class="formulaInl" alt="$ 100 \approx \c INT_MAX $" src="form_10.png">) </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">"&lt;any_value&gt;"</span>
To enable sane tolerance, set: <div class="fragment"><pre class="fragment"> USE_SANE_TOLERANCE=<span class="stringliteral">&quot;&lt;any_value&gt;&quot;</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>
To disable sane tolerance (the default) set: <div class="fragment"><pre class="fragment"> USE_SANE_TOLERANCE=<span class="stringliteral">&quot;&quot;</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>
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">&quot;&quot;</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">"&lt;any_value&gt;"</span>
To set the behavior back to using center-based matching, set: <div class="fragment"><pre class="fragment"> USE_CENTER=<span class="stringliteral">&quot;&lt;any_value&gt;&quot;</span>
</pre></div> </li>
</ul>
</li>
@ -276,23 +337,22 @@ The application wrapper logs a whole lot of information about what it does to ma
<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>
echo <span class="stringliteral">&quot;OUTFILE location: $OUTFILE&quot;</span>
echo <span class="stringliteral">&quot;ERRFILE location: $ERRFILE&quot;</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="writing_app_tests.html#wrapper_functions">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 of Wrapper Functions</a> </li>
</ul>
<p>
<dl compact><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>
<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" name="wrapping_up">
Wrapping Up</a></h2>
<h2><a class="anchor" id="wrapping_up"></a>
Wrapping Up</h2>
<ul>
<li>
At this point you should have all the information you need to write your own application tests. The libcvautomation library and reference programs were designed to be simple and powerful, but if you invest the time to learn them and some expert BASH scripting, you can do some very complex things. <ul>
@ -303,65 +363,28 @@ For example, integrating a <a href="http://testanything.org/wiki/index.php/Tap-f
<li>
If you have questions, comments, concerns, suggestions, or feedback in general, feel free to let me know at <a href="mailto:bspeice@uncc.edu">bspeice@uncc.edu</a>. </li>
</ul>
<h2><a class="anchor" name="wrapper_functions">
Appendix of Wrapper Functions</a></h2>
<div class="fragment"><pre class="fragment"> click
</pre></div> Click the mouse where it is currently located <br>
<br>
<p>
<div class="fragment"><pre class="fragment"> click_xy &lt;x-coordinate&gt; &lt;y-coordinate&gt;
</pre></div> Click the mouse on an absolute point on screen <dl compact><dt><b>Note:</b></dt><dd>The actual process is to move the mouse to the given location, then click there. <br>
<br>
</dd></dl>
<div class="fragment"><pre class="fragment"> clickr_xy &lt;x-increment&gt; &lt;y-increment&gt;
</pre></div> Click the mouse on the screen relative to where the mouse is at <dl compact><dt><b>Note:</b></dt><dd>The actual process is to move the mouse the given distance, then click there. <p>
Also, note that a positive <code>x-increment</code> moves the mouse to the right, and a positive <code>y-increment</code> moves the mouse down. <br>
<br>
</dd></dl>
<div class="fragment"><pre class="fragment"> click_i &lt;filename&gt;
</pre></div> Click the mouse on a screenshot from <code>filename</code> <dl compact><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>
<br>
</dd></dl>
<div class="fragment"><pre class="fragment"> image_location &lt;filename&gt;
</pre></div> Get the location of an image on screen <dl compact><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>
<br>
</dd></dl>
<div class="fragment"><pre class="fragment"> hover_xy &lt;x-coordinate&gt; &lt;y-increment&gt;
</pre></div> Move the mouse to a location on screen using absolute positioning <br>
<br>
<p>
<div class="fragment"><pre class="fragment"> hoverr_xy &lt;x-increment&gt; &lt;y-increment&gt;
</pre></div> Move the mouse to a location on screen using relative positioning <dl compact><dt><b>Note:</b></dt><dd>Note that a positive <code>x-increment</code> moves the mouse to the right, and a positive <code>y-increment</code> moves the mouse down. <br>
<br>
</dd></dl>
<div class="fragment"><pre class="fragment"> hover_i &lt;filename&gt;
</pre></div> Move the mouse to a location on screen based on screenshot <dl compact><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>
<br>
</dd></dl>
<div class="fragment"><pre class="fragment"> key_str <span class="stringliteral">"&lt;string&gt;"</span>
</pre></div> Enter a string of characters on the keyboard rather than a single character at a time. <dl compact><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>
<br>
</dd></dl>
<div class="fragment"><pre class="fragment"> key_down <span class="stringliteral">"&lt;key-name&gt;"</span>
</pre></div> Press a key down and leave it down <dl compact><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">"&lt;key-name&gt;"</span>
</pre></div> Release a key <dl compact><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">"&lt;key-name&gt;"</span>
</pre></div> Press a key down and then release it immediately after <dl compact><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"> run_process <span class="stringliteral">"&lt;process-name&gt;"</span>
</pre></div> Start a process on the system, background it, and return the PID of the created process. <br>
<br>
<p>
<div class="fragment"><pre class="fragment"> is_running <span class="stringliteral">"&lt;process-name&gt;"</span>
</pre></div> <div class="fragment"><pre class="fragment"> is_running <span class="stringliteral">"&lt;process-id&gt;"</span>
</pre></div> Check if a program name or PID is currently running <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 12:19:00 2012 for libcvautomation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</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 &#160;<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>