Files
picovga-cmake/docs/group__CanvasGroup.html
2025-08-26 20:47:11 -07:00

1286 lines
60 KiB
HTML

<!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>PicoVGA: Canvas</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" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="custom.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="projectlogo"><img alt="Logo" src="logo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">PicoVGA
&#160;<span id="projectnumber">1.2-cmake</span>
</div>
<div id="projectbrief">VGA/TV display on Raspberry Pico</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('group__CanvasGroup.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="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Canvas</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<p>Drawing board for shapes and images. </p>
<p>Canvas is a drawing board. It is a support library for working with graphical surfaces and images. The <a class="el" href="structsCanvas.html" title="Canvas descriptor.">sCanvas</a> structure is a set of parameters that describe the graphical surface, for use in drawing functions. A graphical surface can be either a graphical frame buffer or an image, even in Flash. To draw in a graphical surface, first attach a canvas to it as a definition describing the structure of the area. Likewise, if you want to draw an image to the surface, first create a canvas for the image with its parameters. The parameters are a pointer to the image data, the image dimensions, and the format. The drawing area can be a graphic area with a depth of 1, 2, 4, 8 bits or with attributes. In the case of drawing an image to a canvas, the source and target canvas must have the same format. In the case of transformation matrices, only an 8-bit graphic format can be drawn. </p><dl class="section note"><dt>Note</dt><dd>In PicoVGA, a default canvas <a class="el" href="group__VideoModeGroup.html#ga4b445e69b039011d96ef7276777f445c">Canvas</a> is available. A graphic frame buffer is automatically attached to it when initialized with the <a class="el" href="group__VideoInitGroup.html#gae078675a223061bd05b22421d091fcc4" title="Simplified initialization of the video mode.">Video()</a> function. Otherwise, it can be used arbitrarily in the program. </dd></dl>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsCanvas.html">sCanvas</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Canvas descriptor. <a href="structsCanvas.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcMat2Df.html">cMat2Df</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">2D Transformation Matrix <a href="classcMat2Df.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gac99b22ab3c8e5d3d7a461af409cb1c61"><td class="memItemLeft" align="right" valign="top"><a id="gac99b22ab3c8e5d3d7a461af409cb1c61"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#gac99b22ab3c8e5d3d7a461af409cb1c61">CANVAS_8</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gac99b22ab3c8e5d3d7a461af409cb1c61"><td class="mdescLeft">&#160;</td><td class="mdescRight">8-bit pixels <br /></td></tr>
<tr class="separator:gac99b22ab3c8e5d3d7a461af409cb1c61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0619d036103a78d619f4a8144d2c3317"><td class="memItemLeft" align="right" valign="top"><a id="ga0619d036103a78d619f4a8144d2c3317"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga0619d036103a78d619f4a8144d2c3317">CANVAS_4</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga0619d036103a78d619f4a8144d2c3317"><td class="mdescLeft">&#160;</td><td class="mdescRight">4-bit pixels <br /></td></tr>
<tr class="separator:ga0619d036103a78d619f4a8144d2c3317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa90f4450178445079fccd1ddbf417e7"><td class="memItemLeft" align="right" valign="top"><a id="gafa90f4450178445079fccd1ddbf417e7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#gafa90f4450178445079fccd1ddbf417e7">CANVAS_2</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gafa90f4450178445079fccd1ddbf417e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-bit pixels <br /></td></tr>
<tr class="separator:gafa90f4450178445079fccd1ddbf417e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5cb4535794f10b1e42440136ba596ed8"><td class="memItemLeft" align="right" valign="top"><a id="ga5cb4535794f10b1e42440136ba596ed8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CANVAS_1</b>&#160;&#160;&#160;3</td></tr>
<tr class="separator:ga5cb4535794f10b1e42440136ba596ed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0fbfa9482a4b162600c5c66122a8173"><td class="memItemLeft" align="right" valign="top"><a id="gaa0fbfa9482a4b162600c5c66122a8173"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#gaa0fbfa9482a4b162600c5c66122a8173">CANVAS_PLANE2</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gaa0fbfa9482a4b162600c5c66122a8173"><td class="mdescLeft">&#160;</td><td class="mdescRight">4 colors on 2 planes <br /></td></tr>
<tr class="separator:gaa0fbfa9482a4b162600c5c66122a8173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32b205271cce499f59589caf5fefe848"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga32b205271cce499f59589caf5fefe848">CANVAS_ATTRIB8</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:ga32b205271cce499f59589caf5fefe848"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="group__CanvasGroup.html#gga06fc87d81c62e9abb8790b6e5713c55bada988f101a668aa32ac8be4465a3c94f">DRAWIMG_WRAP</a>
, <a class="el" href="group__CanvasGroup.html#gga06fc87d81c62e9abb8790b6e5713c55bac2d993dee7c2bcd984acc5d1d866d7d1">DRAWIMG_NOBORDER</a>
, <a class="el" href="group__CanvasGroup.html#gga06fc87d81c62e9abb8790b6e5713c55ba70b4c77115c7c9b4f5c0da3298e61816">DRAWIMG_CLAMP</a>
, <a class="el" href="group__CanvasGroup.html#gga06fc87d81c62e9abb8790b6e5713c55baa1b8793cfd30dea692ac0944b189e833">DRAWING_COLOR</a>
, <br />
&#160;&#160;<a class="el" href="group__CanvasGroup.html#gga06fc87d81c62e9abb8790b6e5713c55baf1ac512496407c856e86534f56f7220d">DRAWIMG_TRANSP</a>
, <a class="el" href="group__CanvasGroup.html#gga06fc87d81c62e9abb8790b6e5713c55ba63b0d0919cc2fbf9e04f81c9bf206616">DRAWIMG_PERSP</a>
<br />
}</td></tr>
<tr class="memdesc:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="mdescLeft">&#160;</td><td class="mdescRight">DrawImgMat mode. <a href="group__CanvasGroup.html#ga06fc87d81c62e9abb8790b6e5713c55b">More...</a><br /></td></tr>
<tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac8441b25105805be5e7da188957bd058"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#gac8441b25105805be5e7da188957bd058">DrawRect</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, int x, int y, int w, int h, u8 col)</td></tr>
<tr class="memdesc:gac8441b25105805be5e7da188957bd058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw rectangle. <a href="group__CanvasGroup.html#gac8441b25105805be5e7da188957bd058">More...</a><br /></td></tr>
<tr class="separator:gac8441b25105805be5e7da188957bd058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga030eb117917d9fa5e356fa5a5ac987a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga030eb117917d9fa5e356fa5a5ac987a5">DrawFrame</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, int x, int y, int w, int h, u8 col)</td></tr>
<tr class="memdesc:ga030eb117917d9fa5e356fa5a5ac987a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw frame of 1 pixel thickness. <a href="group__CanvasGroup.html#ga030eb117917d9fa5e356fa5a5ac987a5">More...</a><br /></td></tr>
<tr class="separator:ga030eb117917d9fa5e356fa5a5ac987a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35996ee70491a2ec819411c659df99a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga35996ee70491a2ec819411c659df99a6">DrawClear</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas)</td></tr>
<tr class="memdesc:ga35996ee70491a2ec819411c659df99a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear canvas (fill with black color) <a href="group__CanvasGroup.html#ga35996ee70491a2ec819411c659df99a6">More...</a><br /></td></tr>
<tr class="separator:ga35996ee70491a2ec819411c659df99a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga847429aa8ed956796cb0637b44fdcf9e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga847429aa8ed956796cb0637b44fdcf9e">DrawPoint</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, int x, int y, u8 col)</td></tr>
<tr class="memdesc:ga847429aa8ed956796cb0637b44fdcf9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw a pixel. <a href="group__CanvasGroup.html#ga847429aa8ed956796cb0637b44fdcf9e">More...</a><br /></td></tr>
<tr class="separator:ga847429aa8ed956796cb0637b44fdcf9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3452639f8699459e2db4c8c07717ff8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga3452639f8699459e2db4c8c07717ff8c">DrawLine</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, int x1, int y1, int x2, int y2, u8 col)</td></tr>
<tr class="memdesc:ga3452639f8699459e2db4c8c07717ff8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw a line. <a href="group__CanvasGroup.html#ga3452639f8699459e2db4c8c07717ff8c">More...</a><br /></td></tr>
<tr class="separator:ga3452639f8699459e2db4c8c07717ff8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab482486182a41847f517b2e4904bad85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#gab482486182a41847f517b2e4904bad85">DrawFillCircle</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, int x0, int y0, int r, u8 col, u8 mask=0xff)</td></tr>
<tr class="memdesc:gab482486182a41847f517b2e4904bad85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw filled circle. <a href="group__CanvasGroup.html#gab482486182a41847f517b2e4904bad85">More...</a><br /></td></tr>
<tr class="separator:gab482486182a41847f517b2e4904bad85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3342dbc6a4cb8c330c5d52cd18d23fdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga3342dbc6a4cb8c330c5d52cd18d23fdf">DrawCircle</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, int x0, int y0, int r, u8 col, u8 mask=0xff)</td></tr>
<tr class="memdesc:ga3342dbc6a4cb8c330c5d52cd18d23fdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw circle. <a href="group__CanvasGroup.html#ga3342dbc6a4cb8c330c5d52cd18d23fdf">More...</a><br /></td></tr>
<tr class="separator:ga3342dbc6a4cb8c330c5d52cd18d23fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a2c127f6c6eca6425f074d2523c230a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga4a2c127f6c6eca6425f074d2523c230a">DrawText</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, const char *text, int x, int y, u8 col, const void *font, int fontheight=8, int scalex=1, int scaley=1)</td></tr>
<tr class="memdesc:ga4a2c127f6c6eca6425f074d2523c230a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw text (transparent background) <a href="group__CanvasGroup.html#ga4a2c127f6c6eca6425f074d2523c230a">More...</a><br /></td></tr>
<tr class="separator:ga4a2c127f6c6eca6425f074d2523c230a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac53e49cc83c30367199882379ba8fd92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#gac53e49cc83c30367199882379ba8fd92">DrawTextBg</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, const char *text, int x, int y, u8 col, u8 bgcol, const void *font, int fontheight=8, int scalex=1, int scaley=1)</td></tr>
<tr class="memdesc:gac53e49cc83c30367199882379ba8fd92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw text with background color. <a href="group__CanvasGroup.html#gac53e49cc83c30367199882379ba8fd92">More...</a><br /></td></tr>
<tr class="separator:gac53e49cc83c30367199882379ba8fd92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga07403253f5e46116ae22ea94b4161c86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga07403253f5e46116ae22ea94b4161c86">DrawImg</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, <a class="el" href="structsCanvas.html">sCanvas</a> *src, int xd, int yd, int xs, int ys, int w, int h)</td></tr>
<tr class="memdesc:ga07403253f5e46116ae22ea94b4161c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw image (without transparency) <a href="group__CanvasGroup.html#ga07403253f5e46116ae22ea94b4161c86">More...</a><br /></td></tr>
<tr class="separator:ga07403253f5e46116ae22ea94b4161c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51e936c817f616d8118c1caeda0c1526"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga51e936c817f616d8118c1caeda0c1526">DrawBlit</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, <a class="el" href="structsCanvas.html">sCanvas</a> *src, int xd, int yd, int xs, int ys, int w, int h, u8 col)</td></tr>
<tr class="memdesc:ga51e936c817f616d8118c1caeda0c1526"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw image with transparency. <a href="group__CanvasGroup.html#ga51e936c817f616d8118c1caeda0c1526">More...</a><br /></td></tr>
<tr class="separator:ga51e936c817f616d8118c1caeda0c1526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d1db92659f6c11713cd0fb9c45f3637"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga5d1db92659f6c11713cd0fb9c45f3637">DrawImgMat</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, const <a class="el" href="structsCanvas.html">sCanvas</a> *src, int x, int y, int w, int h, const class <a class="el" href="classcMat2Df.html">cMat2Df</a> *m, u8 mode, u8 color)</td></tr>
<tr class="memdesc:ga5d1db92659f6c11713cd0fb9c45f3637"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw 8-bit image with 2D transformation matrix. <a href="group__CanvasGroup.html#ga5d1db92659f6c11713cd0fb9c45f3637">More...</a><br /></td></tr>
<tr class="separator:ga5d1db92659f6c11713cd0fb9c45f3637"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab3620a5cf2c20a6d9fd0b05f5eaf934"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#gaab3620a5cf2c20a6d9fd0b05f5eaf934">DrawTileMap</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, const <a class="el" href="structsCanvas.html">sCanvas</a> *src, const u8 *map, int mapwbits, int maphbits, int tilebits, int x, int y, int w, int h, const <a class="el" href="classcMat2Df.html">cMat2Df</a> *mat, u8 horizon)</td></tr>
<tr class="memdesc:gaab3620a5cf2c20a6d9fd0b05f5eaf934"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw tile map using perspective projection. <a href="group__CanvasGroup.html#gaab3620a5cf2c20a6d9fd0b05f5eaf934">More...</a><br /></td></tr>
<tr class="separator:gaab3620a5cf2c20a6d9fd0b05f5eaf934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b38b2530c058e70233c8ae6c622cfef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CanvasGroup.html#ga8b38b2530c058e70233c8ae6c622cfef">DrawImgLine</a> (<a class="el" href="structsCanvas.html">sCanvas</a> *canvas, <a class="el" href="structsCanvas.html">sCanvas</a> *src, int xd, int yd, int xs, int ys, int wd, int ws)</td></tr>
<tr class="memdesc:ga8b38b2530c058e70233c8ae6c622cfef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw image line interpolated. <a href="group__CanvasGroup.html#ga8b38b2530c058e70233c8ae6c622cfef">More...</a><br /></td></tr>
<tr class="separator:ga8b38b2530c058e70233c8ae6c622cfef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga32b205271cce499f59589caf5fefe848"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga32b205271cce499f59589caf5fefe848">&#9670;&nbsp;</a></span>CANVAS_ATTRIB8</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CANVAS_ATTRIB8&#160;&#160;&#160;5</td>
</tr>
</table>
</div><div class="memdoc">
<p>2x4 bit color attributes per 8x8 pixel sample draw functions: bit 0..3 = draw color bit 4 = draw color is background color </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga06fc87d81c62e9abb8790b6e5713c55b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga06fc87d81c62e9abb8790b6e5713c55b">&#9670;&nbsp;</a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>DrawImgMat mode. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55bada988f101a668aa32ac8be4465a3c94f"></a>DRAWIMG_WRAP&#160;</td><td class="fielddoc"><p>Wrap image. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55bac2d993dee7c2bcd984acc5d1d866d7d1"></a>DRAWIMG_NOBORDER&#160;</td><td class="fielddoc"><p>No border (transparent border) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55ba70b4c77115c7c9b4f5c0da3298e61816"></a>DRAWIMG_CLAMP&#160;</td><td class="fielddoc"><p>Clamp image (use last pixel as border) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55baa1b8793cfd30dea692ac0944b189e833"></a>DRAWING_COLOR&#160;</td><td class="fielddoc"><p>Color border. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55baf1ac512496407c856e86534f56f7220d"></a>DRAWIMG_TRANSP&#160;</td><td class="fielddoc"><p>Transparent image with key color. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55ba63b0d0919cc2fbf9e04f81c9bf206616"></a>DRAWIMG_PERSP&#160;</td><td class="fielddoc"><p>Perspective floor. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gac8441b25105805be5e7da188957bd058"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac8441b25105805be5e7da188957bd058">&#9670;&nbsp;</a></span>DrawRect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawRect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw rectangle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">x</td><td>Horizontal position </td></tr>
<tr><td class="paramname">y</td><td>Veritical position </td></tr>
<tr><td class="paramname">w</td><td>Width </td></tr>
<tr><td class="paramname">h</td><td>Height </td></tr>
<tr><td class="paramname">col</td><td>Color </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga030eb117917d9fa5e356fa5a5ac987a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga030eb117917d9fa5e356fa5a5ac987a5">&#9670;&nbsp;</a></span>DrawFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawFrame </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw frame of 1 pixel thickness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">x</td><td>Horizontal position </td></tr>
<tr><td class="paramname">y</td><td>Veritical position </td></tr>
<tr><td class="paramname">w</td><td>Width </td></tr>
<tr><td class="paramname">h</td><td>Height </td></tr>
<tr><td class="paramname">col</td><td>Color </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga35996ee70491a2ec819411c659df99a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga35996ee70491a2ec819411c659df99a6">&#9670;&nbsp;</a></span>DrawClear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawClear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear canvas (fill with black color) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga847429aa8ed956796cb0637b44fdcf9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga847429aa8ed956796cb0637b44fdcf9e">&#9670;&nbsp;</a></span>DrawPoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawPoint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw a pixel. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">x</td><td>Horizontal position </td></tr>
<tr><td class="paramname">y</td><td>Veritical position </td></tr>
<tr><td class="paramname">col</td><td>Color </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga3452639f8699459e2db4c8c07717ff8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3452639f8699459e2db4c8c07717ff8c">&#9670;&nbsp;</a></span>DrawLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw a line. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">x1</td><td>Horizontal start position </td></tr>
<tr><td class="paramname">y1</td><td>Veritical start position </td></tr>
<tr><td class="paramname">x2</td><td>Horizontal end position </td></tr>
<tr><td class="paramname">y2</td><td>Veritical end position </td></tr>
<tr><td class="paramname">col</td><td>Color </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gab482486182a41847f517b2e4904bad85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab482486182a41847f517b2e4904bad85">&#9670;&nbsp;</a></span>DrawFillCircle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawFillCircle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>mask</em> = <code>0xff</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw filled circle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">x0</td><td>Horizontal center coordinate </td></tr>
<tr><td class="paramname">y0</td><td>Veritical center coordinate </td></tr>
<tr><td class="paramname">r</td><td>Radius </td></tr>
<tr><td class="paramname">col</td><td>Color (with CANVAS_ATTRIB8 format: bit 0..3 = draw color, bit 4 = draw color is background color) </td></tr>
<tr><td class="paramname">mask</td><td>Mask. Specifies, using bits 0 to 7, which eighths of the circle are drawn. <pre>
. B2|B1 .
B3 . | . B0
------o------
B4 . | . B7
. B5|B6 .
</pre> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga3342dbc6a4cb8c330c5d52cd18d23fdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3342dbc6a4cb8c330c5d52cd18d23fdf">&#9670;&nbsp;</a></span>DrawCircle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawCircle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>mask</em> = <code>0xff</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw circle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">x0</td><td>Horizontal center coordinate </td></tr>
<tr><td class="paramname">y0</td><td>Veritical center coordinate </td></tr>
<tr><td class="paramname">r</td><td>Radius </td></tr>
<tr><td class="paramname">col</td><td>Color (with CANVAS_ATTRIB8 format: bit 0..3 = draw color, bit 4 = draw color is background color) </td></tr>
<tr><td class="paramname">mask</td><td>Mask. Specifies, using bits 0 to 7, which eighths of the circle are drawn. <pre>
. B2|B1 .
B3 . | . B0
------o------
B4 . | . B7
. B5|B6 .
</pre> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga4a2c127f6c6eca6425f074d2523c230a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4a2c127f6c6eca6425f074d2523c230a">&#9670;&nbsp;</a></span>DrawText()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawText </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>text</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>font</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fontheight</em> = <code>8</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>scalex</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>scaley</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw text (transparent background) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">text</td><td>C string to draw </td></tr>
<tr><td class="paramname">x</td><td>Horizontal position </td></tr>
<tr><td class="paramname">y</td><td>Verticle position </td></tr>
<tr><td class="paramname">col</td><td>Text color </td></tr>
<tr><td class="paramname">font</td><td>Pointer to 1-bit font </td></tr>
<tr><td class="paramname">fontheight</td><td>Height of font in pixels (default 8) </td></tr>
<tr><td class="paramname">scalex</td><td>Magnification scale in X dimension </td></tr>
<tr><td class="paramname">scaley</td><td>Magnification scale in Y dimension </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gac53e49cc83c30367199882379ba8fd92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac53e49cc83c30367199882379ba8fd92">&#9670;&nbsp;</a></span>DrawTextBg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawTextBg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>text</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>bgcol</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>font</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fontheight</em> = <code>8</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>scalex</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>scaley</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw text with background color. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Canvas </td></tr>
<tr><td class="paramname">text</td><td>C string to draw </td></tr>
<tr><td class="paramname">x</td><td>Horizontal position </td></tr>
<tr><td class="paramname">y</td><td>Verticle position </td></tr>
<tr><td class="paramname">col</td><td>Text color </td></tr>
<tr><td class="paramname">bgcol</td><td>Background color </td></tr>
<tr><td class="paramname">font</td><td>Pointer to 1-bit font </td></tr>
<tr><td class="paramname">fontheight</td><td>Height of font in pixels (default 8) </td></tr>
<tr><td class="paramname">scalex</td><td>Magnification scale in X dimension </td></tr>
<tr><td class="paramname">scaley</td><td>Magnification scale in Y dimension </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga07403253f5e46116ae22ea94b4161c86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga07403253f5e46116ae22ea94b4161c86">&#9670;&nbsp;</a></span>DrawImg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawImg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>xd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>yd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>xs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw image (without transparency) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Destination canvas </td></tr>
<tr><td class="paramname">src</td><td>Source canvas </td></tr>
<tr><td class="paramname">xd</td><td>Destination horizontal postion </td></tr>
<tr><td class="paramname">yd</td><td>Destination vertical position </td></tr>
<tr><td class="paramname">xs</td><td>Source horizontal position </td></tr>
<tr><td class="paramname">ys</td><td>Source vertical position </td></tr>
<tr><td class="paramname">w</td><td>Width </td></tr>
<tr><td class="paramname">h</td><td>Height </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga51e936c817f616d8118c1caeda0c1526"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga51e936c817f616d8118c1caeda0c1526">&#9670;&nbsp;</a></span>DrawBlit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawBlit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>xd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>yd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>xs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>col</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw image with transparency. </p>
<dl class="section note"><dt>Note</dt><dd>Source and destination must have same format. CANVAS_ATTRIB8 format replaced by <a class="el" href="group__CanvasGroup.html#ga07403253f5e46116ae22ea94b4161c86" title="Draw image (without transparency)">DrawImg()</a> function. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Destination canvas </td></tr>
<tr><td class="paramname">src</td><td>Source canvas </td></tr>
<tr><td class="paramname">xd</td><td>Destination horizontal postion </td></tr>
<tr><td class="paramname">yd</td><td>Destination vertical position </td></tr>
<tr><td class="paramname">xs</td><td>Source horizontal position </td></tr>
<tr><td class="paramname">ys</td><td>Source vertical position </td></tr>
<tr><td class="paramname">w</td><td>Width </td></tr>
<tr><td class="paramname">h</td><td>Height </td></tr>
<tr><td class="paramname">col</td><td>Transparency key color </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga5d1db92659f6c11713cd0fb9c45f3637"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d1db92659f6c11713cd0fb9c45f3637">&#9670;&nbsp;</a></span>DrawImgMat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawImgMat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const class <a class="el" href="classcMat2Df.html">cMat2Df</a> *&#160;</td>
<td class="paramname"><em>m</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>color</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw 8-bit image with 2D transformation matrix. </p>
<dl class="section note"><dt>Note</dt><dd>To wrap and perspective mode: Width and height of source image must be power of 2. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Destination canvas </td></tr>
<tr><td class="paramname">src</td><td>Source canvas with image </td></tr>
<tr><td class="paramname">x</td><td>Destination horizontal postion </td></tr>
<tr><td class="paramname">y</td><td>Destination vertical position </td></tr>
<tr><td class="paramname">w</td><td>Destination width </td></tr>
<tr><td class="paramname">h</td><td>Destination height </td></tr>
<tr><td class="paramname">m</td><td>Transformation matrix (should be prepared using <a class="el" href="classcMat2Df.html#a529afacb6148a067dd3a5a488cb97e13" title="Prepare transformation matrix (for DrawImgMat() function)">cMat2Df::PrepDrawImg()</a> function) </td></tr>
<tr><td class="paramname">mode</td><td>Mode enum value </td></tr>
<tr><td class="paramname">color</td><td>Key or border color </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaab3620a5cf2c20a6d9fd0b05f5eaf934"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaab3620a5cf2c20a6d9fd0b05f5eaf934">&#9670;&nbsp;</a></span>DrawTileMap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawTileMap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const u8 *&#160;</td>
<td class="paramname"><em>map</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mapwbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maphbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tilebits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcMat2Df.html">cMat2Df</a> *&#160;</td>
<td class="paramname"><em>mat</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&#160;</td>
<td class="paramname"><em>horizon</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw tile map using perspective projection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Destination canvas </td></tr>
<tr><td class="paramname">src</td><td>Source canvas with column of 8-bit square tiles (width = tile size, must be power of 2) </td></tr>
<tr><td class="paramname">map</td><td>Byte map of tile indices </td></tr>
<tr><td class="paramname">mapwbits</td><td>Number of bits of map width (number of tiles; width must be power of 2) </td></tr>
<tr><td class="paramname">maphbits</td><td>Number of bits of map height (number of tiles; height must be power of 2) </td></tr>
<tr><td class="paramname">tilebits</td><td>Number of bits of tile size (e.g. 5 = tile 32x32 pixel) </td></tr>
<tr><td class="paramname">x</td><td>Destination horizontal postion </td></tr>
<tr><td class="paramname">y</td><td>Destination vertical position </td></tr>
<tr><td class="paramname">w</td><td>Destination width </td></tr>
<tr><td class="paramname">h</td><td>Destination height </td></tr>
<tr><td class="paramname">mat</td><td>Transformation matrix (should be prepared using <a class="el" href="classcMat2Df.html#a529afacb6148a067dd3a5a488cb97e13" title="Prepare transformation matrix (for DrawImgMat() function)">cMat2Df::PrepDrawImg()</a> function) </td></tr>
<tr><td class="paramname">horizon</td><td>Horizon offset (0 = do not use perspective projection) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga8b38b2530c058e70233c8ae6c622cfef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b38b2530c058e70233c8ae6c622cfef">&#9670;&nbsp;</a></span>DrawImgLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DrawImgLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>canvas</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structsCanvas.html">sCanvas</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>xd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>yd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>xs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>wd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ws</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Draw image line interpolated. </p>
<dl class="section note"><dt>Note</dt><dd>Overflow in X direction is not checked </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">canvas</td><td>Destination canvas (8-bit pixel format) </td></tr>
<tr><td class="paramname">src</td><td>Source canvas (source image in 8-bit pixel format) </td></tr>
<tr><td class="paramname">xd</td><td>Destination horizontal postion </td></tr>
<tr><td class="paramname">yd</td><td>Destination vertical position </td></tr>
<tr><td class="paramname">xs</td><td>Source horizontal position </td></tr>
<tr><td class="paramname">ys</td><td>Source vertical position </td></tr>
<tr><td class="paramname">wd</td><td>Destination width </td></tr>
<tr><td class="paramname">ws</td><td>Source width </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</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>