X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2Findex.html-inc;h=bc52c6dd99034327e74db85a72b8e3e30a15911a;hb=a9a9aa21353bebf509e63620aac4346ba5d9b030;hp=e7261d589af5973aa85ca44bb68ab007fccff09b;hpb=60038c89a1f2087fd8dd3daa1c0706f674bd7b03;p=sdlgit%2FSDL-Site.git diff --git a/pages/index.html-inc b/pages/index.html-inc index e7261d5..bc52c6d 100644 --- a/pages/index.html-inc +++ b/pages/index.html-inc @@ -1,6 +1,94 @@ -
-

-Once in a while .... (set_event_filter) -

-
-

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

Index

+ +
+ + +

Simple DirectMedia Library Bindings for Perl

Top

+
+ +
+

Welcome

+
+

SDL Perl are a set of bindings to the Simple DirectMedia Library (SDL).

+

'Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."' --www.libsdl.org

+

SDL Perl is an active and exciting project with many facets. Explore this website to learn more.

+ +
+

Getting Started

+
+

To begin using SDL Perl read the tutorials and documentation.

+ +
+

Contribute

+
+
+
IRC
+
+

Talk to us on channel #sdl.

+
+
Mailing List
+
+

Send us an email at mailing list.

+
+
Testing and Development
+
+

Join us on the trac site to get started on making and grabing tickets.

+

To begin testing read this.

+
+
+ +
+

Latest News

Top

+
+ +
+

November 13th 2009

+
+ +
+

CPAN Release

+
+

SDL Perl is v2.2.6 on CPAN. The last of it's kind. This is the last release which will have the old API.

+ +
+

Active Development

+
+

SDL Perl is being actively developed to v3.0. The process is as below:

+
+
v2.3 100% Core of SDL C API migrated without MultiThreading
+
+

Complete access to these functions SDL_API.

+

MultiThreading is doable with this release but will be focused on later

+
+
v2.4 SDL_Image, SDL_Net, SDL_Pango, SDL_TTF, SDL_GFX & SDL_Mixer Support
+
+

Provide support for SDL + POE collaboration.

+

Provide dependecies for FrozenBubble migration to CPAN.

+
+
v2.5 ??? MultiThreading and Other Third Party Libraries
+
+

This release is undecided as of now. Please talk to us on the Channel or Make Tickets

+
+
+ +
+
\ No newline at end of file