X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2Fblog-0025.html-inc;h=0de3c832cedb93b3d65e9876f3ff91874c42d50a;hb=a05e5d4499fb58198e463162d0385e8a156e1f03;hp=9145c2c8074f7f51cef46a8fbf9d9b0e6c381a63;hpb=769d193e7a4b5eeebd1f248a084ae4f2495df071;p=sdlgit%2FSDL-Site.git diff --git a/pages/blog-0025.html-inc b/pages/blog-0025.html-inc index 9145c2c..0de3c83 100644 --- a/pages/blog-0025.html-inc +++ b/pages/blog-0025.html-inc @@ -1,6 +1,59 @@
As a young sprout in spring,
the soil is moist,
and the sun bright.
But as fall comes,
with fading leaves,
my roots keep me standing.
We all âscratch our own itchesâ. Itâs why I started Linux, itâs why I started git, and itâs why I am still involved. --Linus
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