diff options
Diffstat (limited to 'Graphic_Equalizer_Original_Port/doc/html/mouse_8hcc-source.html')
-rw-r--r-- | Graphic_Equalizer_Original_Port/doc/html/mouse_8hcc-source.html | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/Graphic_Equalizer_Original_Port/doc/html/mouse_8hcc-source.html b/Graphic_Equalizer_Original_Port/doc/html/mouse_8hcc-source.html new file mode 100644 index 0000000..dfb8298 --- /dev/null +++ b/Graphic_Equalizer_Original_Port/doc/html/mouse_8hcc-source.html @@ -0,0 +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"> +<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.9.1 --> +<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> +<div class="nav"> +<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> +<h1>mouse.hcc</h1><a href="mouse_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 +00021 <span class="comment">/******** System Includes *************/</span> +00022 <span class="preprocessor">#include <stdlib.hch></span> +00023 +00024 <span class="preprocessor">#include "pal_master.hch"</span> +00025 <span class="preprocessor">#include "pal_mouse.hch"</span> +00026 +00027 <span class="comment">/******** Application Includes ********/</span> +00028 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> +00029 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span> +00030 <span class="preprocessor">#include "<a class="code" href="mouse_8hch.html">mouse.hch</a>"</span> +00031 +00032 <span class="preprocessor">#if HAVE_DEBUG</span> +00033 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> +00034 <span class="preprocessor">#endif</span> +00035 <span class="preprocessor"></span> +00036 +00037 +<a name="l00048"></a><a class="code" href="mouse_8hcc.html#a0">00048</a> <span class="keywordtype">void</span> <a class="code" href="mouse_8hcc.html#a0">mouse_main</a>(<a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata) { +00049 <span class="keywordtype">unsigned</span> 18 touch_sampler; +00050 <span class="keywordtype">unsigned</span> 10 x, oldx; +00051 <span class="keywordtype">unsigned</span> 9 y, oldy; +00052 <span class="keywordtype">unsigned</span> 3 mousestate, oldmousestate; +00053 <span class="keywordtype">unsigned</span> 1 touch, touched, oldtouched; +00054 +00055 <span class="comment">/*</span> +00056 <span class="comment"> * We only check for mouse states once every 2^18 time. This to</span> +00057 <span class="comment"> * overcome the sampling of the 'Touch' state of the RC200 libs. When</span> +00058 <span class="comment"> * using newer libs this might be overkill, e.g. smaller values may</span> +00059 <span class="comment"> * work or sampling all together will be redundant.</span> +00060 <span class="comment"> */</span> +00061 touch_sampler = 1; +00062 <span class="keywordflow">while</span> (TRUE) { +00063 <span class="keywordflow">if</span> (!touch_sampler) { +00064 <span class="comment">/*</span> +00065 <span class="comment"> * We are here ready to set mouse states. We compare</span> +00066 <span class="comment"> * current and previous states and thereby determine</span> +00067 <span class="comment"> * the state to send to others</span> +00068 <span class="comment"> */</span> +00069 <span class="keywordflow">if</span> (touched) { +00070 <span class="keywordflow">if</span>(oldtouched) { +00071 mousestate = MOUSE_STATE_DOWN; +00072 } <span class="keywordflow">else</span> { +00073 mousestate = MOUSE_STATE_ON_PRESS; +00074 } +00075 oldtouched = TRUE; +00076 } <span class="keywordflow">else</span> { +00077 <span class="keywordflow">if</span>(oldtouched) { +00078 mousestate = MOUSE_STATE_ON_RELEASE; +00079 } <span class="keywordflow">else</span> { +00080 mousestate = MOUSE_STATE_UP; +00081 } +00082 oldtouched = FALSE; +00083 } +00084 <span class="comment">/*</span> +00085 <span class="comment"> * We have now processed our Touch. Reset it for the</span> +00086 <span class="comment"> * next run.</span> +00087 <span class="comment"> */</span> +00088 touched = FALSE; +00089 +00090 <span class="comment">/*</span> +00091 <span class="comment"> * In the rare occurance that we receive values</span> +00092 <span class="comment"> * beyond our range, we set them to some sane</span> +00093 <span class="comment"> * values here.</span> +00094 <span class="comment"> */</span> +00095 x = (x > 639) ? 0 : x; +00096 y = (y > 479) ? 0 : y; +00097 +00098 <span class="comment">/*</span> +00099 <span class="comment"> * Compare Previous States and Coordinates to determine</span> +00100 <span class="comment"> * wether they have changed. If so, Copy them into</span> +00101 <span class="comment"> * shared memory, notify the listening processes and</span> +00102 <span class="comment"> * Set the new as previous values for the next run. We</span> +00103 <span class="comment"> * can only do this when the display has handled all</span> +00104 <span class="comment"> * changes.</span> +00105 <span class="comment"> */</span> +00106 <span class="keywordflow">if</span> (((oldmousestate != mousestate) || (oldx != x) || (oldy != y)) && (<a class="code" href="mouse__shared_8hch.html#a1">MOUSE_NOT_UPDATED</a> == mousedata-><a class="code" href="structmousedata__t.html#o3">status</a>)) { +00107 <span class="comment">//par {</span> +00108 oldx = x; +00109 oldy = y; +00110 oldmousestate = mousestate; +00111 mousedata-><a class="code" href="structmousedata__t.html#o0">x</a> = x; +00112 mousedata-><a class="code" href="structmousedata__t.html#o1">y</a> = 0 @ y; +00113 mousedata-><a class="code" href="structmousedata__t.html#o2">state</a> = mousestate; +00114 mousedata-><a class="code" href="structmousedata__t.html#o3">status</a> = MOUSE_UPDATED; +00115 <span class="comment">//}</span> +00116 } +00117 } +00118 +00119 <span class="comment">/*</span> +00120 <span class="comment"> * Read the current X and Y of the 'cursor' and register wether</span> +00121 <span class="comment"> * the display was touched. If touched store this in a local</span> +00122 <span class="comment"> * store. This we do to catch the sampling of the RC200 lib.</span> +00123 <span class="comment"> */</span> +00124 RC200TouchScreenReadScaled(&x, &y, &touch); +00125 <span class="keywordflow">if</span> (touch) { +00126 touched = TRUE; +00127 } +00128 +00129 touch_sampler++; +00130 } +00131 } <span class="comment">/* --- mouse_main() --- */</span> +</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> +</body> +</html> |