<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>32blit API: Member List</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">32blit API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structblit_1_1TileMap.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</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 class="header">
  <div class="headertitle">
<div class="title">blit::TileMap Member List</div>  </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>, including all inherited members.</p>
<table class="directory">
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bounds</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>CLAMP_TO_EDGE</b> enum value (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>copy_tiles</b> enum value (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>copy_transforms</b> enum value (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DEFAULT_FILL</b> enum value (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>default_tile_id</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structblit_1_1TileMap.html#af8d409972ea5f4afeaf8fbfeaa8d4a8b">draw</a>(Surface *dest, Rect viewport, std::function&lt; Mat3(uint8_t)&gt; scanline_callback=nullptr)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>empty_tile_id</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>load_tmx</b>(const uint8_t *asset, Surface *sprites, int layer=0, int flags=copy_tiles|copy_transforms) (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>LoadFlags</b> enum name (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>NONE</b> enum value (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>offset</b>(const Point &amp;p) (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structblit_1_1TileMap.html#a06e517d84b081a236eee57b453068e09">offset</a>(int16_t x, int16_t y)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>REPEAT</b> enum value (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>repeat_mode</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>sprites</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structblit_1_1TileMap.html#ab99ad5ad604dcac3a23060a29b90a46d">texture_span</a>(Surface *dest, Point s, unsigned int c, Vec2 swc, Vec2 ewc)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structblit_1_1TileMap.html#ae046d828377b810f4cb74ca6856ce4e1">tile_at</a>(const Point &amp;p)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structblit_1_1TileMap.html#aace7ea2806f3debeccf552a37bb9d96d">TileMap</a>(uint8_t *tiles, uint8_t *transforms, Size bounds, Surface *sprites)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0"><td class="entry"><b>tiles</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>transform</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structblit_1_1TileMap.html#a39884b6ea0d627b0371cdb7be5445be9">transform_at</a>(const Point &amp;p)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>transforms</b> (defined in <a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a>)</td><td class="entry"><a class="el" href="structblit_1_1TileMap.html">blit::TileMap</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
