Documentation improvements

This commit is contained in:
Wayne Venables
2025-08-26 20:47:11 -07:00
parent 4753b270f6
commit faef620629
517 changed files with 8124 additions and 4888 deletions

View File

@@ -3,7 +3,7 @@
<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.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PicoVGA: src/vga_layer.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,7 +29,7 @@
<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.0-cmake</span>
&#160;<span id="projectnumber">1.2-cmake</span>
</div>
<div id="projectbrief">VGA/TV display on Raspberry Pico</div>
</td>
@@ -38,10 +38,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- 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');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -95,8 +95,8 @@ $(document).ready(function(){initNavTree('vga__layer_8h_source.html',''); initRe
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#define _VGA_LAYER_H</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// base layer commands</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#define VGADARK(num,col) (((u32)(vga_offset_dark+BASE_OFFSET)&lt;&lt;27) | ((u32)(num)&lt;&lt;8) | (u32)(col)) // assemble control word of &quot;dark&quot; command</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#define VGACMD(jmp,num) (((u32)(jmp)&lt;&lt;27) | (u32)(num)) // assemble control word</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#define VGADARK(num,col) (((u32)(vga_offset_dark+BASE_OFFSET)&lt;&lt;27) | ((u32)(num)&lt;&lt;8) | (u32)(col)) </span><span class="comment">// assemble control word of &quot;dark&quot; command</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#define VGACMD(jmp,num) (((u32)(jmp)&lt;&lt;27) | (u32)(num)) </span><span class="comment">// assemble control word</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// --- overlapped layer init word (delay: use number of offset pixels * Vmode.cpp, num: number of pixels)</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
@@ -160,7 +160,7 @@ $(document).ready(function(){initNavTree('vga__layer_8h_source.html',''); initRe
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keyword">extern</span> <a class="code" href="structsLayerMode.html">sLayerMode</a> CurLayerMode[LAYERS]; <span class="comment">// copy of current layer mode</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword">extern</span> u8 LayerMask; <span class="comment">// mask of active layers</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="structsLayer.html"> 195</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="structsLayer.html#a0a9fb9453c46f2cca3418f72eb255137"> 196</a></span>&#160; <span class="keyword">const</span> u8* <a class="code" href="structsLayer.html#a0a9fb9453c46f2cca3418f72eb255137">img</a>; </div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structsLayer.html#a977fddc23e4e5ea1acc1e76b3288cc7d"> 197</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="structsLayer.html#a977fddc23e4e5ea1acc1e76b3288cc7d">par</a>; </div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="structsLayer.html#a15444149d14ab00cd1a9db118ec25fc4"> 198</a></span>&#160; u32 <a class="code" href="structsLayer.html#a15444149d14ab00cd1a9db118ec25fc4">init</a>; </div>
@@ -225,64 +225,62 @@ $(document).ready(function(){initNavTree('vga__layer_8h_source.html',''); initRe
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__SpriteGroup.html#gaee253aa5119f5c51858b19fb65843fc2">SortSprite</a>(<a class="code" href="structsSprite.html">sSprite</a>** list, <span class="keywordtype">int</span> num);</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; </div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="preprocessor">#endif // _VGA_LAYER_H</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="astructsLayer_html_a21f3684b7133f5f894ff86b72ca8c685"><div class="ttname"><a href="structsLayer.html#a21f3684b7133f5f894ff86b72ca8c685">sLayer::ybits</a></div><div class="ttdeci">u8 ybits</div><div class="ttdoc">Number of bits of height of source image (only with LAYERMODE_PERSP* modes)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:209</div></div>
<div class="ttc" id="astructsSprite_html"><div class="ttname"><a href="structsSprite.html">sSprite</a></div><div class="ttdoc">Sprite (on change update SSPRITE_* in define.h)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:216</div></div>
<div class="ttc" id="astructsLayer_html_ad39692fa5c6712f35d83b33b16ff50ee"><div class="ttname"><a href="structsLayer.html#ad39692fa5c6712f35d83b33b16ff50ee">sLayer::on</a></div><div class="ttdeci">Bool on</div><div class="ttdoc">Layer is ON.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:211</div></div>
<div class="ttc" id="astructsLayer_html_a0a9fb9453c46f2cca3418f72eb255137"><div class="ttname"><a href="structsLayer.html#a0a9fb9453c46f2cca3418f72eb255137">sLayer::img</a></div><div class="ttdeci">const u8 * img</div><div class="ttdoc">Pointer to image in current layer format, or sprite list.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:196</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga62b72ae320dd472ba5b900e0887adc47"><div class="ttname"><a href="group__LayersGroup.html#ga62b72ae320dd472ba5b900e0887adc47">LayerFirstPin</a></div><div class="ttdeci">u8 LayerFirstPin[LAYERS_MAX]</div><div class="ttdoc">Index of first pin of layer (base layer should stay VGA_GPIO_FIRST)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:275</div></div>
<div class="ttc" id="astructsLayer_html_aac0d2680ab5a6103717a36f7db9187f3"><div class="ttname"><a href="structsLayer.html#aac0d2680ab5a6103717a36f7db9187f3">sLayer::keycol</a></div><div class="ttdeci">u32 keycol</div><div class="ttdoc">Key color.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:199</div></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// _VGA_LAYER_H</span></div>
<div class="ttc" id="agroup__LayersGroup_html_ga2e917a8d1386b82ba280d43938003146"><div class="ttname"><a href="group__LayersGroup.html#ga2e917a8d1386b82ba280d43938003146">LayerSetH</a></div><div class="ttdeci">void LayerSetH(u8 inx, u16 h)</div><div class="ttdoc">Set height of image of overlapped layer.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:368</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga38eec4beaa946b8f23abb6a49e66cbb3"><div class="ttname"><a href="group__LayersGroup.html#ga38eec4beaa946b8f23abb6a49e66cbb3">LayerNumPin</a></div><div class="ttdeci">u8 LayerNumPin[LAYERS_MAX]</div><div class="ttdoc">Number of pins of overlapped layer (base layer should stay VGA_GPIO_OUTNUM)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:278</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga3c24cc41746df64fa0719a6fb74b2a23"><div class="ttname"><a href="group__LayersGroup.html#ga3c24cc41746df64fa0719a6fb74b2a23">LayerPerspSetup</a></div><div class="ttdeci">void LayerPerspSetup(u8 inx, const u8 *img, const sVmode *vmode, u16 w, u16 h, u8 xbits, u8 ybits, s8 horiz, const int *mat, u8 col=0)</div><div class="ttdoc">Setup overlapped layer 1..3 for LAYERMODE_PERSP* modes.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:411</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga49c057cb7d4fad1f4a9770c5bf035e83"><div class="ttname"><a href="group__LayersGroup.html#ga49c057cb7d4fad1f4a9770c5bf035e83">LayerSetup</a></div><div class="ttdeci">void LayerSetup(u8 inx, const u8 *img, const sVmode *vmode, u16 w, u16 h, u8 col=0, const void *par=NULL)</div><div class="ttdoc">Setup overlapped layer 1..3 (not for sprites or perspective mode)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:383</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga4a722f613a431cbe1c6416a4c06f12ef"><div class="ttname"><a href="group__LayersGroup.html#ga4a722f613a431cbe1c6416a4c06f12ef">LAYERMODE_NUM</a></div><div class="ttdeci">#define LAYERMODE_NUM</div><div class="ttdoc">Number of overlapped layer modes.</div><div class="ttdef"><b>Definition:</b> define.h:55</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga567585aea89fda9633750e7edc2eeece"><div class="ttname"><a href="group__LayersGroup.html#ga567585aea89fda9633750e7edc2eeece">LayerSetW</a></div><div class="ttdeci">void LayerSetW(u8 inx, u16 w)</div><div class="ttdoc">Set width of image of overlapped layer.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:357</div></div>
<div class="ttc" id="astructsLayer_html_ab09958f929bd6dc21a1bb65cc063a62a"><div class="ttname"><a href="structsLayer.html#ab09958f929bd6dc21a1bb65cc063a62a">sLayer::h</a></div><div class="ttdeci">u16 h</div><div class="ttdoc">Height.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:204</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga3c24cc41746df64fa0719a6fb74b2a23"><div class="ttname"><a href="group__LayersGroup.html#ga3c24cc41746df64fa0719a6fb74b2a23">LayerPerspSetup</a></div><div class="ttdeci">void LayerPerspSetup(u8 inx, const u8 *img, const sVmode *vmode, u16 w, u16 h, u8 xbits, u8 ybits, s8 horiz, const int *mat, u8 col=0)</div><div class="ttdoc">Setup overlapped layer 1..3 for LAYERMODE_PERSP* modes.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:411</div></div>
<div class="ttc" id="astructsSprite_html_ad5044957a620c165c22e28ad98fdf534"><div class="ttname"><a href="structsSprite.html#ad5044957a620c165c22e28ad98fdf534">sSprite::x</a></div><div class="ttdeci">s16 x</div><div class="ttdoc">SSPRITE_X sprite X-coordinate on the screen.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:221</div></div>
<div class="ttc" id="agroup__LayersGroup_html_gaa877ccc48068be12c150aee8be6d8d61"><div class="ttname"><a href="group__LayersGroup.html#gaa877ccc48068be12c150aee8be6d8d61">LayerScreen</a></div><div class="ttdeci">sLayer LayerScreen[LAYERS]</div><div class="ttdoc">Current layer screens.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:270</div></div>
<div class="ttc" id="agroup__SpriteGroup_html_gaee253aa5119f5c51858b19fb65843fc2"><div class="ttname"><a href="group__SpriteGroup.html#gaee253aa5119f5c51858b19fb65843fc2">SortSprite</a></div><div class="ttdeci">void SortSprite(sSprite **list, int num)</div><div class="ttdoc">Sort fast sprite list by X coordinate.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:493</div></div>
<div class="ttc" id="astructsSprite_html_a4f6d6284ef10949275ac7f2aa9509911"><div class="ttname"><a href="structsSprite.html#a4f6d6284ef10949275ac7f2aa9509911">sSprite::w</a></div><div class="ttdeci">u16 w</div><div class="ttdoc">SSPRITE_W sprite width (slow sprite: max. width 255)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:223</div></div>
<div class="ttc" id="astructsLayerMode_html"><div class="ttname"><a href="structsLayerMode.html">sLayerMode</a></div><div class="ttdef"><b>Definition:</b> vga_layer.h:63</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga99aa7a28b0927e1f21411733b2f97fb5"><div class="ttname"><a href="group__LayersGroup.html#ga99aa7a28b0927e1f21411733b2f97fb5">LayerSetY</a></div><div class="ttdeci">void LayerSetY(u8 inx, s16 y)</div><div class="ttdoc">Set coordinate Y of overlapped layer.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:349</div></div>
<div class="ttc" id="astructsLayer_html_ae594a65d332b1612758adbe0ac9bfaa5"><div class="ttname"><a href="structsLayer.html#ae594a65d332b1612758adbe0ac9bfaa5">sLayer::wb</a></div><div class="ttdeci">u16 wb</div><div class="ttdoc">Image width in bytes (pitch of lines)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:205</div></div>
<div class="ttc" id="astructsSprite_html_a82ad70c7175425113103c68a2d0b034d"><div class="ttname"><a href="structsSprite.html#a82ad70c7175425113103c68a2d0b034d">sSprite::x0</a></div><div class="ttdeci">u8 * x0</div><div class="ttdoc">SSPRITE_X0 pointer to array of start of lines, or fast sprite start of lines/4.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:218</div></div>
<div class="ttc" id="astructsSprite_html_a9dcc67b1adcad4346623b9c130b4044a"><div class="ttname"><a href="structsSprite.html#a9dcc67b1adcad4346623b9c130b4044a">sSprite::w0</a></div><div class="ttdeci">u8 * w0</div><div class="ttdoc">SSPRITE_W0 pointer to array of length of lines, or fast sprite length of lines/4.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:219</div></div>
<div class="ttc" id="agroup__LayersGroup_html_gab152ba7d55b966804711247ebac62b3a"><div class="ttname"><a href="group__LayersGroup.html#gab152ba7d55b966804711247ebac62b3a">LAYERPROG_NUM</a></div><div class="ttdeci">#define LAYERPROG_NUM</div><div class="ttdoc">Number of layer programs.</div><div class="ttdef"><b>Definition:</b> define.h:28</div></div>
<div class="ttc" id="astructsLayer_html_a5ecbd38a6da5261823990fef4b78270c"><div class="ttname"><a href="structsLayer.html#a5ecbd38a6da5261823990fef4b78270c">sLayer::trans</a></div><div class="ttdeci">u16 trans</div><div class="ttdoc">Trans count.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:200</div></div>
<div class="ttc" id="astructsSprite_html_a74377291c0719b19b1db0038cf257f03"><div class="ttname"><a href="structsSprite.html#a74377291c0719b19b1db0038cf257f03">sSprite::wb</a></div><div class="ttdeci">u16 wb</div><div class="ttdoc">SSPRITE_WB sprite pitch (number of bytes between lines)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:225</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga62b72ae320dd472ba5b900e0887adc47"><div class="ttname"><a href="group__LayersGroup.html#ga62b72ae320dd472ba5b900e0887adc47">LayerFirstPin</a></div><div class="ttdeci">u8 LayerFirstPin[LAYERS_MAX]</div><div class="ttdoc">Index of first pin of layer (base layer should stay VGA_GPIO_FIRST)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:275</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga6b80789b0fbfc305e1bd8974b89bd180"><div class="ttname"><a href="group__LayersGroup.html#ga6b80789b0fbfc305e1bd8974b89bd180">LayerSetX</a></div><div class="ttdeci">void LayerSetX(u8 inx, s16 x)</div><div class="ttdoc">Set coordinate X of overlapped layer.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:297</div></div>
<div class="ttc" id="astructsLayerProg_html"><div class="ttname"><a href="structsLayerProg.html">sLayerProg</a></div><div class="ttdef"><b>Definition:</b> vga_layer.h:42</div></div>
<div class="ttc" id="astructsSprite_html_a395f270243a525a82e1372f4fe3a7730"><div class="ttname"><a href="structsSprite.html#a395f270243a525a82e1372f4fe3a7730">sSprite::img</a></div><div class="ttdeci">u8 * img</div><div class="ttdoc">SSPRITE_IMG pointer to image data.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:217</div></div>
<div class="ttc" id="astructsSprite_html_a92cd06c0972d641d43939a045b33f745"><div class="ttname"><a href="structsSprite.html#a92cd06c0972d641d43939a045b33f745">sSprite::keycol</a></div><div class="ttdeci">u32 keycol</div><div class="ttdoc">SSPRITE_KEYCOL key color.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:220</div></div>
<div class="ttc" id="astructsLayer_html_a26daff2ecab64e079ff060f3b97db230"><div class="ttname"><a href="structsLayer.html#a26daff2ecab64e079ff060f3b97db230">sLayer::cpp</a></div><div class="ttdeci">u8 cpp</div><div class="ttdoc">Current clock pulses per pixel (used to calculate X coordinate)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:212</div></div>
<div class="ttc" id="astructsLayer_html_a15444149d14ab00cd1a9db118ec25fc4"><div class="ttname"><a href="structsLayer.html#a15444149d14ab00cd1a9db118ec25fc4">sLayer::init</a></div><div class="ttdeci">u32 init</div><div class="ttdoc">Init word sent on start of scanline (start X coordinate)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:198</div></div>
<div class="ttc" id="agroup__SpriteGroup_html_ga3335f2de0489fb2ceaa2641822b37872"><div class="ttname"><a href="group__SpriteGroup.html#ga3335f2de0489fb2ceaa2641822b37872">LayerSpriteSetup</a></div><div class="ttdeci">void LayerSpriteSetup(u8 inx, sSprite **sprite, u16 spritenum, const sVmode *vmode, s16 x, s16 y, u16 w, u16 h, u8 col=0)</div><div class="ttdoc">Setup overlapped layer 1..3 for LAYERMODE_SPRITE* and LAYERMODE_FASTSPRITE* modes.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:432</div></div>
<div class="ttc" id="astructsLayer_html_ac44e73d69c6b028dd4274556f1e24846"><div class="ttname"><a href="structsLayer.html#ac44e73d69c6b028dd4274556f1e24846">sLayer::mode</a></div><div class="ttdeci">u8 mode</div><div class="ttdoc">Layer mode.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:206</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga49c057cb7d4fad1f4a9770c5bf035e83"><div class="ttname"><a href="group__LayersGroup.html#ga49c057cb7d4fad1f4a9770c5bf035e83">LayerSetup</a></div><div class="ttdeci">void LayerSetup(u8 inx, const u8 *img, const sVmode *vmode, u16 w, u16 h, u8 col=0, const void *par=NULL)</div><div class="ttdoc">Setup overlapped layer 1..3 (not for sprites or perspective mode)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:383</div></div>
<div class="ttc" id="astructsLayer_html_a7faa17573c513e11a8b2db896faa39c1"><div class="ttname"><a href="structsLayer.html#a7faa17573c513e11a8b2db896faa39c1">sLayer::horiz</a></div><div class="ttdeci">s8 horiz</div><div class="ttdoc">Horizon of perspective projection/4 (only with LAYERMODE_PERSP* modes, 0=no perspecitve,...</div><div class="ttdef"><b>Definition:</b> vga_layer.h:207</div></div>
<div class="ttc" id="astructsLayer_html"><div class="ttname"><a href="structsLayer.html">sLayer</a></div><div class="ttdoc">Layer screen descriptor (on change update SLAYER_* in define.h)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:195</div></div>
<div class="ttc" id="astructsLayer_html_a8cfe006acd74ac0a1266fea6640a01f1"><div class="ttname"><a href="structsLayer.html#a8cfe006acd74ac0a1266fea6640a01f1">sLayer::xbits</a></div><div class="ttdeci">u8 xbits</div><div class="ttdoc">Number of bits of width of source image (only with LAYERMODE_PERSP* modes)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:208</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga7dddc715d66753f8907c7fd31259d5e8"><div class="ttname"><a href="group__LayersGroup.html#ga7dddc715d66753f8907c7fd31259d5e8">LayerOff</a></div><div class="ttdeci">void LayerOff(u8 inx)</div><div class="ttdoc">Set overlapped layer 1..3 OFF.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:289</div></div>
<div class="ttc" id="astructsLayer_html_a7a29cd6a22a5e7a2743714cfb14dab7a"><div class="ttname"><a href="structsLayer.html#a7a29cd6a22a5e7a2743714cfb14dab7a">sLayer::x</a></div><div class="ttdeci">s16 x</div><div class="ttdoc">Start X coordinate.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:201</div></div>
<div class="ttc" id="astructsLayer_html_a1c2a809dce2ae575f84aca07bcf25ecc"><div class="ttname"><a href="structsLayer.html#a1c2a809dce2ae575f84aca07bcf25ecc">sLayer::y</a></div><div class="ttdeci">s16 y</div><div class="ttdoc">Start Y coordinate.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:202</div></div>
<div class="ttc" id="astructsSprite_html_a902fc00d68119698ac834ceafcb4f1e2"><div class="ttname"><a href="structsSprite.html#a902fc00d68119698ac834ceafcb4f1e2">sSprite::res</a></div><div class="ttdeci">u16 res</div><div class="ttdoc">Reserved, structure align.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:226</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga2e917a8d1386b82ba280d43938003146"><div class="ttname"><a href="group__LayersGroup.html#ga2e917a8d1386b82ba280d43938003146">LayerSetH</a></div><div class="ttdeci">void LayerSetH(u8 inx, u16 h)</div><div class="ttdoc">Set height of image of overlapped layer.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:368</div></div>
<div class="ttc" id="astructsLayer_html_a977fddc23e4e5ea1acc1e76b3288cc7d"><div class="ttname"><a href="structsLayer.html#a977fddc23e4e5ea1acc1e76b3288cc7d">sLayer::par</a></div><div class="ttdeci">const void * par</div><div class="ttdoc">Additional parameter (RLE index table, integer transformation matrix)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:197</div></div>
<div class="ttc" id="astructsSprite_html_a479fcf77a3c4c5af868eeb3c04dba712"><div class="ttname"><a href="structsSprite.html#a479fcf77a3c4c5af868eeb3c04dba712">sSprite::y</a></div><div class="ttdeci">s16 y</div><div class="ttdoc">SSPRITE_Y sprite Y-coordinate on the screen.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:222</div></div>
<div class="ttc" id="astructsVmode_html"><div class="ttname"><a href="structsVmode.html">sVmode</a></div><div class="ttdoc">Videomode table - used to setup video driver.</div><div class="ttdef"><b>Definition:</b> vga_vmode.h:119</div></div>
<div class="ttc" id="astructsLayer_html_a23de438bb18f13c25cda42f2b87af5b1"><div class="ttname"><a href="structsLayer.html#a23de438bb18f13c25cda42f2b87af5b1">sLayer::w</a></div><div class="ttdeci">u16 w</div><div class="ttdoc">Width in pixels.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:203</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga38eec4beaa946b8f23abb6a49e66cbb3"><div class="ttname"><a href="group__LayersGroup.html#ga38eec4beaa946b8f23abb6a49e66cbb3">LayerNumPin</a></div><div class="ttdeci">u8 LayerNumPin[LAYERS_MAX]</div><div class="ttdoc">Number of pins of overlapped layer (base layer should stay VGA_GPIO_OUTNUM)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:278</div></div>
<div class="ttc" id="astructsLayer_html_a0550111309acfab91e8e0a2169f78728"><div class="ttname"><a href="structsLayer.html#a0550111309acfab91e8e0a2169f78728">sLayer::spritenum</a></div><div class="ttdeci">u16 spritenum</div><div class="ttdoc">Number of sprites.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:210</div></div>
<div class="ttc" id="agroup__SpriteGroup_html_ga63d71d933e8f5e7b47b139f61d1186fe"><div class="ttname"><a href="group__SpriteGroup.html#ga63d71d933e8f5e7b47b139f61d1186fe">SpritePrepLines</a></div><div class="ttdeci">void SpritePrepLines(const u8 *img, u8 *x0, u8 *w0, u16 w, u16 h, u16 wb, u8 col, Bool fast)</div><div class="ttdoc">Prepare array of start and length of lines (detects transparent pixels)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:451</div></div>
<div class="ttc" id="astructsSprite_html_a09b6b2fa088bfedf8ac3fd8581f2c1b5"><div class="ttname"><a href="structsSprite.html#a09b6b2fa088bfedf8ac3fd8581f2c1b5">sSprite::h</a></div><div class="ttdeci">u16 h</div><div class="ttdoc">SSPRITE_H sprite height.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:224</div></div>
<div class="ttc" id="agroup__LayersGroup_html_ga99aa7a28b0927e1f21411733b2f97fb5"><div class="ttname"><a href="group__LayersGroup.html#ga99aa7a28b0927e1f21411733b2f97fb5">LayerSetY</a></div><div class="ttdeci">void LayerSetY(u8 inx, s16 y)</div><div class="ttdoc">Set coordinate Y of overlapped layer.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:349</div></div>
<div class="ttc" id="agroup__LayersGroup_html_gaa877ccc48068be12c150aee8be6d8d61"><div class="ttname"><a href="group__LayersGroup.html#gaa877ccc48068be12c150aee8be6d8d61">LayerScreen</a></div><div class="ttdeci">sLayer LayerScreen[LAYERS]</div><div class="ttdoc">Current layer screens.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:270</div></div>
<div class="ttc" id="agroup__LayersGroup_html_gab152ba7d55b966804711247ebac62b3a"><div class="ttname"><a href="group__LayersGroup.html#gab152ba7d55b966804711247ebac62b3a">LAYERPROG_NUM</a></div><div class="ttdeci">#define LAYERPROG_NUM</div><div class="ttdoc">Number of layer programs.</div><div class="ttdef"><b>Definition:</b> define.h:28</div></div>
<div class="ttc" id="agroup__LayersGroup_html_gaf95ad14e461311fde045530e4fbc8c9f"><div class="ttname"><a href="group__LayersGroup.html#gaf95ad14e461311fde045530e4fbc8c9f">LayerOn</a></div><div class="ttdeci">void LayerOn(u8 inx)</div><div class="ttdoc">Set overlapped layer 1..3 ON.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:281</div></div>
<div class="ttc" id="agroup__SpriteGroup_html_ga3335f2de0489fb2ceaa2641822b37872"><div class="ttname"><a href="group__SpriteGroup.html#ga3335f2de0489fb2ceaa2641822b37872">LayerSpriteSetup</a></div><div class="ttdeci">void LayerSpriteSetup(u8 inx, sSprite **sprite, u16 spritenum, const sVmode *vmode, s16 x, s16 y, u16 w, u16 h, u8 col=0)</div><div class="ttdoc">Setup overlapped layer 1..3 for LAYERMODE_SPRITE* and LAYERMODE_FASTSPRITE* modes.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:432</div></div>
<div class="ttc" id="agroup__SpriteGroup_html_ga63d71d933e8f5e7b47b139f61d1186fe"><div class="ttname"><a href="group__SpriteGroup.html#ga63d71d933e8f5e7b47b139f61d1186fe">SpritePrepLines</a></div><div class="ttdeci">void SpritePrepLines(const u8 *img, u8 *x0, u8 *w0, u16 w, u16 h, u16 wb, u8 col, Bool fast)</div><div class="ttdoc">Prepare array of start and length of lines (detects transparent pixels)</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:451</div></div>
<div class="ttc" id="agroup__SpriteGroup_html_gaee253aa5119f5c51858b19fb65843fc2"><div class="ttname"><a href="group__SpriteGroup.html#gaee253aa5119f5c51858b19fb65843fc2">SortSprite</a></div><div class="ttdeci">void SortSprite(sSprite **list, int num)</div><div class="ttdoc">Sort fast sprite list by X coordinate.</div><div class="ttdef"><b>Definition:</b> vga_layer.cpp:493</div></div>
<div class="ttc" id="astructsLayerMode_html"><div class="ttname"><a href="structsLayerMode.html">sLayerMode</a></div><div class="ttdef"><b>Definition:</b> vga_layer.h:63</div></div>
<div class="ttc" id="astructsLayerProg_html"><div class="ttname"><a href="structsLayerProg.html">sLayerProg</a></div><div class="ttdef"><b>Definition:</b> vga_layer.h:42</div></div>
<div class="ttc" id="astructsLayer_html"><div class="ttname"><a href="structsLayer.html">sLayer</a></div><div class="ttdoc">Layer screen descriptor (on change update SLAYER_* in define.h)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:195</div></div>
<div class="ttc" id="astructsLayer_html_a0550111309acfab91e8e0a2169f78728"><div class="ttname"><a href="structsLayer.html#a0550111309acfab91e8e0a2169f78728">sLayer::spritenum</a></div><div class="ttdeci">u16 spritenum</div><div class="ttdoc">Number of sprites.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:210</div></div>
<div class="ttc" id="astructsLayer_html_a0a9fb9453c46f2cca3418f72eb255137"><div class="ttname"><a href="structsLayer.html#a0a9fb9453c46f2cca3418f72eb255137">sLayer::img</a></div><div class="ttdeci">const u8 * img</div><div class="ttdoc">Pointer to image in current layer format, or sprite list.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:196</div></div>
<div class="ttc" id="astructsLayer_html_a15444149d14ab00cd1a9db118ec25fc4"><div class="ttname"><a href="structsLayer.html#a15444149d14ab00cd1a9db118ec25fc4">sLayer::init</a></div><div class="ttdeci">u32 init</div><div class="ttdoc">Init word sent on start of scanline (start X coordinate)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:198</div></div>
<div class="ttc" id="astructsLayer_html_a1c2a809dce2ae575f84aca07bcf25ecc"><div class="ttname"><a href="structsLayer.html#a1c2a809dce2ae575f84aca07bcf25ecc">sLayer::y</a></div><div class="ttdeci">s16 y</div><div class="ttdoc">Start Y coordinate.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:202</div></div>
<div class="ttc" id="astructsLayer_html_a21f3684b7133f5f894ff86b72ca8c685"><div class="ttname"><a href="structsLayer.html#a21f3684b7133f5f894ff86b72ca8c685">sLayer::ybits</a></div><div class="ttdeci">u8 ybits</div><div class="ttdoc">Number of bits of height of source image (only with LAYERMODE_PERSP* modes)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:209</div></div>
<div class="ttc" id="astructsLayer_html_a23de438bb18f13c25cda42f2b87af5b1"><div class="ttname"><a href="structsLayer.html#a23de438bb18f13c25cda42f2b87af5b1">sLayer::w</a></div><div class="ttdeci">u16 w</div><div class="ttdoc">Width in pixels.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:203</div></div>
<div class="ttc" id="astructsLayer_html_a26daff2ecab64e079ff060f3b97db230"><div class="ttname"><a href="structsLayer.html#a26daff2ecab64e079ff060f3b97db230">sLayer::cpp</a></div><div class="ttdeci">u8 cpp</div><div class="ttdoc">Current clock pulses per pixel (used to calculate X coordinate)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:212</div></div>
<div class="ttc" id="astructsLayer_html_a5ecbd38a6da5261823990fef4b78270c"><div class="ttname"><a href="structsLayer.html#a5ecbd38a6da5261823990fef4b78270c">sLayer::trans</a></div><div class="ttdeci">u16 trans</div><div class="ttdoc">Trans count.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:200</div></div>
<div class="ttc" id="astructsLayer_html_a7a29cd6a22a5e7a2743714cfb14dab7a"><div class="ttname"><a href="structsLayer.html#a7a29cd6a22a5e7a2743714cfb14dab7a">sLayer::x</a></div><div class="ttdeci">s16 x</div><div class="ttdoc">Start X coordinate.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:201</div></div>
<div class="ttc" id="astructsLayer_html_a7faa17573c513e11a8b2db896faa39c1"><div class="ttname"><a href="structsLayer.html#a7faa17573c513e11a8b2db896faa39c1">sLayer::horiz</a></div><div class="ttdeci">s8 horiz</div><div class="ttdoc">Horizon of perspective projection/4 (only with LAYERMODE_PERSP* modes, 0=no perspecitve,...</div><div class="ttdef"><b>Definition:</b> vga_layer.h:207</div></div>
<div class="ttc" id="astructsLayer_html_a8cfe006acd74ac0a1266fea6640a01f1"><div class="ttname"><a href="structsLayer.html#a8cfe006acd74ac0a1266fea6640a01f1">sLayer::xbits</a></div><div class="ttdeci">u8 xbits</div><div class="ttdoc">Number of bits of width of source image (only with LAYERMODE_PERSP* modes)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:208</div></div>
<div class="ttc" id="astructsLayer_html_a977fddc23e4e5ea1acc1e76b3288cc7d"><div class="ttname"><a href="structsLayer.html#a977fddc23e4e5ea1acc1e76b3288cc7d">sLayer::par</a></div><div class="ttdeci">const void * par</div><div class="ttdoc">Additional parameter (RLE index table, integer transformation matrix)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:197</div></div>
<div class="ttc" id="astructsLayer_html_aac0d2680ab5a6103717a36f7db9187f3"><div class="ttname"><a href="structsLayer.html#aac0d2680ab5a6103717a36f7db9187f3">sLayer::keycol</a></div><div class="ttdeci">u32 keycol</div><div class="ttdoc">Key color.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:199</div></div>
<div class="ttc" id="astructsLayer_html_ab09958f929bd6dc21a1bb65cc063a62a"><div class="ttname"><a href="structsLayer.html#ab09958f929bd6dc21a1bb65cc063a62a">sLayer::h</a></div><div class="ttdeci">u16 h</div><div class="ttdoc">Height.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:204</div></div>
<div class="ttc" id="astructsLayer_html_ac44e73d69c6b028dd4274556f1e24846"><div class="ttname"><a href="structsLayer.html#ac44e73d69c6b028dd4274556f1e24846">sLayer::mode</a></div><div class="ttdeci">u8 mode</div><div class="ttdoc">Layer mode.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:206</div></div>
<div class="ttc" id="astructsLayer_html_ad39692fa5c6712f35d83b33b16ff50ee"><div class="ttname"><a href="structsLayer.html#ad39692fa5c6712f35d83b33b16ff50ee">sLayer::on</a></div><div class="ttdeci">Bool on</div><div class="ttdoc">Layer is ON.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:211</div></div>
<div class="ttc" id="astructsLayer_html_ae594a65d332b1612758adbe0ac9bfaa5"><div class="ttname"><a href="structsLayer.html#ae594a65d332b1612758adbe0ac9bfaa5">sLayer::wb</a></div><div class="ttdeci">u16 wb</div><div class="ttdoc">Image width in bytes (pitch of lines)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:205</div></div>
<div class="ttc" id="astructsSprite_html"><div class="ttname"><a href="structsSprite.html">sSprite</a></div><div class="ttdoc">Sprite (on change update SSPRITE_* in define.h)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:216</div></div>
<div class="ttc" id="astructsSprite_html_a09b6b2fa088bfedf8ac3fd8581f2c1b5"><div class="ttname"><a href="structsSprite.html#a09b6b2fa088bfedf8ac3fd8581f2c1b5">sSprite::h</a></div><div class="ttdeci">u16 h</div><div class="ttdoc">SSPRITE_H sprite height.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:224</div></div>
<div class="ttc" id="astructsSprite_html_a395f270243a525a82e1372f4fe3a7730"><div class="ttname"><a href="structsSprite.html#a395f270243a525a82e1372f4fe3a7730">sSprite::img</a></div><div class="ttdeci">u8 * img</div><div class="ttdoc">SSPRITE_IMG pointer to image data.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:217</div></div>
<div class="ttc" id="astructsSprite_html_a479fcf77a3c4c5af868eeb3c04dba712"><div class="ttname"><a href="structsSprite.html#a479fcf77a3c4c5af868eeb3c04dba712">sSprite::y</a></div><div class="ttdeci">s16 y</div><div class="ttdoc">SSPRITE_Y sprite Y-coordinate on the screen.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:222</div></div>
<div class="ttc" id="astructsSprite_html_a4f6d6284ef10949275ac7f2aa9509911"><div class="ttname"><a href="structsSprite.html#a4f6d6284ef10949275ac7f2aa9509911">sSprite::w</a></div><div class="ttdeci">u16 w</div><div class="ttdoc">SSPRITE_W sprite width (slow sprite: max. width 255)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:223</div></div>
<div class="ttc" id="astructsSprite_html_a74377291c0719b19b1db0038cf257f03"><div class="ttname"><a href="structsSprite.html#a74377291c0719b19b1db0038cf257f03">sSprite::wb</a></div><div class="ttdeci">u16 wb</div><div class="ttdoc">SSPRITE_WB sprite pitch (number of bytes between lines)</div><div class="ttdef"><b>Definition:</b> vga_layer.h:225</div></div>
<div class="ttc" id="astructsSprite_html_a82ad70c7175425113103c68a2d0b034d"><div class="ttname"><a href="structsSprite.html#a82ad70c7175425113103c68a2d0b034d">sSprite::x0</a></div><div class="ttdeci">u8 * x0</div><div class="ttdoc">SSPRITE_X0 pointer to array of start of lines, or fast sprite start of lines/4.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:218</div></div>
<div class="ttc" id="astructsSprite_html_a902fc00d68119698ac834ceafcb4f1e2"><div class="ttname"><a href="structsSprite.html#a902fc00d68119698ac834ceafcb4f1e2">sSprite::res</a></div><div class="ttdeci">u16 res</div><div class="ttdoc">Reserved, structure align.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:226</div></div>
<div class="ttc" id="astructsSprite_html_a92cd06c0972d641d43939a045b33f745"><div class="ttname"><a href="structsSprite.html#a92cd06c0972d641d43939a045b33f745">sSprite::keycol</a></div><div class="ttdeci">u32 keycol</div><div class="ttdoc">SSPRITE_KEYCOL key color.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:220</div></div>
<div class="ttc" id="astructsSprite_html_a9dcc67b1adcad4346623b9c130b4044a"><div class="ttname"><a href="structsSprite.html#a9dcc67b1adcad4346623b9c130b4044a">sSprite::w0</a></div><div class="ttdeci">u8 * w0</div><div class="ttdoc">SSPRITE_W0 pointer to array of length of lines, or fast sprite length of lines/4.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:219</div></div>
<div class="ttc" id="astructsSprite_html_ad5044957a620c165c22e28ad98fdf534"><div class="ttname"><a href="structsSprite.html#ad5044957a620c165c22e28ad98fdf534">sSprite::x</a></div><div class="ttdeci">s16 x</div><div class="ttdoc">SSPRITE_X sprite X-coordinate on the screen.</div><div class="ttdef"><b>Definition:</b> vga_layer.h:221</div></div>
<div class="ttc" id="astructsVmode_html"><div class="ttname"><a href="structsVmode.html">sVmode</a></div><div class="ttdoc">Videomode table - used to setup video driver.</div><div class="ttdef"><b>Definition:</b> vga_vmode.h:119</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="vga__layer_8h.html">vga_layer.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
<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>