<div class="blog">
<h1 id="NAME">
-Design of SDL::Rect
+Hello Mouse? An Example of the New Event Code
</h1>
<div class="CONTENT">
-<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->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'/></div></div>
\ No newline at end of file
+<div style="text-align: right;"><i>Any code that is not marketed is dead code <br />
+--mst</i><br />
+</div><br />
+You need the new code from the <b> <a href="http://http://github.com/kthakore/SDL_Perl/tree/redesign">redesign branch</a></b> to use this . <br />
+<br />
+<pre class="fake-gist" id="fake-gist-231987">#!/usr/bin/env perl
+
+use SDL;
+use SDL::Events;
+use SDL::Event;
+use SDL::Video;
+
+SDL::init(SDL_INIT_VIDEO);
+
+my $display = SDL::Video::set_video_mode(640,480,32, SDL_SWSURFACE );
+my $event = SDL::Event->new();
+
+while(1)
+{
+ SDL::Events::pump_events();
+
+ if(SDL::Events::poll_event($event) && $event->type == SDL_ACTIVEEVENT)
+ {
+ print "Hello Mouse!!!\n" if ($event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
+ print "Bye Mouse!!!\n" if (!$event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
+ }
+
+ exit if($event->type == SDL_QUIT);
+}</pre><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-4268622242266513664?l=yapgh.blogspot.com' alt='' /></div>
+<p><a href="http://feedads.g.doubleclick.net/~a/VcCMh0XKi92JWmYoQnOB3cQLHtY/0/da"><img src="http://feedads.g.doubleclick.net/~a/VcCMh0XKi92JWmYoQnOB3cQLHtY/0/di" border="0" ismap="true"></img></a><br/>
+<a href="http://feedads.g.doubleclick.net/~a/VcCMh0XKi92JWmYoQnOB3cQLHtY/1/da"><img src="http://feedads.g.doubleclick.net/~a/VcCMh0XKi92JWmYoQnOB3cQLHtY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/YetAnotherPerlGameHackeryapgh/~4/xhzWiodiKJI" height="1" width="1"/></div></div>
\ No newline at end of file