X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2Fblog-0025.html-inc;h=1cfd8aee1ddc458167812a4f7f93e0d308534f72;hb=e785862422f3e827a242fc244bd57b23443887ce;hp=0de3c832cedb93b3d65e9876f3ff91874c42d50a;hpb=a05e5d4499fb58198e463162d0385e8a156e1f03;p=sdlgit%2FSDL-Site.git diff --git a/pages/blog-0025.html-inc b/pages/blog-0025.html-inc index 0de3c83..1cfd8ae 100644 --- a/pages/blog-0025.html-inc +++ b/pages/blog-0025.html-inc @@ -1,59 +1,14 @@

-Once in a while .... (set_event_filter) +SDL_perl 2.3_5 is out!

-

-Once in a while
-Things just work!
-

+
We keep on rolling,
+rolling,
+waiting on the world to turn.


+So a new alpha is out on CPAN, after a bit of a break. We are trying to pick up our speed again. Hopefully we can get back to the weekly updates. This week I am going to try to get Mixer and TTF bindings test, redesigned and doc'd. Hopefully soon we can start working on Frozen Bubble, as things are starting to come together. This alpha release has finally given us a good implementation of SDL Timers. Also Daniel Ruoso has also started a series blog posts of making games with SDL Perl. Hopefully this can get more people in SDL, cause we can sure use the help!

-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 here
-
-
 1 #!/usr/bin/perl -w
- 2 use strict;
- 3 use warnings;
- 4 use SDL v2.3; #Require the redesign branch
- 5 use SDL::Video;
- 6 use SDL::Event;
- 7 use SDL::Events;
- 8 
- 9 SDL::init(SDL_INIT_VIDEO);
-10 my $display = SDL::Video::set_video_mode(640,480,32, SDL_SWSURFACE );
-11 my  $event = SDL::Event->new();
-12 
-13 #This filters out all ActiveEvents
-14 my $filter = sub { 
-15      my ($e, $type) = ($_[0], $_[0]->type); 
-16      if($type == SDL_ACTIVEEVENT){ return 0 } 
-17      elsif($type == SDL_MOUSEBUTTONDOWN && $e->button_button == 1){ return 0 }
-18      else { return 1; }
-19       };
-20 
-21 SDL::Events::set_event_filter($filter);
-22 
-23 while(1)
-24 {
-25 
-26   SDL::Events::pump_events();
-27   if(SDL::Events::poll_event($event))
-28   {
-29 
-30   if(  $event->type == SDL_ACTIVEEVENT)
-31  {
-32  print "Hello Mouse!!!\n" if ($event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
-33  print "Bye Mouse!!!\n" if (!$event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
-34         }
-35   if( $event->type == SDL_MOUSEBUTTONDOWN)
-36    {
-37  my ($x, $y, $but ) = ($event->button_x, $event->button_y, $event->button_button);
-38  warn "$but CLICK!!! at $x and $y \n";
-39  }
-40 
-41       last if($event->type == SDL_QUIT);
-42   }
-43 }
-44 SDL::quit()
 
 
Tinker with $filter and look at perldoc lib/SDL/pods/Event.pod. 
 
Have fun,
--yapgh
-


-

\ No newline at end of file +More to come --yapgh
+


+

\ No newline at end of file