Updated docu.

This commit is contained in:
Timo Lang
2015-06-08 11:04:50 +02:00
parent 86eb39b3a8
commit 42b6e3af36
202 changed files with 11953 additions and 976 deletions

View File

@@ -103,7 +103,9 @@ Include dependency graph for button.c:</div>
<map name="common_2gui_2button_8c" id="common_2gui_2button_8c">
<area shape="rect" id="node2" href="tft_8h.html" title="tft.h" alt="" coords="25,155,69,181"/><area shape="rect" id="node5" href="touch_8h.html" title="touch.h" alt="" coords="101,155,166,181"/><area shape="rect" id="node6" href="button_8h.html" title="button.h" alt="" coords="135,80,204,107"/></map>
</div>
</div><table class="memberdecls">
</div>
<p><a href="button_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a30147bc6062a23d99a2fd58b45adfb82"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>&#160;&#160;&#160;3</td></tr>
@@ -160,6 +162,61 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="button_8c_source.html#l00092">92</a> of file <a class="el" href="button_8c_source.html">button.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>* area = (<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button = (<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; uint16_t c_light, c_dark; <span class="comment">//c_light and c_dark will be filled with a lighter and a darker color as the background color (for the shadows)</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">bgcolor</a>, &amp;c_light, &amp;c_dark);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">switch</span> (triggeredAction) {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>: <span class="comment">//If the user touches the area for the &quot;first time&quot;</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a> | <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>; <span class="comment">//for the future we only want PEN_UP and PEN_LEAVE events</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">//Draw shadows</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, c_dark); <span class="comment">//North</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_dark); <span class="comment">//West</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, c_light); <span class="comment">//South</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_light); <span class="comment">//East</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a>: <span class="comment">//If the user took the pen away, while in the area (=button pressed!)</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>: <span class="comment">//or the user &quot;slided out&quot; of the area</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>; <span class="comment">//for the future we only want PEN_DOWN events</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">//Draw inverse shadows</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, c_light); <span class="comment">//North</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_light); <span class="comment">//West</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, c_dark); <span class="comment">//South</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_dark); <span class="comment">//East</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (triggeredAction == <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a> &amp;&amp; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">callback</a> != NULL) { <span class="comment">//If the button got &quot;pressed&quot; instead of left, and the user provided a callback</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">callback</a>(button); <span class="comment">//execute the user callback</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a></div><div class="ttdoc">Receive an event when the pen goes down inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00054">touch.h:54</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a></div><div class="ttdoc">Receive an event when the pen goes up inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00055">touch.h:55</a></div></div>
<div class="ttc" id="group__tft_html_ga5022f91ea04919e698a79c0c309ba6f8"><div class="ttname"><a href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a></div><div class="ttdeci">void tft_draw_line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00050">tft.c:50</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a47ada631c22a9d40348069145654f255"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">TOUCH_AREA_STRUCT::y1</a></div><div class="ttdeci">uint16_t y1</div><div class="ttdoc">Top Left Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00075">touch.h:75</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00055">button.h:55</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aedb5fdfe3c1d1a915b668ba7f3950753"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">TOUCH_AREA_STRUCT::x1</a></div><div class="ttdeci">uint16_t x1</div><div class="ttdoc">Top Left X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00074">touch.h:74</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_aebb27fad2492ea7aa81895d0ede61fcf"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">BUTTON_STRUCT::bgcolor</a></div><div class="ttdeci">uint16_t bgcolor</div><div class="ttdoc">The 16-bit background color of the button. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00057">button.h:57</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_adf10d197299522577e67d366877bdd3f"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">BUTTON_STRUCT::base</a></div><div class="ttdeci">TOUCH_AREA_STRUCT base</div><div class="ttdoc">Basic geometry of the button. You only need to set the x1, y1, x2, y2 members of this struct...</div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00056">button.h:56</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00072">touch.h:72</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aa377184ba406b3f0c4ac18c935378204"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">TOUCH_AREA_STRUCT::y2</a></div><div class="ttdeci">uint16_t y2</div><div class="ttdoc">Bottom Right Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00077">touch.h:77</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_ac5bc000f8954f38b7a641a485a26bae7"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">TOUCH_AREA_STRUCT::x2</a></div><div class="ttdeci">uint16_t x2</div><div class="ttdoc">Bottom Right X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00076">touch.h:76</a></div></div>
<div class="ttc" id="button_8c_html_a05bb88dac6f60063eae2bb67dda1f4e8"><div class="ttname"><a href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a></div><div class="ttdeci">void calculate_shadows(uint16_t bgcolor, uint16_t *light_shadow, uint16_t *dark_shadow)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00034">button.c:34</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a4026095999c2fd7a91f9bb91390647a4"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">TOUCH_AREA_STRUCT::hookedActions</a></div><div class="ttdeci">TOUCH_ACTION hookedActions</div><div class="ttdoc">Actions to listen to. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00073">touch.h:73</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_a269d23c8a60f8acdf9279642999ee6a9"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">BUTTON_STRUCT::callback</a></div><div class="ttdeci">BUTTON_CALLBACK callback</div><div class="ttdoc">Callback which is executed when the button is pressed. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00058">button.h:58</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a></div><div class="ttdoc">Receive an event when the pen leaves the region (pen was inside region before) </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00057">touch.h:57</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -210,6 +267,64 @@ Here is the caller graph for this function:</div>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="button_8c_source.html#l00034">34</a> of file <a class="el" href="button_8c_source.html">button.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#define BRIGHTNESS_VAL 3 //How much the Brightness is in/decreased for button shadows (3 -&gt; Add/Subtract 1/3 off Full Value)</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; uint16_t c_light, c_dark; <span class="comment">//c_light and c_dark will be filled with a lighter and a darker color as the background color (for the shadows)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; uint8_t r, g, b;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">//separate the channels of the 16-bit rgb565 color</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; r = (bgcolor &amp; 0xF800) &gt;&gt; 11;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; g = (bgcolor &amp; 0x07E0) &gt;&gt; 5;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; b = (bgcolor &amp; 0x001F) &gt;&gt; 0;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">//For the light shadow color:</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> ((r + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x1F) { <span class="comment">//Adding one third would exceed the maximum of the red channel</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; c_light = 0xF800; <span class="comment">//Use full red</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; } <span class="keywordflow">else</span> { <span class="comment">//adding one third to the red channel is fine</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; c_light = (r + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 11; <span class="comment">//Use same red as in the background, but add one third</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span> ((g + 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x3F) { <span class="comment">//same for the green channel</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; c_light |= 0x07E0;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; c_light |= (g + 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 5;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> ((b + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x1F) { <span class="comment">//and the blue channel</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; c_light |= 0x0018;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; c_light |= (b + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 0;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">//For the dark shadow color</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (r &gt; (0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//Subtracting one third would NOT exceed the minimum of the red channel</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; c_dark = (r - 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 11; <span class="comment">//Use same red as in the background, but subtract one third</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; } <span class="keywordflow">else</span> { <span class="comment">//Subtracting one third would give us a number below zero</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; c_dark = 0x0000; <span class="comment">//use no red channel</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (g &gt; (0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//Same for the green channel</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; c_dark |= (g - 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 5;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">if</span> (b &gt; (0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//and the blue channel</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; c_dark |= (b - 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 0;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">//Assign the calculated shadows to out parameters</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">if</span> (light_shadow != NULL) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; *light_shadow = c_light;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (dark_shadow != NULL) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; *dark_shadow = c_dark;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="ttc" id="button_8c_html_a30147bc6062a23d99a2fd58b45adfb82"><div class="ttname"><a href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a></div><div class="ttdeci">#define BRIGHTNESS_VAL</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
@@ -224,7 +339,7 @@ Here is the caller graph for this function:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 01:15:03 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>