X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2Fblog-0019.html-inc;h=c3b4a7626a19050de251e925f4b6eb5ede77c0e0;hb=c8ad4fe9f211e727310a1ce6d23ffb1d7822d71f;hp=0de3c832cedb93b3d65e9876f3ff91874c42d50a;hpb=65a973147068b3edbbb232aa50fd53a79d7daaef;p=sdlgit%2FSDL-Site.git diff --git a/pages/blog-0019.html-inc b/pages/blog-0019.html-inc index 0de3c83..c3b4a76 100644 --- a/pages/blog-0019.html-inc +++ b/pages/blog-0019.html-inc @@ -1,59 +1,22 @@

-Once in a while .... (set_event_filter) +Developer Release of SDL 2.3_1

-

-Once in a while
-Things just work!
+

+The city of Rome was built,
+with the first brick.


+

Alpha Release of new API

After a considerable amount of hacking and rewriting we have release the first development release of SDL perl on CPAN.

-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
+

Overview of 2.3_1

In this version our goal was to tackle the proper allocations and destruction of SDL resources. We have accomplished this for all SDL Core structures. Moreover we have also improved the test suite and documentation considerably. Please read the CHANGELOG for a more detailed look.

-
 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 +
+

Next steps


+--yapgh +


+

\ No newline at end of file