lexsdl 0.3.0

A wrapper for SDL2 to abstract away annoying parts
<!DOCTYPE html>
<html>
<head>
	<title>Integrating</title>
	<link rel="stylesheet" href="styles.css">
</head>
<header>
	<h1>Integrating</h1>
	<hr>
</header>
<body>
	<p>
		Integrating LEXSDL in a existing project is easy.<br>
		The only thing necessary is having access to the raw SDL_Window and SDL_Renderer.<br>
		Bellow are examples on how to do it.<br>
		The functions to be used are:<br>
		<ul>
			<a href=LEXSDL_SetWindow.html><span style=color:#FFFFFF>LEXSDL_SetWindow</span><span style=color:#66cf8d>();</span></a><br>
			<a href=LEXSDL_SetRenderer.html><span style=color:#FFFFFF>LEXSDL_SetRenderer</span><span style=color:#66cf8d>();</span></a><br>
		</ul>
	</p>
	<br>
	<hr style=color:#0000CC>
	<h2 id=cexample><h2 style=color:#0000CC>C</h2>
		<p>This example can be run after clonning the <a href=https://gitlab.com/Alexevier/lexsdl.git>repo</a> as <code>"<span style=color:#0099ff><b>make</b></span> integrating"</code></p>

		<ul>
<span style=color:#27ae60>#include&lt;SDL2/SDL.h&gt;<br>
#include&lt;LEXSDL/LEXSDL.h&gt;<br></span>
<br>
<span style=color:#2980b9>int</span> main<span style=color:#66cf8d>(</span><span style=color:#2980b9>void</span><span style=color:#66cf8d>){</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// this window and renderer would arleady be integrated in your code in some way.</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;SDL_Window <span style=color:#66cf8d>*</span>yourWindow <span style=color:#66cf8d>=</span> SDL_CreateWindow<span style=color:#66cf8d>(</span><span style=color:#f44f4f>"LEXSDL C Example - Integrating"</span><span style=color:#66cf8d>,</span> SDL_WINDOWPOS_CENTERED<span style=color:#66cf8d>,</span>SDL_WINDOWPOS_CENTERED<span style=color:#66cf8d>,</span> <span style=color:#f67400>800</span><span style=color:#66cf8d>,</span><span style=color:#f67400>600</span><span style=color:#66cf8d>,</span> <span style=color:#f67400>0</span><span style=color:#66cf8d>);</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;SDL_Renderer <span style=color:#66cf8d>*</span>yourRenderer <span style=color:#66cf8d>=</span> SDL_CreateRenderer<span style=color:#66cf8d>(</span>yourWindow<span style=color:#66cf8d>,</span> <span style=color:#f67400>-1</span><span style=color:#66cf8d>,</span> <span style=color:#f67400>0</span><span style=color:#66cf8d>);</span><br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// set the window and renderer.</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_SetWindow<span style=color:#66cf8d>(</span>yourWindow<span style=color:#66cf8d>);</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_SetRenderer<span style=color:#66cf8d>(</span>yourRenderer<span style=color:#66cf8d>);</span><br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>//now functions of LEXSDL that depend on the renderer and window can be used.</span><br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>//set the background to a pink color.</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_SetBackgroundColor<span style=color:#66cf8d>(</span><span style=color:#f67400>0xee</span><span style=color:#66cf8d>,</span><span style=color:#f67400>0x70</span><span style=color:#66cf8d>,</span><span style=color:#f67400>0xb5</span><span style=color:#66cf8d>,</span><span style=color:#f67400>0xFF</span><span style=color:#66cf8d>);</span><br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// and render</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_NewFrame<span style=color:#66cf8d>();</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_ShowFrame<span style=color:#66cf8d>();</span><br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// sleep for 3 seconds</span><br>
	&nbsp;&nbsp;&nbsp;&nbsp;sleep<span style=color:#66cf8d>(</span><span style=color:#f67400>3</span><span style=color:#66cf8d>);</span><br>
<span style=color:#66cf8d>}</span>
		</ul>
	<br>
	<hr style=color:#e33b26>
	<h2 style=color:#e33b26>Rust</h2>
		<p>This example can be run after clonning the <a href=https://gitlab.com/Alexevier/lexsdl.git>repo</a> as <code>"<span style=color:#0099ff><b>cargo</b></span> run <span style=color:#2980b9>--example</span> integrating"</code></p>
		<code><ul>
 <b>use</b> <span style=color:#27ae60>lexsdl::*;</span><br>
 <br>
 <b>fn</b> main()<span style=color:#66CF8D>{</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// initialize sdl</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<b>let</b> sdl_context <span style=color:#66CF8D>=</span> <span style=color:#27ae60>sdl2</span><span style=color:#66CF8D>::</span>init()<span style=color:#66CF8D>.</span>unwrap()<span style=color:#66CF8D>;</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<b>let</b> video_subsystem <span style=color:#66CF8D>=</span> sdl_context<span style=color:#66CF8D>.</span>video()<span style=color:#66CF8D>.</span>unwrap()<span style=color:#66CF8D>;</span><br>
 	<br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// create window and canvas</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<b>let</b> window <span style=color:#66CF8D>=</span> video_subsystem<span style=color:#66CF8D>.</span>window(<span style=color:#f44f4f>"LEXSDL Rust Example - integrating"</span><span style=color:#66CF8D>,</span> <span style=color:#f67400>800</span><span style=color:#66CF8D>,</span><span style=color:#f67400>600</span>)<span style=color:#66CF8D>.</span>position_centered()<span style=color:#66CF8D>.</span>build()<span style=color:#66CF8D>.</span>unwrap()<span style=color:#66CF8D>;</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<b>let mut</b> canvas <span style=color:#66CF8D>=</span> window<span style=color:#66CF8D>.</span>into_canvas()<span style=color:#66CF8D>.</span>build()<span style=color:#66CF8D>.</span>unwrap()<span style=color:#66CF8D>;</span><br>
 	<br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// to integrate</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<b>unsafe</b> <span style=color:#66CF8D>{</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// get the window pointer out of the canvas and set it.</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_SetWindow<span style=color:>(canvas<span style=color:#66CF8D>.</span>window_mut()<span style=color:#66CF8D>.</span>raw())<span style=color:#66CF8D>;</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// get the renderer pointer out of the canvas and set it.</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_SetRenderer(canvas<span style=color:#66CF8D>.</span>raw())<span style=color:#66CF8D>;</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#66CF8D>}</span><br>
 	<br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// now LEXSDL can be normally used.</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<b>unsafe</b> <span style=color:#66CF8D>{</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// set the backgroud to a lime color.</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_SetBackgroundColor(<span style=color:#F67400>0x7D</span><span style=color:#66CF8D>,</span><span style=color:#F67400>0xBF</span><span style=color:#66CF8D>,</span><span style=color:#F67400>0x2F</span><span style=color:#66CF8D>,</span><span style=color:#F67400>0xFF</span>)<span style=color:#66CF8D>;</span><br>
 		<br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// and render</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_NewFrame()<span style=color:#66CF8D>;</span><br>
 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEXSDL_ShowFrame()<span style=color:#66CF8D>;</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#66CF8D>}</span><br>
 	<br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#a6a9aa>// sleep for 3 seconds before exiting.</span><br>
 	&nbsp;&nbsp;&nbsp;&nbsp;<span style=color:#27ae60>std::thread::</span>sleep(<span style=color:#27ae60>std::time::Duration::</span>from_secs(<span style=color:#F67400>3</span>))<span style=color:#66CF8D>;</span><br>
 <span style=color:#66CF8D>}</span><br>
		</ul></code>
</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>