Updated
[sdlgit/SDL-Site.git] / pages / index.html-inc
index e7261d5..8375643 100644 (file)
@@ -1,6 +1,125 @@
-<div class="blog">
-<h1 id="NAME">
-Once in a while .... (set_event_filter)
-</h1>
-<div class="CONTENT">
-<div style="text-align: right;"><i> <br />Once in a while <br />Things just work! <br /></i><br /></div><br /><br />So I have been hacking for a while on SDL::Events::set_event_filter. The code below is an example usage. The magic behind this is <a href="http://github.com/kthakore/SDL_perl/blob/1712fe42d62c2a3e382e6bf91366eb2ce9d2f5f4/src/Core/Events.xs">here</a> <br /><br /><pre><a href="" name="line1"> 1</a> <span style="color: #444444;">#!/usr/bin/perl -w<br /><a href="" name="line2"> 2</a> </span><b>use</b> strict;<br /><a href="" name="line3"> 3</a> <b>use</b> warnings;<br /><a href="" name="line4"> 4</a> <b>use</b> SDL v2.3; <span style="color: #444444;">#Require the redesign branch<br /><a href="" name="line5"> 5</a> </span><b>use</b> SDL::Video;<br /><a href="" name="line6"> 6</a> <b>use</b> SDL::Event;<br /><a href="" name="line7"> 7</a> <b>use</b> SDL::Events;<br /><a href="" name="line8"> 8</a> <br /><a href="" name="line9"> 9</a> SDL::init<span style="color: #4444ff;"><b>(</b></span>SDL_INIT_VIDEO<span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line10">10</a> <b>my</b> <span style="color: #2040a0;">$display</span> = SDL::Video::set_video_mode<span style="color: #4444ff;"><b>(</b></span>640,480,32, SDL_SWSURFACE <span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line11">11</a> <b>my</b>  <span style="color: #2040a0;">$event</span> = SDL::Event-&gt;<b>new</b><span style="color: #4444ff;"><b>(</b></span><span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line12">12</a> <br /><a href="" name="line13">13</a> <span style="color: #444444;">#This filters out all ActiveEvents<br /><a href="" name="line14">14</a> </span><b>my</b> <span style="color: #2040a0;">$filter</span> = sub <span style="color: #4444ff;"><b>{</b></span> <br /><a href="" name="line15">15</a>      <b>my</b> <span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$e</span>, <span style="color: #2040a0;">$type</span><span style="color: #4444ff;"><b>)</b></span> = <span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$_</span><span style="color: #4444ff;"><b>[</b></span>0<span style="color: #4444ff;"><b>]</b></span>, <span style="color: #2040a0;">$_</span><span style="color: #4444ff;"><b>[</b></span>0<span style="color: #4444ff;"><b>]</b></span>-&gt;type<span style="color: #4444ff;"><b>)</b></span>; <br /><a href="" name="line16">16</a>      <b>if</b><span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$type</span> == SDL_ACTIVEEVENT<span style="color: #4444ff;"><b>)</b></span><span style="color: #4444ff;"><b>{</b></span> <b>return</b> 0 <span style="color: #4444ff;"><b>}</b></span> <br /><a href="" name="line17">17</a>      <b>elsif</b><span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$type</span> == SDL_MOUSEBUTTONDOWN &amp;&amp; <span style="color: #2040a0;">$e</span>-&gt;button_button == 1<span style="color: #4444ff;"><b>)</b></span><span style="color: #4444ff;"><b>{</b></span> <b>return</b> 0 <span style="color: #4444ff;"><b>}</b></span><br /><a href="" name="line18">18</a>      <b>else</b> <span style="color: #4444ff;"><b>{</b></span> <b>return</b> 1; <span style="color: #4444ff;"><b>}</b></span><br /><a href="" name="line19">19</a>       <span style="color: #4444ff;"><b>}</b></span>;<br /><a href="" name="line20">20</a> <br /><a href="" name="line21">21</a> SDL::Events::set_event_filter<span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$filter</span><span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line22">22</a> <br /><a href="" name="line23">23</a> <b>while</b><span style="color: #4444ff;"><b>(</b></span>1<span style="color: #4444ff;"><b>)</b></span><br /><a href="" name="line24">24</a> <span style="color: #4444ff;"><b>{</b></span><br /><a href="" name="line25">25</a> <br /><a href="" name="line26">26</a>   SDL::Events::pump_events<span style="color: #4444ff;"><b>(</b></span><span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line27">27</a>   <b>if</b><span style="color: #4444ff;"><b>(</b></span>SDL::Events::poll_event<span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$event</span><span style="color: #4444ff;"><b>)</b></span><span style="color: #4444ff;"><b>)</b></span><br /><a href="" name="line28">28</a>   <span style="color: #4444ff;"><b>{</b></span><br /><a href="" name="line29">29</a> <br /><a href="" name="line30">30</a>   <b>if</b><span style="color: #4444ff;"><b>(</b></span>  <span style="color: #2040a0;">$event</span>-&gt;type == SDL_ACTIVEEVENT<span style="color: #4444ff;"><b>)</b></span><br /><a href="" name="line31">31</a>  <span style="color: #4444ff;"><b>{</b></span><br /><a href="" name="line32">32</a>  <span style="color: brown;"><b>print</b></span> <span style="color: green;">"Hello Mouse!!!<span style="color: #77dd77;">\n</span>"</span> <b>if</b> <span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$event</span>-&gt;active_gain &amp;&amp; <span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$event</span>-&gt;active_state == SDL_APPMOUSEFOCUS<span style="color: #4444ff;"><b>)</b></span> <span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line33">33</a>  <span style="color: brown;"><b>print</b></span> <span style="color: green;">"Bye Mouse!!!<span style="color: #77dd77;">\n</span>"</span> <b>if</b> <span style="color: #4444ff;"><b>(</b></span>!<span style="color: #2040a0;">$event</span>-&gt;active_gain &amp;&amp; <span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$event</span>-&gt;active_state == SDL_APPMOUSEFOCUS<span style="color: #4444ff;"><b>)</b></span> <span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line34">34</a>         <span style="color: #4444ff;"><b>}</b></span><br /><a href="" name="line35">35</a>   <b>if</b><span style="color: #4444ff;"><b>(</b></span> <span style="color: #2040a0;">$event</span>-&gt;type == SDL_MOUSEBUTTONDOWN<span style="color: #4444ff;"><b>)</b></span><br /><a href="" name="line36">36</a>    <span style="color: #4444ff;"><b>{</b></span><br /><a href="" name="line37">37</a>  <b>my</b> <span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$x</span>, <span style="color: #2040a0;">$y</span>, <span style="color: #2040a0;">$but</span> <span style="color: #4444ff;"><b>)</b></span> = <span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$event</span>-&gt;button_x, <span style="color: #2040a0;">$event</span>-&gt;button_y, <span style="color: #2040a0;">$event</span>-&gt;button_button<span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line38">38</a>  <span style="color: brown;"><b>warn</b></span> <span style="color: green;">"<span style="color: #2040a0;">$but</span> CLICK!!! at <span style="color: #2040a0;">$x</span> and <span style="color: #2040a0;">$y</span> <span style="color: #77dd77;">\n</span>"</span>;<br /><a href="" name="line39">39</a>  <span style="color: #4444ff;"><b>}</b></span><br /><a href="" name="line40">40</a> <br /><a href="" name="line41">41</a>       <b>last</b> <b>if</b><span style="color: #4444ff;"><b>(</b></span><span style="color: #2040a0;">$event</span>-&gt;type == SDL_QUIT<span style="color: #4444ff;"><b>)</b></span>;<br /><a href="" name="line42">42</a>   <span style="color: #4444ff;"><b>}</b></span><br /><a href="" name="line43">43</a> <span style="color: #4444ff;"><b>}</b></span><br /><a href="" name="line44">44</a> SDL::quit<span style="color: #4444ff;"><b>(</b></span><span style="color: #4444ff;"><b>)</b></span>;&nbsp;</pre><pre>&nbsp;</pre><pre>&nbsp;</pre><pre>Tinker with $filter and look at perldoc lib/SDL/pods/Event.pod.&nbsp;</pre><pre>&nbsp;</pre><pre>Have fun,</pre><pre>--yapgh</pre><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-2301663122914111362?l=yapgh.blogspot.com'/></div></div>
\ No newline at end of file
+<div class="pod">
+<!-- INDEX START -->
+<h3 id="TOP">Index</h3>
+
+<ul><li><a href="#Simple_DirectMedia_Library_Bindings_">Simple DirectMedia Library Bindings for Perl</a>
+<ul><li><a href="#Welcome">Welcome</a>
+<ul><li><a href="#Getting_Started">Getting Started</a></li>
+<li><a href="#Contribute">Contribute</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#Latest_News">Latest News</a>
+<ul><li><a href="#Feb_01_2010_2009">Feb 01 2010 2009</a>
+<ul><li><a href="#CPAN_Release">CPAN Release</a></li>
+<li><a href="#Active_Development">Active Development</a></li>
+<li><a href="#TODO">TODO</a>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul><hr />
+<!-- INDEX END -->
+
+<h1 id="Simple_DirectMedia_Library_Bindings_">Simple DirectMedia Library Bindings for Perl</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="Simple_DirectMedia_Library_Bindings_-2">
+
+</div>
+<h2 id="Welcome">Welcome</h2>
+<div id="Welcome_CONTENT">
+<p>SDL Perl are a set of bindings to the Simple DirectMedia Library (SDL).</p>
+<p>'Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of &quot;Civilization: Call To Power.&quot;' --<cite>www.libsdl.org</cite></p>
+<p>SDL Perl is an active and exciting project with many facets. Explore this website to learn more. </p>
+
+</div>
+<h3 id="Getting_Started">Getting Started</h3>
+<div id="Getting_Started_CONTENT">
+<p>To begin using SDL Perl read the tutorials and documentation. </p>
+
+</div>
+<h3 id="Contribute">Contribute</h3>
+<div id="Contribute_CONTENT">
+<dl>
+       <dt>IRC</dt>
+       <dd>
+               <p>Talk to us on channel <a href="http://widget.mibbit.com/?settings=89f140215d60860684cee2f6a917607f&amp;server=irc.perl.org&amp;channel=%23sdl">#sdl</a> .</p>
+       </dd>
+       <dt>Mailing List</dt>
+       <dd>
+               <p>Send us an email at <a href="mailto:sdl-devel@perl.org">mailing list</a>.</p>
+       </dd>
+       <dt>Testing and Development</dt>
+       <dd>
+               <p>Join us on the trac <a href="http://sdlperl.ath.cx/projects/SDLPerl">site</a> to get started on making and grabing tickets. </p>
+               <p>To begin testing read <a href="http://sdlperl.ath.cx/projects/SDLPerl/wiki/Testing">this</a>.</p>
+       </dd>
+</dl>
+
+</div>
+<h1 id="Latest_News">Latest News</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="Latest_News_CONTENT">
+
+</div>
+<h2 id="Feb_01_2010_2009">Feb 01 2010 2009</h2>
+<div id="Feb_01_2010_2009_CONTENT">
+
+</div>
+<h3 id="CPAN_Release">CPAN Release</h3>
+<div id="CPAN_Release_CONTENT">
+
+
+
+
+<p><a href="http://search.cpan.org/~kthakore">SDL 2.3_5(Alpha)</a> is on CPAN. The new API has many changes, read the <a href="http://sdl.perl.org/blog-0001.html">release notes</a>. </p>
+<p>SDL Perl is v2.2.6 on CPAN. The last of it's kind. This is the last release which will have the old API. </p>
+
+
+
+
+
+</div>
+<h3 id="Active_Development">Active Development</h3>
+<div id="Active_Development_CONTENT">
+<p>SDL Perl is being actively developed to v3.0. The process is as below:</p>
+
+</div>
+<h3 id="TODO">TODO</h3>
+<div id="TODO_CONTENT">
+<dl>
+       <dt>Release 2.3_7</dt>
+       <dd>
+<pre> Mixer Docs, tests, and XS
+
+</pre>
+       </dd>
+       <dt>Release 2.3_8</dt>
+       <dd>
+<pre> TTF Docs, tests and XS
+
+</pre>
+       </dd>
+       <dt>Release 2.3_9</dt>
+       <dd>
+<pre> Pango Docs, tests and XS
+
+</pre>
+       </dd>
+       <dt>Release 2.4.5</dt>
+       <dd>
+<pre>  Sugar for Core SDL objects
+  Make SDL work with Frozen Bubble
+
+
+
+
+
+
+
+</pre>
+       </dd>
+</dl>
+
+</div>
+</div>
\ No newline at end of file