X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2Fblog-0005.html-inc;h=33ffb482ef71429a15a435965c42ca5ef0b1b757;hb=a3de848879a5553418ed11fb193c4bf286ca7120;hp=51a18a506ef1d304b1a7b3b2c674dde9b22b3783;hpb=d502f71f4cb7e6073e2629cdba69f20e7001b721;p=sdlgit%2FSDL-Site.git diff --git a/pages/blog-0005.html-inc b/pages/blog-0005.html-inc index 51a18a5..33ffb48 100644 --- a/pages/blog-0005.html-inc +++ b/pages/blog-0005.html-inc @@ -1,6 +1,20 @@

-Once in a while .... (set_event_filter) +SDL 2.511 + Using SDL for quick visualizations

-

Once in a while
Things just work!



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 +SDL Perl 2.511 is showing great promises. The initial tests show a great deal of stability. http://search.cpan.org/~kthakore/SDL-2.511/
+
+ Moreover we are seeing more varied users of SDL Perl.
+
+John.O Writes:
+

+This is for a tool that we'll be providing our dealers... it measures cellular modem signal strengths out in the middle of nowhere, so dealers can evaluate if our products will work in customers' fields. And of course, I'm using Perl/SDL for the graphics... C gets on my nerves.
+
+Our company is http://smartfield.com.
+
+John O.
+
+
+


+

\ No newline at end of file