Updated the site
[sdlgit/SDL-Site.git] / pages / blog-0002.html-inc
index 51a18a5..317d824 100644 (file)
@@ -1,6 +1,78 @@
 <div class="blog">
 <h1 id="NAME">
-Once in a while .... (set_event_filter)
+Grant Progess Reports 1-3: Sept - Nov
 </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' alt='' /></div></div></div>
\ No newline at end of file
+As you know I have received a TPF grant to write a SDL Perl Manual.<br />
+<a href="http://www.blogger.com/goog_716654272"><br />
+</a><br />
+<a href="http://news.perlfoundation.org/2010/08/2010q3-grant-proposal-manual-f.html">http://news.perlfoundation.org/2010/08/2010q3-grant-proposal-manual-f.html</a><br />
+<br />
+<a href="http://news.perlfoundation.org/2010/08/accepted-grants-for-2010q3.html">http://news.perlfoundation.org/2010/08/accepted-grants-for-2010q3.html</a><br />
+<br />
+I have been a bit busy with that and not been able to update my blog. Anyway here are some of the back dated Grant Updates. These updates where also posted on <a href="http://news.perlfoundation.org/">http://news.perlfoundation.org/</a><br />
+<br />
+<br />
+<a name='more'></a><br />
+<br />
+<div style="text-align: center;">REPORT 1: Sept 2010</div><br />
+<ul><li>1st drafts  <ul><li>Preface </li>
+<li>Chapter 2: First SDL Application</li>
+</ul></li>
+<li>Started work on Chapter 3: Drawing</li>
+<li>Outlines for the first 7 chapters have been completed</li>
+<li>Book build framework has been setup</li>
+<li>Released SDL 2.514 (2.515 will be released on 16th of September) <ul><li>This code is the one that will be used in the book for chapter 02</li>
+</ul></li>
+<li>Got more of the Drawing chapter done (It will be done by the end of the week)       </li>
+<li>Added several more code examples for other chapters</li>
+</ul>Progress: 2.75 chapters / 11 chapters = approx 25%<br />
+Kartik's work can be followed at:<br />
+<ul><li><a href="http://github.com/PerlGameDev/SDL_Manual">http://github.com/PerlGameDev/SDL_Manual</a></li>
+<li><a href="http://sdlperl.ath.cx/releases/SDL_Manual.pdf">http://sdlperl.ath.cx/releases/SDL_Manual.pdf</a></li>
+</ul><br />
+<br />
+<div style="text-align: center;">REPORT 2: October 2010</div><div style="text-align: center;"><br />
+</div><div style="text-align: left;">Since last time:<br />
+<ul><li>We have released SDL 2.518 <ul><li>Game Loop support completed</li>
+</ul></li>
+</ul>Chapters:<br />
+<ul><li>2nd Drafts for: <ul><li>Preface to Game Loop ( Chapter 0 - Chapter 04)</li>
+</ul></li>
+<li>Chapters completed: 5/11 =&gt; 45%</li>
+</ul>Extra:<br />
+<ul><li>cfedde has made a script to extract code listings for readers to try examples with out having to retype them.</li>
+</ul>Coments:<br />
+<ul><li>I am receiving a lot more help from the community, most notable from cfedde for proofreading.</li>
+<li>I will be fleshing out the next 6 chapters shortly and work will begin on them soon</li>
+<li>I am pleased with the progress so far, and I feel the quality is improving due to the pacing.</li>
+</ul>Our work can be seen at:<br />
+<ul><li><a href="http://sdlperl.ath.cx/releases/SDL_Manual.pdf">http://sdlperl.ath.cx/releases/SDL_Manual.pdf</a></li>
+<li><a href="http://sdlperl.ath.cx/releases/SDL_Manual.html">http://sdlperl.ath.cx/releases/SDL_Manual.html</a></li>
+<li><a href="http://github.com/PerlGameDev/SDL_Manual">http://github.com/PerlGameDev/SDL_Manual</a></li>
+</ul></div><br />
+<div style="text-align: center;">REPORT 3: November 2010</div><div style="text-align: left;"><br />
+This is the progress so far:<br />
+<br />
+- SDL 2.523 Releases:<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Adds stability and better memory management for the game loop<br />
+<br />
+- 2 chapters have been completed <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Pong Chapter (Contributed by garu)<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Additional Modules<br />
+- 1 extra chapter has been added<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Puzz(le) Chapter (Contributed by Blaizer)<br />
+<br />
+- 2 Chapters are in the Works<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Tetris Code has been mostly done (contributed by FROGGS)<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Needs to be fixed <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Needs write up<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Sound and Music Effects code is done<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Needs to be fixed<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Needs write up<br />
+<br />
+Our work can be seen at:</div><div style="text-align: left;"><a href="http://sdlperl.ath.cx/releases/SDL_Manual.pdf">http://sdlperl.ath.cx/releases/SDL_Manual.pdf</a></div><div style="text-align: left;"><a href="http://sdlperl.ath.cx/releases/SDL_Manual.html">http://sdlperl.ath.cx/releases/SDL_Manual.html</a></div><div style="text-align: left;"><a href="http://github.com/PerlGameDev/SDL_Manual">http://github.com/PerlGameDev/SDL_Manual</a></div><div style="text-align: left;"></div><div style="text-align: left;"></div><div style="text-align: left;"><br />
+Regards,<br />
+YAPGH</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-4413645254021668635?l=yapgh.blogspot.com' alt='' /></div>
+<p><a href="http://feedads.g.doubleclick.net/~a/rCHqQ4GfQzQ_w9cl8yTT7oNQNJ8/0/da"><img src="http://feedads.g.doubleclick.net/~a/rCHqQ4GfQzQ_w9cl8yTT7oNQNJ8/0/di" border="0" ismap="true"></img></a><br/>
+<a href="http://feedads.g.doubleclick.net/~a/rCHqQ4GfQzQ_w9cl8yTT7oNQNJ8/1/da"><img src="http://feedads.g.doubleclick.net/~a/rCHqQ4GfQzQ_w9cl8yTT7oNQNJ8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/YetAnotherPerlGameHackeryapgh/~4/XruRd8WgjyQ" height="1" width="1"/></div></div>
\ No newline at end of file