1
0
mirror of https://github.com/taigrr/arduinolibs synced 2025-01-18 04:33:12 -08:00
arduinolibs/classDMD.html
Rhys Weatherley 87d421783a Update docs
2015-03-14 09:07:46 +10:00

764 lines
86 KiB
HTML

<!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"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ArduinoLibs: DMD Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">ArduinoLibs
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<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="modules.html"><span>Modules</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>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- 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>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</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>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classDMD-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">DMD Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Handle large dot matrix displays composed of LED's.
<a href="classDMD.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="DMD_8h_source.html">DMD.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for DMD:</div>
<div class="dyncontent">
<div class="center">
<img src="classDMD.png" usemap="#DMD_map" alt=""/>
<map id="DMD_map" name="DMD_map">
<area href="classBitmap.html" title="Represents a monochrome bitmap within main memory. " alt="Bitmap" shape="rect" coords="0,0,49,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:affd37accffe951c8878434dfa1245809"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#affd37accffe951c8878434dfa1245809">DMD</a> (int widthPanels=1, int heightPanels=1)</td></tr>
<tr class="memdesc:affd37accffe951c8878434dfa1245809"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new dot matrix display handler for a display that is <em>widthPanels</em> x <em>heightPanels</em> in size. <a href="#affd37accffe951c8878434dfa1245809">More...</a><br/></td></tr>
<tr class="separator:affd37accffe951c8878434dfa1245809"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b37e05584d3e0308163700920df99b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b37e05584d3e0308163700920df99b2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a7b37e05584d3e0308163700920df99b2">~DMD</a> ()</td></tr>
<tr class="memdesc:a7b37e05584d3e0308163700920df99b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys this dot matrix display handler. <br/></td></tr>
<tr class="separator:a7b37e05584d3e0308163700920df99b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab1f3ba29c053d630ae12865d22166ec"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#aab1f3ba29c053d630ae12865d22166ec">doubleBuffer</a> () const </td></tr>
<tr class="memdesc:aab1f3ba29c053d630ae12865d22166ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the display is double-buffered; false if single-buffered. The default is false. <a href="#aab1f3ba29c053d630ae12865d22166ec">More...</a><br/></td></tr>
<tr class="separator:aab1f3ba29c053d630ae12865d22166ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fbdcf8832f91d02500cb7a9b84d2723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723">setDoubleBuffer</a> (bool <a class="el" href="classDMD.html#aab1f3ba29c053d630ae12865d22166ec">doubleBuffer</a>)</td></tr>
<tr class="memdesc:a6fbdcf8832f91d02500cb7a9b84d2723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables double-buffering according to <em>doubleBuffer</em>. <a href="#a6fbdcf8832f91d02500cb7a9b84d2723">More...</a><br/></td></tr>
<tr class="separator:a6fbdcf8832f91d02500cb7a9b84d2723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80269ccd44b3ef9ee15f0a1009b7a60a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a80269ccd44b3ef9ee15f0a1009b7a60a">swapBuffers</a> ()</td></tr>
<tr class="memdesc:a80269ccd44b3ef9ee15f0a1009b7a60a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps the buffers that are used for rendering to the display. <a href="#a80269ccd44b3ef9ee15f0a1009b7a60a">More...</a><br/></td></tr>
<tr class="separator:a80269ccd44b3ef9ee15f0a1009b7a60a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b1771cf790b2b62eea55e56b02e3736"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a0b1771cf790b2b62eea55e56b02e3736">swapBuffersAndCopy</a> ()</td></tr>
<tr class="memdesc:a0b1771cf790b2b62eea55e56b02e3736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps the buffers that are used for rendering to the display and copies the former back buffer contents to the new back buffer. <a href="#a0b1771cf790b2b62eea55e56b02e3736">More...</a><br/></td></tr>
<tr class="separator:a0b1771cf790b2b62eea55e56b02e3736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c74a0845ef6080056b972d490648114"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a2c74a0845ef6080056b972d490648114">loop</a> ()</td></tr>
<tr class="memdesc:a2c74a0845ef6080056b972d490648114"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs regular display refresh activities from the application's main loop. <a href="#a2c74a0845ef6080056b972d490648114">More...</a><br/></td></tr>
<tr class="separator:a2c74a0845ef6080056b972d490648114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e4bf2a9d247312d35c1401ff61261c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8">refresh</a> ()</td></tr>
<tr class="memdesc:a9e4bf2a9d247312d35c1401ff61261c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Refresh the display. <a href="#a9e4bf2a9d247312d35c1401ff61261c8">More...</a><br/></td></tr>
<tr class="separator:a9e4bf2a9d247312d35c1401ff61261c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c3b04b384f3d656a9b59690836775e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2">enableTimer1</a> ()</td></tr>
<tr class="memdesc:a4c3b04b384f3d656a9b59690836775e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables Timer1 overflow interrupts for updating this display. <a href="#a4c3b04b384f3d656a9b59690836775e2">More...</a><br/></td></tr>
<tr class="separator:a4c3b04b384f3d656a9b59690836775e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39af27e216f654ecc7e60b0614cb6b33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a39af27e216f654ecc7e60b0614cb6b33">disableTimer1</a> ()</td></tr>
<tr class="memdesc:a39af27e216f654ecc7e60b0614cb6b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables Timer1 overflow interrupts. <a href="#a39af27e216f654ecc7e60b0614cb6b33">More...</a><br/></td></tr>
<tr class="separator:a39af27e216f654ecc7e60b0614cb6b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5469775db7fafebca2cdbc6a6372fb97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a5469775db7fafebca2cdbc6a6372fb97">enableTimer2</a> ()</td></tr>
<tr class="memdesc:a5469775db7fafebca2cdbc6a6372fb97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables Timer2 overflow interrupts for updating this display. <a href="#a5469775db7fafebca2cdbc6a6372fb97">More...</a><br/></td></tr>
<tr class="separator:a5469775db7fafebca2cdbc6a6372fb97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52fe885bfb380b74df54c96221811cff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a52fe885bfb380b74df54c96221811cff">disableTimer2</a> ()</td></tr>
<tr class="memdesc:a52fe885bfb380b74df54c96221811cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables Timer2 overflow interrupts. <a href="#a52fe885bfb380b74df54c96221811cff">More...</a><br/></td></tr>
<tr class="separator:a52fe885bfb380b74df54c96221811cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classBitmap"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classBitmap')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classBitmap.html">Bitmap</a></td></tr>
<tr class="memitem:a40526748415c8bbc58a8510d636c20f4 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a40526748415c8bbc58a8510d636c20f4">Bitmap</a> (int <a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523">width</a>, int <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3">height</a>)</td></tr>
<tr class="memdesc:a40526748415c8bbc58a8510d636c20f4 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new in-memory bitmap that is <em>width</em> x <em>height</em> pixels in size. <a href="#a40526748415c8bbc58a8510d636c20f4">More...</a><br/></td></tr>
<tr class="separator:a40526748415c8bbc58a8510d636c20f4 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72d2a301ec1eb1c8d0f3d64823659a8e inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72d2a301ec1eb1c8d0f3d64823659a8e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a72d2a301ec1eb1c8d0f3d64823659a8e">~Bitmap</a> ()</td></tr>
<tr class="memdesc:a72d2a301ec1eb1c8d0f3d64823659a8e inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys this bitmap. <br/></td></tr>
<tr class="separator:a72d2a301ec1eb1c8d0f3d64823659a8e inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3846a240722e847d3cf11f701da1ce7b inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a3846a240722e847d3cf11f701da1ce7b">isValid</a> () const </td></tr>
<tr class="memdesc:a3846a240722e847d3cf11f701da1ce7b inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the memory for this bitmap is valid; false otherwise. <a href="#a3846a240722e847d3cf11f701da1ce7b">More...</a><br/></td></tr>
<tr class="separator:a3846a240722e847d3cf11f701da1ce7b inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76c3b49e535761f07c553e7336daf523 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523">width</a> () const </td></tr>
<tr class="memdesc:a76c3b49e535761f07c553e7336daf523 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the width of the bitmap in pixels. <a href="#a76c3b49e535761f07c553e7336daf523">More...</a><br/></td></tr>
<tr class="separator:a76c3b49e535761f07c553e7336daf523 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcd4e3dc7594421e647b0f52da9a41a3 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3">height</a> () const </td></tr>
<tr class="memdesc:adcd4e3dc7594421e647b0f52da9a41a3 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the height of the bitmap in pixels. <a href="#adcd4e3dc7594421e647b0f52da9a41a3">More...</a><br/></td></tr>
<tr class="separator:adcd4e3dc7594421e647b0f52da9a41a3 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af30df263729385ea2330effe3c80a1bc inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#af30df263729385ea2330effe3c80a1bc">stride</a> () const </td></tr>
<tr class="memdesc:af30df263729385ea2330effe3c80a1bc inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes in each line of the bitmap's <a class="el" href="classBitmap.html#a5eeed27c176eb6e4a2c39ea83444e27d" title="Returns a pointer to the start of the bitmap&#39;s data buffer. ">data()</a> buffer. <a href="#af30df263729385ea2330effe3c80a1bc">More...</a><br/></td></tr>
<tr class="separator:af30df263729385ea2330effe3c80a1bc inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad18d3d5a1e77d541a95e93ad1f958411 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#ad18d3d5a1e77d541a95e93ad1f958411">bitsPerPixel</a> () const </td></tr>
<tr class="memdesc:ad18d3d5a1e77d541a95e93ad1f958411 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bits per pixel for the bitmap; always 1. <a href="#ad18d3d5a1e77d541a95e93ad1f958411">More...</a><br/></td></tr>
<tr class="separator:ad18d3d5a1e77d541a95e93ad1f958411 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eeed27c176eb6e4a2c39ea83444e27d inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a5eeed27c176eb6e4a2c39ea83444e27d">data</a> ()</td></tr>
<tr class="memdesc:a5eeed27c176eb6e4a2c39ea83444e27d inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the start of the bitmap's data buffer. <a href="#a5eeed27c176eb6e4a2c39ea83444e27d">More...</a><br/></td></tr>
<tr class="separator:a5eeed27c176eb6e4a2c39ea83444e27d inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20fea2a946545aa3b5edd78245149e5f inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20fea2a946545aa3b5edd78245149e5f"></a>
const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a20fea2a946545aa3b5edd78245149e5f">data</a> () const </td></tr>
<tr class="memdesc:a20fea2a946545aa3b5edd78245149e5f inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a constant pointer to the start of the bitmap's data buffer. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br/></td></tr>
<tr class="separator:a20fea2a946545aa3b5edd78245149e5f inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a839dc8fab05a5ebf7a6b2e61436b2fa1 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1">clear</a> (<a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color=<a class="el" href="classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc">Black</a>)</td></tr>
<tr class="memdesc:a839dc8fab05a5ebf7a6b2e61436b2fa1 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the entire bitmap to the specified <em>color</em>. <a href="#a839dc8fab05a5ebf7a6b2e61436b2fa1">More...</a><br/></td></tr>
<tr class="separator:a839dc8fab05a5ebf7a6b2e61436b2fa1 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35aa38b377d509d6c4f061a0b988d203 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a35aa38b377d509d6c4f061a0b988d203">pixel</a> (int x, int y) const </td></tr>
<tr class="memdesc:a35aa38b377d509d6c4f061a0b988d203 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the color of the pixel at (<em>x</em>, <em>y</em>); either <a class="el" href="classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc">Black</a> or <a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>. <a href="#a35aa38b377d509d6c4f061a0b988d203">More...</a><br/></td></tr>
<tr class="separator:a35aa38b377d509d6c4f061a0b988d203 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac994b75418e7d37ec66829437329114 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#aac994b75418e7d37ec66829437329114">setPixel</a> (int x, int y, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color)</td></tr>
<tr class="memdesc:aac994b75418e7d37ec66829437329114 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the pixel at (<em>x</em>, <em>y</em>) to <em>color</em>. <a href="#aac994b75418e7d37ec66829437329114">More...</a><br/></td></tr>
<tr class="separator:aac994b75418e7d37ec66829437329114 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0a84f3694e343d68e7021552c69f767 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#aa0a84f3694e343d68e7021552c69f767">drawLine</a> (int x1, int y1, int x2, int y2, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>)</td></tr>
<tr class="memdesc:aa0a84f3694e343d68e7021552c69f767 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a line from (<em>x1</em>, <em>y1</em>) to (<em>x2</em>, <em>y2</em>) in <em>color</em>. <a href="#aa0a84f3694e343d68e7021552c69f767">More...</a><br/></td></tr>
<tr class="separator:aa0a84f3694e343d68e7021552c69f767 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac61e3f7f625db568e37d88b52b3b2fc inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#aac61e3f7f625db568e37d88b52b3b2fc">drawRect</a> (int x1, int y1, int x2, int y2, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> borderColor=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> fillColor=<a class="el" href="classBitmap.html#aa89170263dc1f51f6366c1907119715e">NoFill</a>)</td></tr>
<tr class="memdesc:aac61e3f7f625db568e37d88b52b3b2fc inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a rectangle from (<em>x1</em>, <em>y1</em>) to (<em>x2</em>, <em>y2</em>), with the outline in <em>borderColor</em> and the interior filled with <em>fillColor</em>. <a href="#aac61e3f7f625db568e37d88b52b3b2fc">More...</a><br/></td></tr>
<tr class="separator:aac61e3f7f625db568e37d88b52b3b2fc inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a568acbca3818dd85dd62fff6d0b36ffb inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a568acbca3818dd85dd62fff6d0b36ffb">drawFilledRect</a> (int x1, int y1, int x2, int y2, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>)</td></tr>
<tr class="memdesc:a568acbca3818dd85dd62fff6d0b36ffb inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a filled rectangle from (<em>x1</em>, <em>y1</em>) to (<em>x2</em>, <em>y2</em>) in <em>color</em>. <a href="#a568acbca3818dd85dd62fff6d0b36ffb">More...</a><br/></td></tr>
<tr class="separator:a568acbca3818dd85dd62fff6d0b36ffb inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a933763a4f3cba79fbcf97ae6d0a864aa inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a933763a4f3cba79fbcf97ae6d0a864aa">drawCircle</a> (int centerX, int centerY, int radius, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> borderColor=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> fillColor=<a class="el" href="classBitmap.html#aa89170263dc1f51f6366c1907119715e">NoFill</a>)</td></tr>
<tr class="memdesc:a933763a4f3cba79fbcf97ae6d0a864aa inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a circle with a specific center (<em>centerX</em>, <em>centerY</em>) and <em>radius</em>, with the outline in <em>borderColor</em> and the interior filled with <em>fillColor</em>. <a href="#a933763a4f3cba79fbcf97ae6d0a864aa">More...</a><br/></td></tr>
<tr class="separator:a933763a4f3cba79fbcf97ae6d0a864aa inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a757291b9a39bcb0d64ac98d3a2fa061b inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a757291b9a39bcb0d64ac98d3a2fa061b">drawFilledCircle</a> (int centerX, int centerY, int radius, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>)</td></tr>
<tr class="memdesc:a757291b9a39bcb0d64ac98d3a2fa061b inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a filled circle with a specific center (<em>centerX</em>, <em>centerY</em>) and <em>radius</em> in <em>color</em>. <a href="#a757291b9a39bcb0d64ac98d3a2fa061b">More...</a><br/></td></tr>
<tr class="separator:a757291b9a39bcb0d64ac98d3a2fa061b inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a491e9c0bb20ddf5a5eb4933077c8ed72 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a491e9c0bb20ddf5a5eb4933077c8ed72">drawBitmap</a> (int x, int y, const <a class="el" href="classBitmap.html">Bitmap</a> &amp;bitmap, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>)</td></tr>
<tr class="memdesc:a491e9c0bb20ddf5a5eb4933077c8ed72 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws <em>bitmap</em> at (<em>x</em>, <em>y</em>) in <em>color</em>. <a href="#a491e9c0bb20ddf5a5eb4933077c8ed72">More...</a><br/></td></tr>
<tr class="separator:a491e9c0bb20ddf5a5eb4933077c8ed72 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e4f23e8f14e193410b5f071149401e4 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a5e4f23e8f14e193410b5f071149401e4">drawBitmap</a> (int x, int y, <a class="el" href="classBitmap.html#a2fcc98fd7580932b218134126a29ce43">Bitmap::ProgMem</a> bitmap, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>)</td></tr>
<tr class="memdesc:a5e4f23e8f14e193410b5f071149401e4 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws <em>bitmap</em> at (<em>x</em>, <em>y</em>) in <em>color</em>. <a href="#a5e4f23e8f14e193410b5f071149401e4">More...</a><br/></td></tr>
<tr class="separator:a5e4f23e8f14e193410b5f071149401e4 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4321640464bc08b60348c09bff01b86a inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a4321640464bc08b60348c09bff01b86a">drawInvertedBitmap</a> (int x, int y, const <a class="el" href="classBitmap.html">Bitmap</a> &amp;bitmap)</td></tr>
<tr class="memdesc:a4321640464bc08b60348c09bff01b86a inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws <em>bitmap</em> at (<em>x</em>, <em>y</em>) in inverted colors. <a href="#a4321640464bc08b60348c09bff01b86a">More...</a><br/></td></tr>
<tr class="separator:a4321640464bc08b60348c09bff01b86a inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e862b72c2d6471af737fac320472d69 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a2e862b72c2d6471af737fac320472d69">drawInvertedBitmap</a> (int x, int y, <a class="el" href="classBitmap.html#a2fcc98fd7580932b218134126a29ce43">Bitmap::ProgMem</a> bitmap)</td></tr>
<tr class="memdesc:a2e862b72c2d6471af737fac320472d69 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws <em>bitmap</em> at (<em>x</em>, <em>y</em>) in inverted colors. <a href="#a2e862b72c2d6471af737fac320472d69">More...</a><br/></td></tr>
<tr class="separator:a2e862b72c2d6471af737fac320472d69 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bf0a232b4bd12573cc570cc0edef47c inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitmap.html#a456f7d6da03189c1e7148563a891b3cf">Font</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c">font</a> () const </td></tr>
<tr class="memdesc:a7bf0a232b4bd12573cc570cc0edef47c inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the currently selected font, or null if none selected. <a href="#a7bf0a232b4bd12573cc570cc0edef47c">More...</a><br/></td></tr>
<tr class="separator:a7bf0a232b4bd12573cc570cc0edef47c inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d7a9651d5c385a044cc910a3b82837 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a64d7a9651d5c385a044cc910a3b82837">setFont</a> (<a class="el" href="classBitmap.html#a456f7d6da03189c1e7148563a891b3cf">Font</a> <a class="el" href="classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c">font</a>)</td></tr>
<tr class="memdesc:a64d7a9651d5c385a044cc910a3b82837 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the <em>font</em> for use with <a class="el" href="classBitmap.html#a3e9bcbfb584d5020bd6f0a313ee275f0" title="Draws the len characters of str at (x, y). ">drawText()</a> and <a class="el" href="classBitmap.html#a1a11f29863ee7f36a3b15c91963102bd" title="Draws a single character ch at (x, y). ">drawChar()</a>. <a href="#a64d7a9651d5c385a044cc910a3b82837">More...</a><br/></td></tr>
<tr class="separator:a64d7a9651d5c385a044cc910a3b82837 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6e5f5744fd2f18478aac428b751d848 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#ab6e5f5744fd2f18478aac428b751d848">textColor</a> () const </td></tr>
<tr class="memdesc:ab6e5f5744fd2f18478aac428b751d848 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the color that will be used for drawing text with <a class="el" href="classBitmap.html#a3e9bcbfb584d5020bd6f0a313ee275f0" title="Draws the len characters of str at (x, y). ">drawText()</a> and <a class="el" href="classBitmap.html#a1a11f29863ee7f36a3b15c91963102bd" title="Draws a single character ch at (x, y). ">drawChar()</a>. The default is <a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>. <a href="#ab6e5f5744fd2f18478aac428b751d848">More...</a><br/></td></tr>
<tr class="separator:ab6e5f5744fd2f18478aac428b751d848 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e225a4f188269bb18265ae4b49de0a3 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a8e225a4f188269bb18265ae4b49de0a3">setTextColor</a> (<a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color)</td></tr>
<tr class="memdesc:a8e225a4f188269bb18265ae4b49de0a3 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the <em>color</em> that will be used for drawing text with <a class="el" href="classBitmap.html#a3e9bcbfb584d5020bd6f0a313ee275f0" title="Draws the len characters of str at (x, y). ">drawText()</a> and <a class="el" href="classBitmap.html#a1a11f29863ee7f36a3b15c91963102bd" title="Draws a single character ch at (x, y). ">drawChar()</a>. <a href="#a8e225a4f188269bb18265ae4b49de0a3">More...</a><br/></td></tr>
<tr class="separator:a8e225a4f188269bb18265ae4b49de0a3 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e9bcbfb584d5020bd6f0a313ee275f0 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a3e9bcbfb584d5020bd6f0a313ee275f0">drawText</a> (int x, int y, const char *str, int len=-1)</td></tr>
<tr class="memdesc:a3e9bcbfb584d5020bd6f0a313ee275f0 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws the <em>len</em> characters of <em>str</em> at (<em>x</em>, <em>y</em>). <a href="#a3e9bcbfb584d5020bd6f0a313ee275f0">More...</a><br/></td></tr>
<tr class="separator:a3e9bcbfb584d5020bd6f0a313ee275f0 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a802f5d6bd19a3727670e61e7a88a0cac inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a802f5d6bd19a3727670e61e7a88a0cac">drawText</a> (int x, int y, const String &amp;str, int start=0, int len=-1)</td></tr>
<tr class="memdesc:a802f5d6bd19a3727670e61e7a88a0cac inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws <em>len</em> characters starting at <em>start</em> from <em>str</em> to the screen at (<em>x</em>, <em>y</em>). <a href="#a802f5d6bd19a3727670e61e7a88a0cac">More...</a><br/></td></tr>
<tr class="separator:a802f5d6bd19a3727670e61e7a88a0cac inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a11f29863ee7f36a3b15c91963102bd inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a1a11f29863ee7f36a3b15c91963102bd">drawChar</a> (int x, int y, char ch)</td></tr>
<tr class="memdesc:a1a11f29863ee7f36a3b15c91963102bd inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a single character <em>ch</em> at (<em>x</em>, <em>y</em>). <a href="#a1a11f29863ee7f36a3b15c91963102bd">More...</a><br/></td></tr>
<tr class="separator:a1a11f29863ee7f36a3b15c91963102bd inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b79ac13077ca865e4515510297780bd inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a9b79ac13077ca865e4515510297780bd">charWidth</a> (char ch) const </td></tr>
<tr class="memdesc:a9b79ac13077ca865e4515510297780bd inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the width in pixels of <em>ch</em> in the current <a class="el" href="classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c" title="Returns the currently selected font, or null if none selected. ">font()</a>. <a href="#a9b79ac13077ca865e4515510297780bd">More...</a><br/></td></tr>
<tr class="separator:a9b79ac13077ca865e4515510297780bd inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f7607b1c7867987f4500d490a666e8a inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a0f7607b1c7867987f4500d490a666e8a">textWidth</a> (const char *str, int len=-1) const </td></tr>
<tr class="memdesc:a0f7607b1c7867987f4500d490a666e8a inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the width in pixels of the <em>len</em> characters of <em>str</em> in the current <a class="el" href="classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c" title="Returns the currently selected font, or null if none selected. ">font()</a>, including inter-character spacing. <a href="#a0f7607b1c7867987f4500d490a666e8a">More...</a><br/></td></tr>
<tr class="separator:a0f7607b1c7867987f4500d490a666e8a inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca70aa0f8f722a228358bffe794e925 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a8ca70aa0f8f722a228358bffe794e925">textWidth</a> (const String &amp;str, int start=0, int len=-1) const </td></tr>
<tr class="memdesc:a8ca70aa0f8f722a228358bffe794e925 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the width in pixels of the <em>len</em> characters of <em>str</em> in the current <a class="el" href="classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c" title="Returns the currently selected font, or null if none selected. ">font()</a>, starting at <em>start</em>, including inter-character spacing. <a href="#a8ca70aa0f8f722a228358bffe794e925">More...</a><br/></td></tr>
<tr class="separator:a8ca70aa0f8f722a228358bffe794e925 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a628bb694fcfe6eab619a4f1e152d41c4 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a628bb694fcfe6eab619a4f1e152d41c4">textHeight</a> () const </td></tr>
<tr class="memdesc:a628bb694fcfe6eab619a4f1e152d41c4 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the height in pixels of the current text drawing <a class="el" href="classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c" title="Returns the currently selected font, or null if none selected. ">font()</a>; or zero if <a class="el" href="classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c" title="Returns the currently selected font, or null if none selected. ">font()</a> is not set. <a href="#a628bb694fcfe6eab619a4f1e152d41c4">More...</a><br/></td></tr>
<tr class="separator:a628bb694fcfe6eab619a4f1e152d41c4 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab22fe1f3871934987a670b559f67c67c inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#ab22fe1f3871934987a670b559f67c67c">copy</a> (int x, int y, int <a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523">width</a>, int <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3">height</a>, <a class="el" href="classBitmap.html">Bitmap</a> *dest, int destX, int destY)</td></tr>
<tr class="memdesc:ab22fe1f3871934987a670b559f67c67c inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies the <em>width</em> x <em>height</em> pixels starting at top-left corner (<em>x</em>, <em>y</em>) to (<em>destX</em>, <em>destY</em>) in the bitmap <em>dest</em>. <a href="#ab22fe1f3871934987a670b559f67c67c">More...</a><br/></td></tr>
<tr class="separator:ab22fe1f3871934987a670b559f67c67c inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99da820f9280aace6b512801d5a5e2b2 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a99da820f9280aace6b512801d5a5e2b2">fill</a> (int x, int y, int <a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523">width</a>, int <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3">height</a>, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color)</td></tr>
<tr class="memdesc:a99da820f9280aace6b512801d5a5e2b2 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the <em>width</em> x <em>height</em> pixels starting at top-left corner (<em>x</em>, <em>y</em>) with <em>color</em>. <a href="#a99da820f9280aace6b512801d5a5e2b2">More...</a><br/></td></tr>
<tr class="separator:a99da820f9280aace6b512801d5a5e2b2 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac661adab340858b541a2fe44e6303f56 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#ac661adab340858b541a2fe44e6303f56">fill</a> (int x, int y, int <a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523">width</a>, int <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3">height</a>, <a class="el" href="classBitmap.html#a2fcc98fd7580932b218134126a29ce43">Bitmap::ProgMem</a> pattern, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> color=<a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>)</td></tr>
<tr class="memdesc:ac661adab340858b541a2fe44e6303f56 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the <em>width</em> x <em>height</em> pixels starting at top-left corner (<em>x</em>, <em>y</em>) with the contents of <em>pattern</em>. <a href="#ac661adab340858b541a2fe44e6303f56">More...</a><br/></td></tr>
<tr class="separator:ac661adab340858b541a2fe44e6303f56 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae08eb6f9086f9923d8dc83a469ae4c4a inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#ae08eb6f9086f9923d8dc83a469ae4c4a">scroll</a> (int dx, int dy, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> fillColor=<a class="el" href="classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc">Black</a>)</td></tr>
<tr class="memdesc:ae08eb6f9086f9923d8dc83a469ae4c4a inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scrolls the entire contents of the bitmap by <em>dx</em> and <em>dy</em>. <a href="#ae08eb6f9086f9923d8dc83a469ae4c4a">More...</a><br/></td></tr>
<tr class="separator:ae08eb6f9086f9923d8dc83a469ae4c4a inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79ad4432297ff453fddc55625fec485 inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#af79ad4432297ff453fddc55625fec485">scroll</a> (int x, int y, int <a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523">width</a>, int <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3">height</a>, int dx, int dy, <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a> fillColor=<a class="el" href="classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc">Black</a>)</td></tr>
<tr class="memdesc:af79ad4432297ff453fddc55625fec485 inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scrolls the <em>width</em> x <em>height</em> pixels starting at top-left corner (<em>x</em>, <em>y</em>) by <em>dx</em> and <em>dy</em>. <a href="#af79ad4432297ff453fddc55625fec485">More...</a><br/></td></tr>
<tr class="separator:af79ad4432297ff453fddc55625fec485 inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d85556bcc9fac91d33f0f6f7a6430dd inherit pub_methods_classBitmap"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a6d85556bcc9fac91d33f0f6f7a6430dd">invert</a> (int x, int y, int <a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523">width</a>, int <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3">height</a>)</td></tr>
<tr class="memdesc:a6d85556bcc9fac91d33f0f6f7a6430dd inherit pub_methods_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverts the <em>width</em> x <em>height</em> pixels starting at top-left corner (<em>x</em>, <em>y</em>). <a href="#a6d85556bcc9fac91d33f0f6f7a6430dd">More...</a><br/></td></tr>
<tr class="separator:a6d85556bcc9fac91d33f0f6f7a6430dd inherit pub_methods_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a557412f734fc4596e1102bf71e110ea0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMD.html#a557412f734fc4596e1102bf71e110ea0">fromRGB</a> (uint8_t r, uint8_t g, uint8_t b)</td></tr>
<tr class="memdesc:a557412f734fc4596e1102bf71e110ea0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts an RGB value into a pixel color value. <a href="#a557412f734fc4596e1102bf71e110ea0">More...</a><br/></td></tr>
<tr class="separator:a557412f734fc4596e1102bf71e110ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classBitmap"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classBitmap')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classBitmap.html">Bitmap</a></td></tr>
<tr class="memitem:a88d386944a7017aa776a177b10d8b2ba inherit pub_types_classBitmap"><td class="memItemLeft" align="right" valign="top">typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a></td></tr>
<tr class="memdesc:a88d386944a7017aa776a177b10d8b2ba inherit pub_types_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type that represents the color of a pixel in a bitmap. <a href="#a88d386944a7017aa776a177b10d8b2ba">More...</a><br/></td></tr>
<tr class="separator:a88d386944a7017aa776a177b10d8b2ba inherit pub_types_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fcc98fd7580932b218134126a29ce43 inherit pub_types_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fcc98fd7580932b218134126a29ce43"></a>
typedef PGM_VOID_P&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a2fcc98fd7580932b218134126a29ce43">ProgMem</a></td></tr>
<tr class="memdesc:a2fcc98fd7580932b218134126a29ce43 inherit pub_types_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type that represents a bitmap within program memory. <br/></td></tr>
<tr class="separator:a2fcc98fd7580932b218134126a29ce43 inherit pub_types_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a456f7d6da03189c1e7148563a891b3cf inherit pub_types_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a456f7d6da03189c1e7148563a891b3cf"></a>
typedef PGM_VOID_P&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a456f7d6da03189c1e7148563a891b3cf">Font</a></td></tr>
<tr class="memdesc:a456f7d6da03189c1e7148563a891b3cf inherit pub_types_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type that represents a font within program memory. <br/></td></tr>
<tr class="separator:a456f7d6da03189c1e7148563a891b3cf inherit pub_types_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classBitmap"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classBitmap')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classBitmap.html">Bitmap</a></td></tr>
<tr class="memitem:a2c7faeeb89d3624b5bbca58871785adc inherit pub_static_attribs_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c7faeeb89d3624b5bbca58871785adc"></a>
static const <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc">Black</a> = 0</td></tr>
<tr class="memdesc:a2c7faeeb89d3624b5bbca58871785adc inherit pub_static_attribs_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Color value corresponding to "black". <br/></td></tr>
<tr class="separator:a2c7faeeb89d3624b5bbca58871785adc inherit pub_static_attribs_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39b6754cfe50a457bbfdb1980fd87eb7 inherit pub_static_attribs_classBitmap"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a> = 1</td></tr>
<tr class="memdesc:a39b6754cfe50a457bbfdb1980fd87eb7 inherit pub_static_attribs_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Color value corresponding to "white". If the bitmap is displayed on a LED array, then it may have a different physical color. <a href="#a39b6754cfe50a457bbfdb1980fd87eb7">More...</a><br/></td></tr>
<tr class="separator:a39b6754cfe50a457bbfdb1980fd87eb7 inherit pub_static_attribs_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa89170263dc1f51f6366c1907119715e inherit pub_static_attribs_classBitmap"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa89170263dc1f51f6366c1907119715e"></a>
static const <a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">Color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitmap.html#aa89170263dc1f51f6366c1907119715e">NoFill</a> = 2</td></tr>
<tr class="memdesc:aa89170263dc1f51f6366c1907119715e inherit pub_static_attribs_classBitmap"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special color value that is used with <a class="el" href="classBitmap.html#aac61e3f7f625db568e37d88b52b3b2fc" title="Draws a rectangle from (x1, y1) to (x2, y2), with the outline in borderColor and the interior filled ...">drawRect()</a> and <a class="el" href="classBitmap.html#a933763a4f3cba79fbcf97ae6d0a864aa" title="Draws a circle with a specific center (centerX, centerY) and radius, with the outline in borderColor ...">drawCircle()</a> to indicate that the interior of the shape should not be filled. For all other uses, <a class="el" href="classBitmap.html#aa89170263dc1f51f6366c1907119715e">NoFill</a> is equivalent to <a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a>. <br/></td></tr>
<tr class="separator:aa89170263dc1f51f6366c1907119715e inherit pub_static_attribs_classBitmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Handle large dot matrix displays composed of LED's. </p>
<p>This class is designed for use with <a href="http://www.freetronics.com/dmd">Freetronics Large Dot Matrix Displays</a>. These displays have 512 LED's arranged in a 32x16 matrix and controlled by an SPI interface. The displays are available in red, blue, green, yellow, and white variations (for which this class always uses the constant <a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a> regardless of the physical color).</p>
<h1><a class="anchor" id="dmd_drawing"></a>
Drawing</h1>
<p><a class="el" href="classDMD.html" title="Handle large dot matrix displays composed of LED&#39;s. ">DMD</a> inherits from <a class="el" href="classBitmap.html" title="Represents a monochrome bitmap within main memory. ">Bitmap</a> so that any of the drawing functions in that class can be used to draw directly to dot matrix displays. The following example initializes a single display panel and draws a rectangle and a circle into it at setup time:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> display.<a class="code" href="classBitmap.html#aac61e3f7f625db568e37d88b52b3b2fc">drawRect</a>(5, 2, 27, 13);</div>
<div class="line"> display.<a class="code" href="classBitmap.html#a933763a4f3cba79fbcf97ae6d0a864aa">drawCircle</a>(16, 8, 4);</div>
<div class="line">}</div>
</div><!-- fragment --><p>The display must be updated frequently from the application's main loop:</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> <a class="code" href="classDMD.html#a2c74a0845ef6080056b972d490648114">loop</a>() {</div>
<div class="line"> display.<a class="code" href="classDMD.html#a2c74a0845ef6080056b972d490648114">loop</a>();</div>
<div class="line">}</div>
</div><!-- fragment --><h1><a class="anchor" id="dmd_interrupts"></a>
Interrupt-driven display refresh</h1>
<p>The <a class="el" href="classDMD.html#a2c74a0845ef6080056b972d490648114" title="Performs regular display refresh activities from the application&#39;s main loop. ">loop()</a> method simplifies updating the display from the application's main loop but it can sometimes be inconvenient to arrange for it to be called regularly, especially if the application wishes to use <code>delay()</code> or <code>delayMicroseconds()</code>.</p>
<p><a class="el" href="classDMD.html" title="Handle large dot matrix displays composed of LED&#39;s. ">DMD</a> provides an asynchronous display update mechanism using Timer1 interrupts. The application turns on interrupts using <a class="el" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2" title="Enables Timer1 overflow interrupts for updating this display. ">enableTimer1()</a> and then calls <a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a> from the interrupt service routine:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line">ISR(TIMER1_OVF_vect)</div>
<div class="line">{</div>
<div class="line"> display.<a class="code" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8">refresh</a>();</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> display.<a class="code" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2">enableTimer1</a>();</div>
<div class="line">}</div>
</div><!-- fragment --><p>If Timer1 is already in use by some other part of your application, then Timer2 can be used as an alternative interrupt source:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line">ISR(TIMER2_OVF_vect)</div>
<div class="line">{</div>
<div class="line"> display.<a class="code" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8">refresh</a>();</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> display.<a class="code" href="classDMD.html#a5469775db7fafebca2cdbc6a6372fb97">enableTimer2</a>();</div>
<div class="line">}</div>
</div><!-- fragment --><p><a class="el" href="classDMD.html" title="Handle large dot matrix displays composed of LED&#39;s. ">DMD</a> can also be used with third-party timer libraries such as <a href="http://code.google.com/p/arduino-timerone/downloads/list">TimerOne</a>:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;TimerOne.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> refreshDisplay()</div>
<div class="line">{</div>
<div class="line"> display.<a class="code" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8">refresh</a>();</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> Timer1.initialize(5000);</div>
<div class="line"> Timer1.attachInterrupt(refreshDisplay);</div>
<div class="line">}</div>
</div><!-- fragment --><h1><a class="anchor" id="dmd_double_buffer"></a>
Double buffering</h1>
<p>When using interrupts, the system can sometimes exhibit "tearing" artifacts where half-finished images are displayed because an interrupt fired in the middle of a screen update.</p>
<p>This problem can be alleviated using double buffering: all rendering is done to an off-screen buffer that is swapped onto the screen once it is ready for display. Rendering then switches to the other buffer that is now off-screen. The following example demonstrates this:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line">ISR(TIMER1_OVF_vect)</div>
<div class="line">{</div>
<div class="line"> display.<a class="code" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8">refresh</a>();</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> display.<a class="code" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723">setDoubleBuffer</a>(<span class="keyword">true</span>);</div>
<div class="line"> display.<a class="code" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2">enableTimer1</a>();</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> <a class="code" href="classDMD.html#a2c74a0845ef6080056b972d490648114">loop</a>() {</div>
<div class="line"> updateDisplay();</div>
<div class="line"> display.<a class="code" href="classDMD.html#a80269ccd44b3ef9ee15f0a1009b7a60a">swapBuffers</a>();</div>
<div class="line"> delay(50); <span class="comment">// Delay between frames.</span></div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> updateDisplay() {</div>
<div class="line"> <span class="comment">// Draw the new display contents into the off-screen buffer.</span></div>
<div class="line"> display.<a class="code" href="classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1">clear</a>();</div>
<div class="line"> ...</div>
<div class="line">}</div>
</div><!-- fragment --><p>The downside of double buffering is that it uses twice as much main memory to manage the contents of the screen.</p>
<h1><a class="anchor" id="dmd_multi"></a>
Multiple panels</h1>
<p>Multiple panels can be daisy-chained together using ribbon cables. If there is a single row of panels, then they must be connected to the Arduino board as follows:</p>
<div class="image">
<img src="dmd-4x1.png" alt="dmd-4x1.png"/>
</div>
<p>If there are multiple rows of panels, then alternating rows are flipped upside-down so that the short ribbon cables provided by Freetronics reach (this technique is thanks to Chris Debenham; see <a href="http://www.adebenham.com/category/arduino/dmd/">http://www.adebenham.com/category/arduino/dmd/</a> for more details):</p>
<div class="image">
<img src="dmd-4x2.png" alt="dmd-4x2.png"/>
</div>
<p>This technique can be repeated for as many rows as required, with the bottom row always right-way-up:</p>
<div class="image">
<img src="dmd-4x3.png" alt="dmd-4x3.png"/>
</div>
<p><a class="el" href="classDMD.html" title="Handle large dot matrix displays composed of LED&#39;s. ">DMD</a> automatically takes care of flipping the data for panels in the alternating rows. No special action is required by the user except to physically connect the panels as shown and to initialize the <a class="el" href="classDMD.html" title="Handle large dot matrix displays composed of LED&#39;s. ">DMD</a> class appropriately:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display(4, 2); <span class="comment">// 4 panels wide, 2 panels high</span></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="DMD_8h_source.html#l00028">28</a> of file <a class="el" href="DMD_8h_source.html">DMD.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="affd37accffe951c8878434dfa1245809"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">DMD::DMD </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>widthPanels</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>heightPanels</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a new dot matrix display handler for a display that is <em>widthPanels</em> x <em>heightPanels</em> in size. </p>
<p>Note: the parameters to this constructor are specified in panels, whereas <a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523" title="Returns the width of the bitmap in pixels. ">width()</a> and <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3" title="Returns the height of the bitmap in pixels. ">height()</a> are specified in pixels.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classBitmap.html#a76c3b49e535761f07c553e7336daf523" title="Returns the width of the bitmap in pixels. ">width()</a>, <a class="el" href="classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3" title="Returns the height of the bitmap in pixels. ">height()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00237">237</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a39af27e216f654ecc7e60b0614cb6b33"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::disableTimer1 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disables Timer1 overflow interrupts. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2" title="Enables Timer1 overflow interrupts for updating this display. ">enableTimer1()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00614">614</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a52fe885bfb380b74df54c96221811cff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::disableTimer2 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disables Timer2 overflow interrupts. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a5469775db7fafebca2cdbc6a6372fb97" title="Enables Timer2 overflow interrupts for updating this display. ">enableTimer2()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00674">674</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aab1f3ba29c053d630ae12865d22166ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DMD::doubleBuffer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the display is double-buffered; false if single-buffered. The default is false. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a>, <a class="el" href="classDMD.html#a80269ccd44b3ef9ee15f0a1009b7a60a" title="Swaps the buffers that are used for rendering to the display. ">swapBuffers()</a>, <a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8h_source.html#l00034">34</a> of file <a class="el" href="DMD_8h_source.html">DMD.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4c3b04b384f3d656a9b59690836775e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::enableTimer1 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables Timer1 overflow interrupts for updating this display. </p>
<p>The application must also provide an interrupt service routine for Timer1 that calls <a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a>:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line">ISR(TIMER1_OVF_vect)</div>
<div class="line">{</div>
<div class="line"> display.<a class="code" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8">refresh</a>();</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> display.<a class="code" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2">enableTimer1</a>();</div>
<div class="line">}</div>
</div><!-- fragment --><p>If timer interrupts are being used to update the display, then it is unnecessary to call <a class="el" href="classDMD.html#a2c74a0845ef6080056b972d490648114" title="Performs regular display refresh activities from the application&#39;s main loop. ">loop()</a>.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a>, <a class="el" href="classDMD.html#a39af27e216f654ecc7e60b0614cb6b33" title="Disables Timer1 overflow interrupts. ">disableTimer1()</a>, <a class="el" href="classDMD.html#a5469775db7fafebca2cdbc6a6372fb97" title="Enables Timer2 overflow interrupts for updating this display. ">enableTimer2()</a>, <a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00563">563</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a5469775db7fafebca2cdbc6a6372fb97"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::enableTimer2 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables Timer2 overflow interrupts for updating this display. </p>
<p>The application must also provide an interrupt service routine for Timer2 that calls <a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a>:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;DMD.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line">ISR(TIMER2_OVF_vect)</div>
<div class="line">{</div>
<div class="line"> display.<a class="code" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8">refresh</a>();</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> display.<a class="code" href="classDMD.html#a5469775db7fafebca2cdbc6a6372fb97">enableTimer2</a>();</div>
<div class="line">}</div>
</div><!-- fragment --><p>If timer interrupts are being used to update the display, then it is unnecessary to call <a class="el" href="classDMD.html#a2c74a0845ef6080056b972d490648114" title="Performs regular display refresh activities from the application&#39;s main loop. ">loop()</a>.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a>, <a class="el" href="classDMD.html#a52fe885bfb380b74df54c96221811cff" title="Disables Timer2 overflow interrupts. ">disableTimer2()</a>, <a class="el" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2" title="Enables Timer1 overflow interrupts for updating this display. ">enableTimer1()</a>, <a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00646">646</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a557412f734fc4596e1102bf71e110ea0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classBitmap.html#a88d386944a7017aa776a177b10d8b2ba">DMD::Color</a> DMD::fromRGB </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts an RGB value into a pixel color value. </p>
<p>Returns <a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a> if any of <em>r</em>, <em>g</em>, or <em>b</em> are non-zero; otherwise returns <a class="el" href="classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc">Black</a>.</p>
<p>This function is provided for upwards compatibility with future displays that support full color. Monochrome applications should use the <a class="el" href="classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc">Black</a> and <a class="el" href="classBitmap.html#a39b6754cfe50a457bbfdb1980fd87eb7">White</a> constants directly. </p>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00690">690</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a2c74a0845ef6080056b972d490648114"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::loop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Performs regular display refresh activities from the application's main loop. </p>
<div class="fragment"><div class="line"><a class="code" href="classDMD.html">DMD</a> display;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> <a class="code" href="classDMD.html#a2c74a0845ef6080056b972d490648114">loop</a>() {</div>
<div class="line"> display.<a class="code" href="classDMD.html#a2c74a0845ef6080056b972d490648114">loop</a>();</div>
<div class="line">}</div>
</div><!-- fragment --><p>If you are using a timer interrupt service routine, then call <a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a> in response to the interrupt instead of calling <a class="el" href="classDMD.html#a2c74a0845ef6080056b972d490648114" title="Performs regular display refresh activities from the application&#39;s main loop. ">loop()</a>.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00420">420</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a9e4bf2a9d247312d35c1401ff61261c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::refresh </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Refresh the display. </p>
<p>This function must be called at least once every 5 milliseconds for smooth non-flickering update of the display. It is usually called by <a class="el" href="classDMD.html#a2c74a0845ef6080056b972d490648114" title="Performs regular display refresh activities from the application&#39;s main loop. ">loop()</a>, but can also be called in response to a timer interrupt.</p>
<p>If this function is called from an interrupt service routine, then it is recommended that double-buffering be enabled with <a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a> to prevent "tearing" artifacts that result from simultaneous update of a single shared buffer.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a2c74a0845ef6080056b972d490648114" title="Performs regular display refresh activities from the application&#39;s main loop. ">loop()</a>, <a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a>, <a class="el" href="classDMD.html#a4c3b04b384f3d656a9b59690836775e2" title="Enables Timer1 overflow interrupts for updating this display. ">enableTimer1()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00478">478</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a6fbdcf8832f91d02500cb7a9b84d2723"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::setDoubleBuffer </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>doubleBuffer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables double-buffering according to <em>doubleBuffer</em>. </p>
<p>When double-buffering is enabled, rendering operations are sent to a memory buffer that isn't currently displayed on-screen. Once the application has completed the screen update, it calls <a class="el" href="classDMD.html#a80269ccd44b3ef9ee15f0a1009b7a60a" title="Swaps the buffers that are used for rendering to the display. ">swapBuffers()</a> to display the current buffer and switch rendering to the other now invisible buffer.</p>
<p>Double-buffering is recommended if <a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a> is being called from an interrupt service routine, to prevent "tearing" artifacts that result from simultaneous update of a single shared buffer.</p>
<p>This function will allocate memory for the extra buffer when <em>doubleBuffer</em> is true. If there is insufficient memory for the second screen buffer, then this class will revert to single-buffered mode.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#aab1f3ba29c053d630ae12865d22166ec" title="Returns true if the display is double-buffered; false if single-buffered. The default is false...">doubleBuffer()</a>, <a class="el" href="classDMD.html#a80269ccd44b3ef9ee15f0a1009b7a60a" title="Swaps the buffers that are used for rendering to the display. ">swapBuffers()</a>, <a class="el" href="classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8" title="Refresh the display. ">refresh()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00314">314</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a80269ccd44b3ef9ee15f0a1009b7a60a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::swapBuffers </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Swaps the buffers that are used for rendering to the display. </p>
<p>When <a class="el" href="classDMD.html#aab1f3ba29c053d630ae12865d22166ec" title="Returns true if the display is double-buffered; false if single-buffered. The default is false...">doubleBuffer()</a> is false, this function does nothing. Otherwise the front and back rendering buffers are swapped. See the description of <a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a> for more information.</p>
<p>The new rendering back buffer will have undefined contents and will probably need to be re-inialized with <a class="el" href="classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1" title="Clears the entire bitmap to the specified color. ">clear()</a> or <a class="el" href="classBitmap.html#a99da820f9280aace6b512801d5a5e2b2" title="Fills the width x height pixels starting at top-left corner (x, y) with color. ">fill()</a> before drawing to it. The <a class="el" href="classDMD.html#a0b1771cf790b2b62eea55e56b02e3736" title="Swaps the buffers that are used for rendering to the display and copies the former back buffer conten...">swapBuffersAndCopy()</a> function can be used instead to preserve the screen contents from one frame to the next.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a0b1771cf790b2b62eea55e56b02e3736" title="Swaps the buffers that are used for rendering to the display and copies the former back buffer conten...">swapBuffersAndCopy()</a>, <a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00363">363</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a0b1771cf790b2b62eea55e56b02e3736"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DMD::swapBuffersAndCopy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Swaps the buffers that are used for rendering to the display and copies the former back buffer contents to the new back buffer. </p>
<p>Normally when <a class="el" href="classDMD.html#a80269ccd44b3ef9ee15f0a1009b7a60a" title="Swaps the buffers that are used for rendering to the display. ">swapBuffers()</a> is called, the new rendering back buffer will have undefined contents from two frames prior and must be cleared with <a class="el" href="classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1" title="Clears the entire bitmap to the specified color. ">clear()</a> or <a class="el" href="classBitmap.html#a99da820f9280aace6b512801d5a5e2b2" title="Fills the width x height pixels starting at top-left corner (x, y) with color. ">fill()</a> before writing new contents to it. This function instead copies the previous frame into the new rendering buffer so that it can be updated in-place.</p>
<p>This function is useful if the screen does not change much from one frame to the next. If the screen changes a lot between frames, then it is usually better to explicitly <a class="el" href="classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1" title="Clears the entire bitmap to the specified color. ">clear()</a> or <a class="el" href="classBitmap.html#a99da820f9280aace6b512801d5a5e2b2" title="Fills the width x height pixels starting at top-left corner (x, y) with color. ">fill()</a> the new back buffer.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDMD.html#a80269ccd44b3ef9ee15f0a1009b7a60a" title="Swaps the buffers that are used for rendering to the display. ">swapBuffers()</a>, <a class="el" href="classDMD.html#a6fbdcf8832f91d02500cb7a9b84d2723" title="Enables or disables double-buffering according to doubleBuffer. ">setDoubleBuffer()</a> </dd></dl>
<p>Definition at line <a class="el" href="DMD_8cpp_source.html#l00396">396</a> of file <a class="el" href="DMD_8cpp_source.html">DMD.cpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="DMD_8h_source.html">DMD.h</a></li>
<li><a class="el" href="DMD_8cpp_source.html">DMD.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 14 2015 09:07:25 for ArduinoLibs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>