<!DOCTYPE html>
<html>
<head>
<title>Internal</title>
<link rel="stylesheet" href="styles.css">
</head>
<header>
<h1>Internal</h1>
<hr>
</header>
<body>
<h2 style=color:#EE0000>Warning</h2>
<p>
This section of the documentation is for the internals of LEXSDL.<br>
Struct definitions might be outdated.<br>
Functions may be static and not in the header.
</p>
<hr>
<p>
Hidden implementation details,types,functions are in the <span style="color:#27ae60">LEXSDL_internal.h</span> header so the user of LEXLIB doesn't touches sensible stuff.<br>
Also the header is not in the include directory, its in the project source as headers/LEXSDL_internal.h to avoid being included in projects.<br> If <b>you</b> want a change in the internals of LEXSDL or want a function added, don't be shy of making a pull request in the <a href=https://gitlab.com/Alexevier/lexsdl>GitLab Repo</a>.
</p>
<br>
<hr>
<h2>State</h2>
<p>
The internal state is saved as a struct which should not be manually modified and thus it is hidden in the <span style="color:#27ae60">LEXSDL_internal.h</span> header.<br>
And is constructed internaly as <b>LEXSDLDATA</b> in <b>src/lexsdl.c</b>.<br>
<br>
</p>
<hr>
<h2 id=types>Types</h2>
<ul>
<a href=CategoryInternal.html#lexsdldata>LexSdlData</a><br>
<a href=CategoryInternal.html#lexsdl_sprite>LEXSDL_Sprite</a><br>
</ul>
<br>
<hr>
<h2 id=functions>Functions</h2>
<ul>
<a href=LEXSDLINTERNAL_CleanState.html>LEXSDLINTERNAL_CleanState</a>
</ul>
<br>
<hr>
<h2 id=types>Globals</h2>
<ul>
LexSdlData LEXSDLDATA<span style="color:#66cf8d">;</span><br>
</ul>
<br>
<hr>
<h2 id=lexsdldata>LexSdlData</h2>
<p>
Struct used for storing the state of LEXSDL.<br>
</p>
<h3>Struct definition</h3>
<code>
<b>struct</b> LexSdlData <span style="color:#66cf8d">{</span><br>
SDL_Renderer <span style="color:#66cf8d">*</span>renderer<span style="color:#66cf8d">;</span><br>
SDL_Window <span style="color:#66cf8d">*</span>window<span style="color:#66cf8d">;</span><br>
<span style="color:#2980b9">uint8_t</span> bgColor<span style="color:#66cf8d">[</span><span style="color:#f67400">4</span><span style="color:#66cf8d">];</span><br>
<span style="color:#2980b9">uint8_t</span> drColor<span style="color:#66cf8d">[</span><span style="color:#f67400">4</span><span style="color:#66cf8d">];</span><br>
SDL_Texture <span style="color:#66cf8d">**</span>textures<span style="color:#66cf8d">;</span><br>
LEXSDL_Sprite <span style="color:#66cf8d">*</span>sprites<span style="color:#66cf8d">;</span><br>
<span style="color:#2980b9">size_t</span> texturesQuantity<span style="color:#66cf8d">;</span><br>
<span style="color:#2980b9">size_t</span> textureIdFreed<span style="color:#66cf8d">;</span><br>
<span style="color:#66cf8d">};</span><br>
</code>
<br>
<hr>
<h2 id=lexsdl_sprite>LEXSDL_Sprite</h2>
<p>
The general info of sprites is <a href=CategoryRendering.html#sprites>here</a>.
</p>
<h3>Functions</h3>
<ul>
LEXSDL_AddSprite();
</ul>
<h3>Struct definition</h3>
</body>
<footer>
<br>
<hr>
<a href=FrontPage.html>FrontPage</a> <b>|</b> <a href=https://gitlab.com/Alexevier/lexsdl>GitLab</a> <b>|</b> <a href=https://crates.io/crates/lexsdl>Crates.io</a>
</footer>
</html>