added text metrics
[sdlgit/SDL-Site.git] / pages / blog-0019.html-inc
index 65ae515..06aca75 100644 (file)
@@ -1,6 +1,40 @@
 <div class="blog">
 <h1 id="NAME">
-Updates on Plan for v2.4
+Design of SDL::Rect
 </h1>
 <div class="CONTENT">
-<div style="text-align: right;"><i>A fierce storm came,<br />With a crash,<br />Old oaks went lame.</i></div><p>After some hunting for memory leaks, it became obvious that some   rewrite of XS will be necessary. Since this will be a big undertaking   I asked for some help from <a href="http://modernperlbooks.com/mt/index.html">chromatic</a> and <a href="http://onionstand.blogspot.com/">garu</a>. We came up with the   following plan for v2.4.</p><br /><p>Currently all XS is mapped to the SDL_perl module. This does not reflect the modular nature of the sdl libs. So the plan is to gradually move SDL structs and their respective functions to their correct namespaces. We will start with SDL::Rect as garu has <a href="http://github.com/garu/SDL_perl/commit/68210590cb457b273ba0f1f891d378b876dc6cd7">added many tests</a>   for it. This way the build system will be a lot easier to hack since Module::Build was made for one XS per module. Moreover we will move the Build utilities to Alien::SDL, making it even simpler. The main idea is to adhere to single responsibility principle and encapsulation. </p><br /><p>Obviously this will take some time and effort, but it will pay off in the long run. Any help will be greatly appreciated. <br /></p><i>--yapgh</i><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-5293501082670630307?l=yapgh.blogspot.com' alt='' /></div></div></div>
\ No newline at end of file
+<div style="text-align: right;"><i><br />
+you say things,<br />
+I hear,<br />
+but don't listen,<br />
+<br />
+you show things,<br />
+I see,<br />
+but don't understand,<br />
+<br />
+you write things,<br />
+I read,<br />
+but don't know.<br />
+</i></div><br />
+Lately we have been working on cleaning up the XS name spaces of SDL perl. After some bumps and falls we came up with a separated Rect module. Rect is one of the most simple C struct as shown below. <br />
+<br />
+<script src="http://gist.github.com/185940.js">
+</script><br />
+<br />
+Using the awesome <a href="http://cpansearch.perl.org/src/DMR/CookBookB-19960430/perlobject.map">perlobject.map</a> as a reference I was able to create a <a href="http://github.com/kthakore/SDL_perl/blob/a1b835c168ec184abc01edbc01862ffa15624c26/lib/SDL/Rect.pm">blessed perl</a> object in <a href="http://github.com/kthakore/SDL_perl/blob/a1b835c168ec184abc01edbc01862ffa15624c26/src/Rect.xs">XS</a>. So now SDL::Rect-&gt;new(...) gave us a blessed reference ready to go. And as an icing it would destroy itself properly no matter where it was used. But once I brought it into our existing code base, garu pointed out the extending it was a little bit of a mess. So far to extend Rect we have to something like below. Any comment or advice would be much appreciated.<br />
+<br />
+<br />
+<script src="http://gist.github.com/185938.js">
+</script><br />
+<br />
+<br />
+Have at it I am a big boy. You can grab the code like this.<br />
+Only If you don't already have a local git repo:<br />
+<br />
+<blockquote>mkdir SDL<br />
+cd SDL<br />
+git init .</blockquote><br />
+Then do this or skip to this if you already have a local git repo<br />
+<blockquote>git pull git://github.com/kthakore/SDL_perl.git experimental</blockquote><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-3340771783563950133?l=yapgh.blogspot.com' alt='' /></div>
+<p><a href="http://feedads.g.doubleclick.net/~a/KEhhydXQVOQIR77sDEUjV6-zh0M/0/da"><img src="http://feedads.g.doubleclick.net/~a/KEhhydXQVOQIR77sDEUjV6-zh0M/0/di" border="0" ismap="true"></img></a><br/>
+<a href="http://feedads.g.doubleclick.net/~a/KEhhydXQVOQIR77sDEUjV6-zh0M/1/da"><img src="http://feedads.g.doubleclick.net/~a/KEhhydXQVOQIR77sDEUjV6-zh0M/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/YetAnotherPerlGameHackeryapgh/~4/6i-HmfODM5o" height="1" width="1"/></div></div>
\ No newline at end of file