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

@@ -146,6 +146,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tft_8h_source.html#l00054">54</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga79d10e672abb49ad63eeaa8aaef57c38"></a>
@@ -158,6 +160,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tft_8h_source.html#l00052">52</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<a class="anchor" id="gacfbc006ea433ad708fdee3e82996e721"></a>
@@ -170,6 +174,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tft_8h_source.html#l00051">51</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<a class="anchor" id="gacbaf0b6287f2d906af1e76051be37a87"></a>
@@ -187,6 +193,8 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>Creates a 16bit color from a 24bit hex rgb color code </p><dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>Definition at line <a class="el" href="tft_8h_source.html#l00060">60</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga8d23feea868a983c8c2b661e1e16972f"></a>
@@ -199,6 +207,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tft_8h_source.html#l00050">50</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga4a118ad3ee36468a3fa616977a64864e"></a>
@@ -232,6 +242,8 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>Creates a 16bit color from 8bit * 3 colors (r,g,b) </p><dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>Definition at line <a class="el" href="tft_8h_source.html#l00048">48</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga6c54e72c6142d317114a29adbcbb24b6"></a>
@@ -245,6 +257,8 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>Transparent color </p><dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>Definition at line <a class="el" href="tft_8h_source.html#l00066">66</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga87b537f5fa5c109d3c05c13d6b18f382"></a>
@@ -257,6 +271,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tft_8h_source.html#l00053">53</a> of file <a class="el" href="tft_8h_source.html">tft.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
@@ -280,6 +296,12 @@ Functions</h2></td></tr>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00045">45</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="group__ll__tft.html#ga74b49691a101619b939c085ff607a582">ll_tft_clear</a>(color);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_ga74b49691a101619b939c085ff607a582"><div class="ttname"><a href="group__ll__tft.html#ga74b49691a101619b939c085ff607a582">ll_tft_clear</a></div><div class="ttdeci">void ll_tft_clear(uint16_t color)</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -339,6 +361,80 @@ Here is the caller graph for this function:</div>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00123">123</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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="comment">//This method reads a .bmp file from the filesystem and tries to draw it.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">//Note: The bmp implementation is not complete, it has some limitations and it makes assumptions. See doxygen comment for this method.</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">//Source Copied and adapted from: http://stackoverflow.com/a/17040962/2606757</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="struct_f_i_l_e___h_a_n_d_l_e.html">FILE_HANDLE</a>* file = <a class="code" href="group__filesystem.html#gabd043128e80a4f0573b1360d921b046c">filesystem_file_open</a>(filename); <span class="comment">//try to open the file</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (file == NULL) { <span class="comment">//file opening failed</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; }</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> info[54];</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="group__filesystem.html#ga9e7f715d0000e7b99e2b4732416a0221">filesystem_file_read</a>(file, info, 54) != <a class="code" href="group__filesystem.html#ggab08f51089a5ddbb470a1a36a9478dda4ab16a72615f8613168ea14797c243fdfd">F_OK</a>) { <span class="comment">//try to read the 54 byte header</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="group__filesystem.html#ga0e6cc31bf4c889249e13254306994c2f">filesystem_file_close</a>(file);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">//reading the header failed</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// extract image height and width from header</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; uint32_t <a class="code" href="struct_block.html#ad0eab1042455a2067c812ab8071d5376">width</a> = *(uint32_t*)&amp;info[18]; <span class="comment">//width in pixel</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; uint32_t <a class="code" href="struct_block.html#a81c9f8d0b8c3b49d770be14dbe9f0d37">height</a> = *(uint32_t*)&amp;info[22]; <span class="comment">//height in pixel</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; uint16_t depth = *(uint16_t*)&amp;info[28]; <span class="comment">//bit&#39;s per pixel (color depth)</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; depth /= 8; <span class="comment">//we want the number of bytes per pixel</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="group__filesystem.html#gac447af479c334caa207d6c279571d8a2">filesystem_file_seek</a>(file, *(uint32_t*)&amp;info[10]); <span class="comment">//seek to the place where img data begins</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; uint32_t row_padded = (width * depth + 3) &amp; (~3); <span class="comment">//row size must be aligned to 4 bytes</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> data [row_padded]; <span class="comment">//allocate space for one row (incl. padding)</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="struct_block.html#a81c9f8d0b8c3b49d770be14dbe9f0d37">height</a>; i++) { <span class="comment">//for each row</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="group__filesystem.html#ga9e7f715d0000e7b99e2b4732416a0221">filesystem_file_read</a>(file, data, row_padded); <span class="comment">//read row into buffer</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; width * depth; j += depth) { <span class="comment">//for each pixel</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> a, r, g, b;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span> (depth == 4) { <span class="comment">//a,r,g,b 8bit each</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; a = data[j];</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; r = data[j + 1];</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; g = data[j + 2];</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; b = data[j + 3];</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (depth == 3) { <span class="comment">// b,g,r, 8bit each</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; a = 255;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; r = data[j + 2];</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; g = data[j + 1];</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; b = data[j];</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span> (a != 0) {</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">//bmp&#39;s are stored &quot;bottom-up&quot;, so we start drawing at the bottom</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="group__tft.html#ga82f9b498c57296310f0dfdaa3d7928ac">tft_draw_pixel</a>(<a class="code" href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">x</a> + j / depth, <a class="code" href="struct_block.html#ab0580f504a7428539be299fa71565f30">y</a> + height - 1 - i, <a class="code" href="group__tft.html#ga4a118ad3ee36468a3fa616977a64864e">RGB</a>(r, g, b));</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="group__filesystem.html#ga0e6cc31bf4c889249e13254306994c2f">filesystem_file_close</a>(file);</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
<div class="ttc" id="group__filesystem_html_gac447af479c334caa207d6c279571d8a2"><div class="ttname"><a href="group__filesystem.html#gac447af479c334caa207d6c279571d8a2">filesystem_file_seek</a></div><div class="ttdeci">FILE_STATUS filesystem_file_seek(FILE_HANDLE *handle, uint32_t offset)</div><div class="ttdef"><b>Definition:</b> <a href="filesystem_8c_source.html#l00043">filesystem.c:43</a></div></div>
<div class="ttc" id="group__tft_html_ga4a118ad3ee36468a3fa616977a64864e"><div class="ttname"><a href="group__tft.html#ga4a118ad3ee36468a3fa616977a64864e">RGB</a></div><div class="ttdeci">#define RGB(r, g, b)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8h_source.html#l00048">tft.h:48</a></div></div>
<div class="ttc" id="struct_f_i_l_e___h_a_n_d_l_e_html"><div class="ttname"><a href="struct_f_i_l_e___h_a_n_d_l_e.html">FILE_HANDLE</a></div><div class="ttdef"><b>Definition:</b> <a href="filesystem_8h_source.html#l00081">filesystem.h:81</a></div></div>
<div class="ttc" id="struct_block_html_ab0580f504a7428539be299fa71565f30"><div class="ttname"><a href="struct_block.html#ab0580f504a7428539be299fa71565f30">Block::y</a></div><div class="ttdeci">uint16_t y</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00081">pixy.h:81</a></div></div>
<div class="ttc" id="group__filesystem_html_gabd043128e80a4f0573b1360d921b046c"><div class="ttname"><a href="group__filesystem.html#gabd043128e80a4f0573b1360d921b046c">filesystem_file_open</a></div><div class="ttdeci">FILE_HANDLE * filesystem_file_open(const char *filename)</div><div class="ttdef"><b>Definition:</b> <a href="filesystem_8c_source.html#l00033">filesystem.c:33</a></div></div>
<div class="ttc" id="group__filesystem_html_ga0e6cc31bf4c889249e13254306994c2f"><div class="ttname"><a href="group__filesystem.html#ga0e6cc31bf4c889249e13254306994c2f">filesystem_file_close</a></div><div class="ttdeci">void filesystem_file_close(FILE_HANDLE *handle)</div><div class="ttdef"><b>Definition:</b> <a href="filesystem_8c_source.html#l00038">filesystem.c:38</a></div></div>
<div class="ttc" id="group__tft_html_ga82f9b498c57296310f0dfdaa3d7928ac"><div class="ttname"><a href="group__tft.html#ga82f9b498c57296310f0dfdaa3d7928ac">tft_draw_pixel</a></div><div class="ttdeci">void tft_draw_pixel(uint16_t x, uint16_t y, uint16_t color)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00056">tft.c:56</a></div></div>
<div class="ttc" id="struct_block_html_a81c9f8d0b8c3b49d770be14dbe9f0d37"><div class="ttname"><a href="struct_block.html#a81c9f8d0b8c3b49d770be14dbe9f0d37">Block::height</a></div><div class="ttdeci">uint16_t height</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00083">pixy.h:83</a></div></div>
<div class="ttc" id="struct_block_html_ad0eab1042455a2067c812ab8071d5376"><div class="ttname"><a href="struct_block.html#ad0eab1042455a2067c812ab8071d5376">Block::width</a></div><div class="ttdeci">uint16_t width</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00082">pixy.h:82</a></div></div>
<div class="ttc" id="group__filesystem_html_ggab08f51089a5ddbb470a1a36a9478dda4ab16a72615f8613168ea14797c243fdfd"><div class="ttname"><a href="group__filesystem.html#ggab08f51089a5ddbb470a1a36a9478dda4ab16a72615f8613168ea14797c243fdfd">F_OK</a></div><div class="ttdoc">Everything ok. </div><div class="ttdef"><b>Definition:</b> <a href="filesystem_8h_source.html#l00091">filesystem.h:91</a></div></div>
<div class="ttc" id="struct_block_html_a4dde988b1b2adba65ae3efa69f65d960"><div class="ttname"><a href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">Block::x</a></div><div class="ttdeci">uint16_t x</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00080">pixy.h:80</a></div></div>
<div class="ttc" id="group__filesystem_html_ga9e7f715d0000e7b99e2b4732416a0221"><div class="ttname"><a href="group__filesystem.html#ga9e7f715d0000e7b99e2b4732416a0221">filesystem_file_read</a></div><div class="ttdeci">FILE_STATUS filesystem_file_read(FILE_HANDLE *handle, uint8_t *buf, uint32_t size)</div><div class="ttdef"><b>Definition:</b> <a href="filesystem_8c_source.html#l00048">filesystem.c:48</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -411,6 +507,16 @@ Here is the caller graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00072">72</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="group__ll__tft.html#gafaf8d5f70b46fcbdd3c700a030f14b61">ll_tft_draw_bitmap_unscaled</a>(<a class="code" href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">x</a>, <a class="code" href="struct_block.html#ab0580f504a7428539be299fa71565f30">y</a>, <a class="code" href="struct_block.html#ad0eab1042455a2067c812ab8071d5376">width</a>, <a class="code" href="struct_block.html#a81c9f8d0b8c3b49d770be14dbe9f0d37">height</a>, dat);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
<div class="ttc" id="struct_block_html_ab0580f504a7428539be299fa71565f30"><div class="ttname"><a href="struct_block.html#ab0580f504a7428539be299fa71565f30">Block::y</a></div><div class="ttdeci">uint16_t y</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00081">pixy.h:81</a></div></div>
<div class="ttc" id="struct_block_html_a81c9f8d0b8c3b49d770be14dbe9f0d37"><div class="ttname"><a href="struct_block.html#a81c9f8d0b8c3b49d770be14dbe9f0d37">Block::height</a></div><div class="ttdeci">uint16_t height</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00083">pixy.h:83</a></div></div>
<div class="ttc" id="struct_block_html_ad0eab1042455a2067c812ab8071d5376"><div class="ttname"><a href="struct_block.html#ad0eab1042455a2067c812ab8071d5376">Block::width</a></div><div class="ttdeci">uint16_t width</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00082">pixy.h:82</a></div></div>
<div class="ttc" id="struct_block_html_a4dde988b1b2adba65ae3efa69f65d960"><div class="ttname"><a href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">Block::x</a></div><div class="ttdeci">uint16_t x</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00080">pixy.h:80</a></div></div>
<div class="ttc" id="group__ll__tft_html_gafaf8d5f70b46fcbdd3c700a030f14b61"><div class="ttname"><a href="group__ll__tft.html#gafaf8d5f70b46fcbdd3c700a030f14b61">ll_tft_draw_bitmap_unscaled</a></div><div class="ttdeci">void ll_tft_draw_bitmap_unscaled(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *dat)</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -476,6 +582,14 @@ Here is the caller graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00077">77</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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; <a class="code" href="group__ll__tft.html#gaa2d2a94a228ad5fc8364a642f32b680d">ll_tft_draw_circle</a>(<a class="code" href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">x</a>, <a class="code" href="struct_block.html#ab0580f504a7428539be299fa71565f30">y</a>, r, color);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_gaa2d2a94a228ad5fc8364a642f32b680d"><div class="ttname"><a href="group__ll__tft.html#gaa2d2a94a228ad5fc8364a642f32b680d">ll_tft_draw_circle</a></div><div class="ttdeci">void ll_tft_draw_circle(uint16_t x, uint16_t y, uint16_t r, uint16_t color)</div></div>
<div class="ttc" id="struct_block_html_ab0580f504a7428539be299fa71565f30"><div class="ttname"><a href="struct_block.html#ab0580f504a7428539be299fa71565f30">Block::y</a></div><div class="ttdeci">uint16_t y</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00081">pixy.h:81</a></div></div>
<div class="ttc" id="struct_block_html_a4dde988b1b2adba65ae3efa69f65d960"><div class="ttname"><a href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">Block::x</a></div><div class="ttdeci">uint16_t x</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00080">pixy.h:80</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -548,6 +662,12 @@ Here is the caller graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00050">50</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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; <a class="code" href="group__ll__tft.html#ga2560737bf118275e6ce728f6dce1e83f">ll_tft_draw_line</a>(x1, y1, x2, y2, color);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_ga2560737bf118275e6ce728f6dce1e83f"><div class="ttname"><a href="group__ll__tft.html#ga2560737bf118275e6ce728f6dce1e83f">ll_tft_draw_line</a></div><div class="ttdeci">void ll_tft_draw_line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -606,6 +726,14 @@ Here is the caller graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00056">56</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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; <a class="code" href="group__ll__tft.html#gad219f39d734f774eb4f5390b5f9f8309">ll_tft_draw_pixel</a>(<a class="code" href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">x</a>, <a class="code" href="struct_block.html#ab0580f504a7428539be299fa71565f30">y</a>, color);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div>
<div class="ttc" id="struct_block_html_ab0580f504a7428539be299fa71565f30"><div class="ttname"><a href="struct_block.html#ab0580f504a7428539be299fa71565f30">Block::y</a></div><div class="ttdeci">uint16_t y</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00081">pixy.h:81</a></div></div>
<div class="ttc" id="group__ll__tft_html_gad219f39d734f774eb4f5390b5f9f8309"><div class="ttname"><a href="group__ll__tft.html#gad219f39d734f774eb4f5390b5f9f8309">ll_tft_draw_pixel</a></div><div class="ttdeci">void ll_tft_draw_pixel(uint16_t x, uint16_t y, uint16_t color)</div></div>
<div class="ttc" id="struct_block_html_a4dde988b1b2adba65ae3efa69f65d960"><div class="ttname"><a href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">Block::x</a></div><div class="ttdeci">uint16_t x</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00080">pixy.h:80</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -678,6 +806,13 @@ Here is the caller graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00061">61</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;{</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">//could be implemented with 4 lines instead of introducing a ll func</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="group__ll__tft.html#ga3a0826993525194c868cc435738dd31e">ll_tft_draw_rectangle</a>(x1, y1, x2, y2, color);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_ga3a0826993525194c868cc435738dd31e"><div class="ttname"><a href="group__ll__tft.html#ga3a0826993525194c868cc435738dd31e">ll_tft_draw_rectangle</a></div><div class="ttdeci">void ll_tft_draw_rectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -750,6 +885,12 @@ Here is the caller graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00067">67</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="group__ll__tft.html#ga0111ae5623214d3d466b2b24598f303f">ll_tft_fill_rectangle</a>(x1, y1, x2, y2, color);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_ga0111ae5623214d3d466b2b24598f303f"><div class="ttname"><a href="group__ll__tft.html#ga0111ae5623214d3d466b2b24598f303f">ll_tft_fill_rectangle</a></div><div class="ttdeci">void ll_tft_fill_rectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -791,6 +932,12 @@ Here is the caller graph for this function:</div>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The height in pixel </dd></dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00087">87</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="group__ll__tft.html#ga8dbc8b40717be527e6f1c5a2cfc72aeb">ll_tft_font_height</a>(fontnum);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_ga8dbc8b40717be527e6f1c5a2cfc72aeb"><div class="ttname"><a href="group__ll__tft.html#ga8dbc8b40717be527e6f1c5a2cfc72aeb">ll_tft_font_height</a></div><div class="ttdeci">uint8_t ll_tft_font_height(uint8_t fontnum)</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -832,6 +979,12 @@ Here is the caller graph for this function:</div>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The width in pixel </dd></dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00092">92</a> of file <a class="el" href="tft_8c_source.html">tft.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; <span class="keywordflow">return</span> <a class="code" href="group__ll__tft.html#ga3639ec94b2239cc02b3c47a14f6637a3">ll_tft_font_width</a>(fontnum);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_ga3639ec94b2239cc02b3c47a14f6637a3"><div class="ttname"><a href="group__ll__tft.html#ga3639ec94b2239cc02b3c47a14f6637a3">ll_tft_font_width</a></div><div class="ttdeci">uint8_t ll_tft_font_width(uint8_t fontnum)</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -866,6 +1019,13 @@ Here is the caller graph for this function:</div>
</div><div class="memdoc">
<p>Initializes the display. Call this method before using any tft_* functions </p><dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00039">39</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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="keywordflow">return</span> <a class="code" href="group__ll__tft.html#gac974fbb4327f3b0abaac5c33c07337c7">ll_tft_init</a>();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_gac974fbb4327f3b0abaac5c33c07337c7"><div class="ttname"><a href="group__ll__tft.html#gac974fbb4327f3b0abaac5c33c07337c7">ll_tft_init</a></div><div class="ttdeci">bool ll_tft_init()</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -900,6 +1060,12 @@ Here is the caller graph for this function:</div>
</div><div class="memdoc">
<p>Queries the number of available fonts </p><dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00082">82</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="group__ll__tft.html#gaf4b0b73ab01e1dc300ae65dc0ac029b6">ll_tft_num_fonts</a>();</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}</div>
<div class="ttc" id="group__ll__tft_html_gaf4b0b73ab01e1dc300ae65dc0ac029b6"><div class="ttname"><a href="group__ll__tft.html#gaf4b0b73ab01e1dc300ae65dc0ac029b6">ll_tft_num_fonts</a></div><div class="ttdeci">uint8_t ll_tft_num_fonts()</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -977,6 +1143,21 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00111">111</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">static</span> <span class="keywordtype">char</span> buffer[128]; <span class="comment">//buffer to save the formatted text into</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">//Since we have variable arguments, we need to forward them. We have to use vsprintf instead of sprintf for that.</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; va_list args;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; va_start(args, format); <span class="comment">//start the varg-list</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; vsprintf(buffer, format, args); <span class="comment">//let vsprintf render the formatted string</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="group__tft.html#gabf54943131990b366ce6875a0e1925f6">tft_print_line</a>(<a class="code" href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">x</a>, <a class="code" href="struct_block.html#ab0580f504a7428539be299fa71565f30">y</a>, color, bgcolor, font, buffer); <span class="comment">//print the string as normal text</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; va_end(args); <span class="comment">//end the varg-list</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div>
<div class="ttc" id="group__tft_html_gabf54943131990b366ce6875a0e1925f6"><div class="ttname"><a href="group__tft.html#gabf54943131990b366ce6875a0e1925f6">tft_print_line</a></div><div class="ttdeci">void tft_print_line(uint16_t x, uint16_t y, uint16_t color, uint16_t bgcolor, uint8_t font, const char *text)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00098">tft.c:98</a></div></div>
<div class="ttc" id="struct_block_html_ab0580f504a7428539be299fa71565f30"><div class="ttname"><a href="struct_block.html#ab0580f504a7428539be299fa71565f30">Block::y</a></div><div class="ttdeci">uint16_t y</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00081">pixy.h:81</a></div></div>
<div class="ttc" id="struct_block_html_a4dde988b1b2adba65ae3efa69f65d960"><div class="ttname"><a href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">Block::x</a></div><div class="ttdeci">uint16_t x</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00080">pixy.h:80</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -1056,6 +1237,23 @@ Here is the caller graph for this function:</div>
</dd>
</dl>
<p>Definition at line <a class="el" href="tft_8c_source.html#l00098">98</a> of file <a class="el" href="tft_8c_source.html">tft.c</a>.</p>
<div class="fragment"><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">if</span> (font &gt;= <a class="code" href="group__ll__tft.html#gaf4b0b73ab01e1dc300ae65dc0ac029b6">ll_tft_num_fonts</a>()) {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span>; <span class="comment">//invalid font index</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</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="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; strlen(text); i++) { <span class="comment">//for each char in the line</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="group__ll__tft.html#ga408570a2b70769255924792ce189f2c1">ll_tft_draw_char</a>(<a class="code" href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">x</a>, <a class="code" href="struct_block.html#ab0580f504a7428539be299fa71565f30">y</a>, color, bgcolor, font, text[i]); <span class="comment">//draw the char</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">x</a> += <a class="code" href="group__ll__tft.html#ga3639ec94b2239cc02b3c47a14f6637a3">ll_tft_font_width</a>(font); <span class="comment">//and increase the x position</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;}</div>
<div class="ttc" id="struct_block_html_ab0580f504a7428539be299fa71565f30"><div class="ttname"><a href="struct_block.html#ab0580f504a7428539be299fa71565f30">Block::y</a></div><div class="ttdeci">uint16_t y</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00081">pixy.h:81</a></div></div>
<div class="ttc" id="group__ll__tft_html_ga3639ec94b2239cc02b3c47a14f6637a3"><div class="ttname"><a href="group__ll__tft.html#ga3639ec94b2239cc02b3c47a14f6637a3">ll_tft_font_width</a></div><div class="ttdeci">uint8_t ll_tft_font_width(uint8_t fontnum)</div></div>
<div class="ttc" id="group__ll__tft_html_gaf4b0b73ab01e1dc300ae65dc0ac029b6"><div class="ttname"><a href="group__ll__tft.html#gaf4b0b73ab01e1dc300ae65dc0ac029b6">ll_tft_num_fonts</a></div><div class="ttdeci">uint8_t ll_tft_num_fonts()</div></div>
<div class="ttc" id="group__ll__tft_html_ga408570a2b70769255924792ce189f2c1"><div class="ttname"><a href="group__ll__tft.html#ga408570a2b70769255924792ce189f2c1">ll_tft_draw_char</a></div><div class="ttdeci">void ll_tft_draw_char(uint16_t x, uint16_t y, uint16_t color, uint16_t bgcolor, uint8_t font, char c)</div></div>
<div class="ttc" id="struct_block_html_a4dde988b1b2adba65ae3efa69f65d960"><div class="ttname"><a href="struct_block.html#a4dde988b1b2adba65ae3efa69f65d960">Block::x</a></div><div class="ttdeci">uint16_t x</div><div class="ttdef"><b>Definition:</b> <a href="pixy_8h_source.html#l00080">pixy.h:80</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -1079,7 +1277,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:19 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>