uodate
[sdlgit/SDL-Site.git] / pages / blog-0024.html-inc
index 24e9bd3..f5d4032 100644 (file)
@@ -1,32 +1,26 @@
 <div class="blog">
 <h1 id="NAME">
-Updates and Design Decisions
+The beginnings of modular design for SDL Perl
 </h1>
 <div class="CONTENT">
-<div align="right"><i><br />
-Storm clouds loom,<br />
-Thunder cracks,<br />
-Lightning blinds,<br />
-Farmers rejoice.<br />
-</i></div><br />
-<b>Some quick updates:</b><br />
-After someone bugged me to update the Ohloh site for <a href="https://www.ohloh.net/p/sdlpl/">SDL perl</a>, I finally got around to doing it. <br />
+<div style="text-align: right;"><i>“Do or do not... there is no try.”</i><br />
+</div><div style="text-align: right;"><i>--yoda </i><br />
 <br />
+</div><h1>The design before</h1><br />
+The bindings before were all in <a href="http://github.com/kthakore/SDL_perl/blob/master/src/SDL.xs">one huge XS file</a>. This was then exported into the SDL module. This means that the XS file has to handle with macros if any component (e.x SDL_Mixer) is not compiled. Moreover having ever binding in one XS file prevents use to treat C structs as object with only one point of free and malloc. This would be BEGIN and DESTROY in Perl. Also the monolithic design introduces a lot of bugs because we have to use free and malloc all over the place. Lastly SDL monolithic design has the constructor for all structs in both Perl and in XS. <br />
 <br />
-<b>Some good news:</b><br />
-v2.2.2.11 seems to be doing a good job considering it has been started to be picked up <a href="http://ftp.debian.org/pool/main/s/sdlperl/">Debian</a>, Mandriva and other packager maintainers. The <a href="http://search.cpan.org/dist/SDL_Perl/">stats</a> are currently at <span style="font-size: x-small;">[PASS(11) FAIL(6) NA(1) UNKNOWN(35)]</span>.<br />
+<h1>The design we are aiming for</h1>Simple <a href="http://github.com/kthakore/SDL_perl/blob/master/src/Rect.xs">one XS</a> per Module. This would also simplify the Build code.<br />
 <br />
-<b>Some OK news:</b><br />
-As you can see we have some fails occurring in the smoke tests. This is occurring due to the <a href="http://cpansearch.perl.org/src/KTHAKORE/SDL_Perl-v2.2.2.11/t/mixerpm.t">test</a> on Mixer.pm. Mixer.pm depends on a <a href="http://www.nntp.perl.org/group/perl.cpan.testers/2009/09/msg5250346.html">sound card being available</a> to the user running the test. This can be fixed by adjusting the test to check for sound cards before it runs but I am at a lost on how to do that.<br />
-In regards to the unknowns occurring it is due to the *nixes and macs not having SDL libs installed. The will be fixed when Alien::SDL downloads and compiles sources.<br />
+<h2>First Step </h2><br />
+We have began with SDL Rect. It is in github master branch now. We are in the progress of making it back compatible. Originally SDL::Rect took named variables as parameters for new(). Now since the constructor <a href="http://github.com/kthakore/SDL_perl/blob/master/src/Rect.xs#L16">is in XS</a> we have only unnamed parameters. <br />
 <br />
-<b>Some not-so-great news:</b><br />
-Currently the XS code simplification work requires redesign and there are several different ways of redesigning. This may break backwards compatibility, hopefully we can work around this. Soon we will present the two arguments for the designs in the <a href="mailto:sdl-devel@perl.org">mailing list</a>. <br />
 <br />
+<h3>Before</h3><br />
+SDL::Rect-&gt;new( -x =&gt; 0, -y =&gt; 0, -width =&gt; 0, -height =&gt; 0);<br />
 <br />
-Until next time here is&nbsp; a hint of something coming soon (credits go to garu):<br />
-<div class="separator" style="clear: both; text-align: center;"><a href="http://imgur.com/B0a1y.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://imgur.com/B0a1y.png" width="200" /></a></div><i><br />
-</i><br />
-<i>--yapgh</i><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-1014994097230880621?l=yapgh.blogspot.com' alt='' /></div>
-<p><a href="http://feedads.g.doubleclick.net/~a/BOYIwZZrq5SERTW7aLq2P2E7dVM/0/da"><img src="http://feedads.g.doubleclick.net/~a/BOYIwZZrq5SERTW7aLq2P2E7dVM/0/di" border="0" ismap="true"></img></a><br/>
-<a href="http://feedads.g.doubleclick.net/~a/BOYIwZZrq5SERTW7aLq2P2E7dVM/1/da"><img src="http://feedads.g.doubleclick.net/~a/BOYIwZZrq5SERTW7aLq2P2E7dVM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/YetAnotherPerlGameHackeryapgh/~4/Z0WxNnkomzg" height="1" width="1"/></div></div>
\ No newline at end of file
+<h3>After</h3><br />
+SDL::Rect-&gt;new(0, 0, 0, 0);<br />
+<br />
+Ideally we would like both ways of constructing Rect.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-6151839795039915111?l=yapgh.blogspot.com' alt='' /></div>
+<p><a href="http://feedads.g.doubleclick.net/~a/kLUEuAPtuInPChqB2WfChUn3YyI/0/da"><img src="http://feedads.g.doubleclick.net/~a/kLUEuAPtuInPChqB2WfChUn3YyI/0/di" border="0" ismap="true"></img></a><br/>
+<a href="http://feedads.g.doubleclick.net/~a/kLUEuAPtuInPChqB2WfChUn3YyI/1/da"><img src="http://feedads.g.doubleclick.net/~a/kLUEuAPtuInPChqB2WfChUn3YyI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/YetAnotherPerlGameHackeryapgh/~4/uEzoBWRJEks" height="1" width="1"/></div></div>
\ No newline at end of file