File Coverage

blib/lib/SDL/Constants.pm
Criterion Covered Total %
statement 104 104 100.0
branch 2 4 50.0
condition n/a
subroutine 36 36 100.0
pod 0 2 0.0
total 142 146 97.2


line stmt bran cond sub pod time code
1             #!/usr/bin/env perl
2             package SDL::Constants;
3              
4 55     55   2202 use warnings;
  55         4026  
  55         6059  
5 55     55   321 use base 'Exporter';
  55         120  
  55         10052  
6 55     55   1816 use Config;
  55         1541  
  55         66709  
7              
8             our @EXPORT_OK = ();
9             our %EXPORT_TAGS = (
10             'SDL/defaults' => [
11             qw(
12             SDL_LIL_ENDIAN
13             SDL_BIG_ENDIAN
14             SDL_BYTEORDER
15              
16             )
17             ],
18             'SDL/init' => [
19             qw(
20             SDL_INIT_AUDIO
21             SDL_INIT_CDROM
22             SDL_INIT_EVENTTHREAD
23             SDL_INIT_EVERYTHING
24             SDL_INIT_JOYSTICK
25             SDL_INIT_NOPARACHUTE
26             SDL_INIT_TIMER
27             SDL_INIT_VIDEO
28             )
29             ],
30             'SDL::Audio/format' => [
31             qw(
32             AUDIO_U8
33             AUDIO_S8
34             AUDIO_U16LSB
35             AUDIO_S16LSB
36             AUDIO_U16MSB
37             AUDIO_S16MSB
38             AUDIO_U16
39             AUDIO_S16
40             AUDIO_U16SYS
41             AUDIO_S16SYS
42             )
43             ],
44             'SDL::Audio/status' => [
45             qw(
46             SDL_AUDIO_STOPPED
47             SDL_AUDIO_PLAYING
48             SDL_AUDIO_PAUSED
49             )
50             ],
51             'SDL::CDROM/defaults' => [
52             qw(
53             CD_FPS
54             SDL_MAX_TRACKS
55             )
56             ],
57             'SDL::CDROM/status' => [
58             qw(
59             CD_TRAYEMPTY
60             CD_STOPPED
61             CD_PLAYING
62             CD_PAUSED
63             CD_ERROR
64             )
65             ],
66             'SDL::CDROM/track_type' => [
67             qw(
68             SDL_AUDIO_TRACK
69             SDL_DATA_TRACK
70             )
71             ],
72             'SDL::Events/type' => [
73             qw(
74             SDL_ACTIVEEVENT
75             SDL_KEYDOWN
76             SDL_KEYUP
77             SDL_MOUSEMOTION
78             SDL_MOUSEBUTTONDOWN
79             SDL_MOUSEBUTTONUP
80             SDL_JOYAXISMOTION
81             SDL_JOYBALLMOTION
82             SDL_JOYHATMOTION
83             SDL_JOYBUTTONDOWN
84             SDL_JOYBUTTONUP
85             SDL_QUIT
86             SDL_SYSWMEVENT
87             SDL_VIDEORESIZE
88             SDL_VIDEOEXPOSE
89             SDL_USEREVENT
90             SDL_NUMEVENTS
91             )
92             ],
93             'SDL::Events/mask' => [
94             qw(
95             SDL_EVENTMASK
96             SDL_ACTIVEEVENTMASK
97             SDL_KEYDOWNMASK
98             SDL_KEYUPMASK
99             SDL_KEYEVENTMASK
100             SDL_MOUSEMOTIONMASK
101             SDL_MOUSEBUTTONDOWNMASK
102             SDL_MOUSEBUTTONUPMASK
103             SDL_MOUSEEVENTMASK
104             SDL_JOYAXISMOTIONMASK
105             SDL_JOYBALLMOTIONMASK
106             SDL_JOYHATMOTIONMASK
107             SDL_JOYBUTTONDOWNMASK
108             SDL_JOYBUTTONUPMASK
109             SDL_JOYEVENTMASK
110             SDL_VIDEORESIZEMASK
111             SDL_VIDEOEXPOSEMASK
112             SDL_QUITMASK
113             SDL_SYSWMEVENTMASK
114             SDL_ALLEVENTS
115             )
116             ],
117             'SDL::Events/action' => [
118             qw(
119             SDL_ADDEVENT
120             SDL_PEEKEVENT
121             SDL_GETEVENT
122             )
123             ],
124             'SDL::Events/state' => [
125             qw(
126             SDL_QUERY
127             SDL_IGNORE
128             SDL_DISABLE
129             SDL_ENABLE
130             SDL_RELEASED
131             SDL_PRESSED
132             )
133             ],
134             'SDL::Events/hat' => [
135             qw(
136             SDL_HAT_CENTERED
137             SDL_HAT_UP
138             SDL_HAT_RIGHT
139             SDL_HAT_DOWN
140             SDL_HAT_LEFT
141             SDL_HAT_RIGHTUP
142             SDL_HAT_RIGHTDOWN
143             SDL_HAT_LEFTUP
144             SDL_HAT_LEFTDOWN
145             )
146             ],
147             'SDL::Events/app' => [
148             qw(
149             SDL_APPMOUSEFOCUS
150             SDL_APPINPUTFOCUS
151             SDL_APPACTIVE
152             )
153             ],
154             'SDL::Events/button' => [
155             qw(
156             SDL_BUTTON
157             SDL_BUTTON_LEFT
158             SDL_BUTTON_MIDDLE
159             SDL_BUTTON_RIGHT
160             SDL_BUTTON_WHEELUP
161             SDL_BUTTON_WHEELDOWN
162             SDL_BUTTON_X1
163             SDL_BUTTON_X2
164             SDL_BUTTON_LMASK
165             SDL_BUTTON_MMASK
166             SDL_BUTTON_RMASK
167             SDL_BUTTON_X1MASK
168             SDL_BUTTON_X2MASK
169             )
170             ],
171             'SDL::Events/keysym' => [
172             qw(
173             SDLK_UNKNOWN
174             SDLK_FIRST
175             SDLK_BACKSPACE
176             SDLK_TAB
177             SDLK_CLEAR
178             SDLK_RETURN
179             SDLK_PAUSE
180             SDLK_ESCAPE
181             SDLK_SPACE
182             SDLK_EXCLAIM
183             SDLK_QUOTEDBL
184             SDLK_HASH
185             SDLK_DOLLAR
186             SDLK_AMPERSAND
187             SDLK_QUOTE
188             SDLK_LEFTPAREN
189             SDLK_RIGHTPAREN
190             SDLK_ASTERISK
191             SDLK_PLUS
192             SDLK_COMMA
193             SDLK_MINUS
194             SDLK_PERIOD
195             SDLK_SLASH
196             SDLK_0
197             SDLK_1
198             SDLK_2
199             SDLK_3
200             SDLK_4
201             SDLK_5
202             SDLK_6
203             SDLK_7
204             SDLK_8
205             SDLK_9
206             SDLK_COLON
207             SDLK_SEMICOLON
208             SDLK_LESS
209             SDLK_EQUALS
210             SDLK_GREATER
211             SDLK_QUESTION
212             SDLK_AT
213             SDLK_LEFTBRACKET
214             SDLK_BACKSLASH
215             SDLK_RIGHTBRACKET
216             SDLK_CARET
217             SDLK_UNDERSCORE
218             SDLK_BACKQUOTE
219             SDLK_a
220             SDLK_b
221             SDLK_c
222             SDLK_d
223             SDLK_e
224             SDLK_f
225             SDLK_g
226             SDLK_h
227             SDLK_i
228             SDLK_j
229             SDLK_k
230             SDLK_l
231             SDLK_m
232             SDLK_n
233             SDLK_o
234             SDLK_p
235             SDLK_q
236             SDLK_r
237             SDLK_s
238             SDLK_t
239             SDLK_u
240             SDLK_v
241             SDLK_w
242             SDLK_x
243             SDLK_y
244             SDLK_z
245             SDLK_DELETE
246             SDLK_WORLD_0
247             SDLK_WORLD_1
248             SDLK_WORLD_2
249             SDLK_WORLD_3
250             SDLK_WORLD_4
251             SDLK_WORLD_5
252             SDLK_WORLD_6
253             SDLK_WORLD_7
254             SDLK_WORLD_8
255             SDLK_WORLD_9
256             SDLK_WORLD_10
257             SDLK_WORLD_11
258             SDLK_WORLD_12
259             SDLK_WORLD_13
260             SDLK_WORLD_14
261             SDLK_WORLD_15
262             SDLK_WORLD_16
263             SDLK_WORLD_17
264             SDLK_WORLD_18
265             SDLK_WORLD_19
266             SDLK_WORLD_20
267             SDLK_WORLD_21
268             SDLK_WORLD_22
269             SDLK_WORLD_23
270             SDLK_WORLD_24
271             SDLK_WORLD_25
272             SDLK_WORLD_26
273             SDLK_WORLD_27
274             SDLK_WORLD_28
275             SDLK_WORLD_29
276             SDLK_WORLD_30
277             SDLK_WORLD_31
278             SDLK_WORLD_32
279             SDLK_WORLD_33
280             SDLK_WORLD_34
281             SDLK_WORLD_35
282             SDLK_WORLD_36
283             SDLK_WORLD_37
284             SDLK_WORLD_38
285             SDLK_WORLD_39
286             SDLK_WORLD_40
287             SDLK_WORLD_41
288             SDLK_WORLD_42
289             SDLK_WORLD_43
290             SDLK_WORLD_44
291             SDLK_WORLD_45
292             SDLK_WORLD_46
293             SDLK_WORLD_47
294             SDLK_WORLD_48
295             SDLK_WORLD_49
296             SDLK_WORLD_50
297             SDLK_WORLD_51
298             SDLK_WORLD_52
299             SDLK_WORLD_53
300             SDLK_WORLD_54
301             SDLK_WORLD_55
302             SDLK_WORLD_56
303             SDLK_WORLD_57
304             SDLK_WORLD_58
305             SDLK_WORLD_59
306             SDLK_WORLD_60
307             SDLK_WORLD_61
308             SDLK_WORLD_62
309             SDLK_WORLD_63
310             SDLK_WORLD_64
311             SDLK_WORLD_65
312             SDLK_WORLD_66
313             SDLK_WORLD_67
314             SDLK_WORLD_68
315             SDLK_WORLD_69
316             SDLK_WORLD_70
317             SDLK_WORLD_71
318             SDLK_WORLD_72
319             SDLK_WORLD_73
320             SDLK_WORLD_74
321             SDLK_WORLD_75
322             SDLK_WORLD_76
323             SDLK_WORLD_77
324             SDLK_WORLD_78
325             SDLK_WORLD_79
326             SDLK_WORLD_80
327             SDLK_WORLD_81
328             SDLK_WORLD_82
329             SDLK_WORLD_83
330             SDLK_WORLD_84
331             SDLK_WORLD_85
332             SDLK_WORLD_86
333             SDLK_WORLD_87
334             SDLK_WORLD_88
335             SDLK_WORLD_89
336             SDLK_WORLD_90
337             SDLK_WORLD_91
338             SDLK_WORLD_92
339             SDLK_WORLD_93
340             SDLK_WORLD_94
341             SDLK_WORLD_95
342             SDLK_KP0
343             SDLK_KP1
344             SDLK_KP2
345             SDLK_KP3
346             SDLK_KP4
347             SDLK_KP5
348             SDLK_KP6
349             SDLK_KP7
350             SDLK_KP8
351             SDLK_KP9
352             SDLK_KP_PERIOD
353             SDLK_KP_DIVIDE
354             SDLK_KP_MULTIPLY
355             SDLK_KP_MINUS
356             SDLK_KP_PLUS
357             SDLK_KP_ENTER
358             SDLK_KP_EQUALS
359             SDLK_UP
360             SDLK_DOWN
361             SDLK_RIGHT
362             SDLK_LEFT
363             SDLK_INSERT
364             SDLK_HOME
365             SDLK_END
366             SDLK_PAGEUP
367             SDLK_PAGEDOWN
368             SDLK_F1
369             SDLK_F2
370             SDLK_F3
371             SDLK_F4
372             SDLK_F5
373             SDLK_F6
374             SDLK_F7
375             SDLK_F8
376             SDLK_F9
377             SDLK_F10
378             SDLK_F11
379             SDLK_F12
380             SDLK_F13
381             SDLK_F14
382             SDLK_F15
383             SDLK_NUMLOCK
384             SDLK_CAPSLOCK
385             SDLK_SCROLLOCK
386             SDLK_RSHIFT
387             SDLK_LSHIFT
388             SDLK_RCTRL
389             SDLK_LCTRL
390             SDLK_RALT
391             SDLK_LALT
392             SDLK_RMETA
393             SDLK_LMETA
394             SDLK_LSUPER
395             SDLK_RSUPER
396             SDLK_MODE
397             SDLK_COMPOSE
398             SDLK_HELP
399             SDLK_PRINT
400             SDLK_SYSREQ
401             SDLK_BREAK
402             SDLK_MENU
403             SDLK_POWER
404             SDLK_EURO
405             SDLK_UNDO
406             )
407             ],
408             'SDL::Events/keymod' => [
409             qw(
410             KMOD_NONE
411             KMOD_LSHIFT
412             KMOD_RSHIFT
413             KMOD_LCTRL
414             KMOD_RCTRL
415             KMOD_LALT
416             KMOD_RALT
417             KMOD_LMETA
418             KMOD_RMETA
419             KMOD_NUM
420             KMOD_CAPS
421             KMOD_MODE
422             KMOD_RESERVED
423             KMOD_CTRL
424             KMOD_SHIFT
425             KMOD_ALT
426             KMOD_META
427             )
428             ],
429             'SDL::GFX/smoothing' => [
430             qw(
431             SMOOTHING_OFF
432             SMOOTHING_ON
433             )
434             ],
435             'SDL::Image/init' => [
436             qw(
437             IMG_INIT_JPG
438             IMG_INIT_PNG
439             IMG_INIT_TIF
440             )
441             ],
442             'SDL::Net/defaults' => [
443             qw(
444             INADDR_ANY
445             INADDR_NONE
446             INADDR_BROADCAST
447             SDLNET_MAX_UDPCHANNELS
448             SDLNET_MAX_UDPADDRESSES
449             )
450             ],
451             'SDL::Mixer/init' => [
452             qw(
453             MIX_INIT_FLAC
454             MIX_INIT_MOD
455             MIX_INIT_MP3
456             MIX_INIT_OGG
457             )
458             ],
459             'SDL::Mixer/defaults' => [
460             qw(
461             MIX_CHANNELS
462             MIX_DEFAULT_FORMAT
463             MIX_DEFAULT_FREQUENCY
464             MIX_DEFAULT_CHANNELS
465             MIX_MAX_VOLUME
466             MIX_CHANNEL_POST
467             )
468             ],
469             'SDL::Mixer/fading' => [
470             qw(
471             MIX_NO_FADING
472             MIX_FADING_OUT
473             MIX_FADING_IN
474             )
475             ],
476             'SDL::Mixer/type' => [
477             qw(
478             MUS_NONE
479             MUS_CMD
480             MUS_WAV
481             MUS_MOD
482             MUS_MID
483             MUS_OGG
484             MUS_MP3
485             MUS_MP3_MAD
486             MUS_MP3_FLAC
487             )
488             ],
489             'SDL::Pango/direction' => [
490             qw(
491             SDLPANGO_DIRECTION_LTR
492             SDLPANGO_DIRECTION_RTL
493             SDLPANGO_DIRECTION_WEAK_LTR
494             SDLPANGO_DIRECTION_WEAK_RTL
495             SDLPANGO_DIRECTION_NEUTRAL
496             )
497             ],
498             'SDL::Pango/align' => [
499             qw(
500             SDLPANGO_ALIGN_LEFT
501             SDLPANGO_ALIGN_CENTER
502             SDLPANGO_ALIGN_RIGHT
503             )
504             ],
505             'SDL::RWOps/defaults' => [
506             qw(
507             RW_SEEK_SET
508             RW_SEEK_CUR
509             RW_SEEK_END
510             )
511             ],
512             'SDL::TTF/hinting' => [
513             qw(
514             TTF_HINTING_NORMAL
515             TTF_HINTING_LIGHT
516             TTF_HINTING_MONO
517             TTF_HINTING_NONE
518             )
519             ],
520             'SDL::TTF/style' => [
521             qw(
522             TTF_STYLE_NORMAL
523             TTF_STYLE_BOLD
524             TTF_STYLE_ITALIC
525             TTF_STYLE_UNDERLINE
526             TTF_STYLE_STRIKETHROUGH
527             )
528             ],
529             'SDL::Video/color' => [
530             qw(
531             SDL_ALPHA_OPAQUE
532             SDL_ALPHA_TRANSPARENT
533             )
534             ],
535             'SDL::Video/surface' => [
536             qw(
537             SDL_SWSURFACE
538             SDL_HWSURFACE
539             SDL_ASYNCBLIT
540             )
541             ],
542             'SDL::Video/video' => [
543             qw(
544             SDL_SWSURFACE
545             SDL_HWSURFACE
546             SDL_ASYNCBLIT
547             SDL_ANYFORMAT
548             SDL_HWPALETTE
549             SDL_DOUBLEBUF
550             SDL_FULLSCREEN
551             SDL_OPENGL
552             SDL_OPENGLBLIT
553             SDL_RESIZABLE
554             SDL_NOFRAME
555             SDL_HWACCEL
556             SDL_SRCCOLORKEY
557             SDL_RLEACCELOK
558             SDL_RLEACCEL
559             SDL_SRCALPHA
560             SDL_PREALLOC
561             )
562             ],
563             'SDL::Video/overlay' => [
564             qw(
565             SDL_YV12_OVERLAY
566             SDL_IYUV_OVERLAY
567             SDL_YUY2_OVERLAY
568             SDL_UYVY_OVERLAY
569             SDL_YVYU_OVERLAY
570             )
571             ],
572             'SDL::Video/palette' => [
573             qw(
574             SDL_LOGPAL
575             SDL_PHYSPAL
576             )
577             ],
578             'SDL::Video/grab' => [
579             qw(
580             SDL_GRAB_QUERY
581             SDL_GRAB_OFF
582             SDL_GRAB_ON
583             SDL_GRAB_FULLSCREEN
584             )
585             ],
586             'SDL::Video/gl' => [
587             qw(
588             SDL_GL_RED_SIZE
589             SDL_GL_GREEN_SIZE
590             SDL_GL_BLUE_SIZE
591             SDL_GL_ALPHA_SIZE
592             SDL_GL_BUFFER_SIZE
593             SDL_GL_DOUBLEBUFFER
594             SDL_GL_DEPTH_SIZE
595             SDL_GL_STENCIL_SIZE
596             SDL_GL_ACCUM_RED_SIZE
597             SDL_GL_ACCUM_GREEN_SIZE
598             SDL_GL_ACCUM_BLUE_SIZE
599             SDL_GL_ACCUM_ALPHA_SIZE
600             SDL_GL_STEREO
601             SDL_GL_MULTISAMPLEBUFFERS
602             SDL_GL_MULTISAMPLESAMPLES
603             SDL_GL_ACCELERATED_VISUAL
604             SDL_GL_SWAP_CONTROL
605             )
606             ],
607             );
608              
609             # 1. all constants from %EXPORT_TAGS are gonna pushed into @EXPORT
610             # 2. tags like 'package/tag' and 'package/next_tag' are merged into tag 'package'
611             my %seen;
612             foreach my $package ( keys %EXPORT_TAGS ) {
613             my $super_package = $package;
614             $super_package =~ s/\/.*$//;
615             push( @{ $EXPORT_TAGS{$super_package} }, @{ $EXPORT_TAGS{$package} } )
616             if $super_package ne $package;
617             push( @EXPORT_OK, grep { !$seen{$_}++ } @{ $EXPORT_TAGS{$package} } );
618             }
619              
620             use constant {
621 55         29478 SDL_INIT_TIMER => 0x00000001,
622             SDL_INIT_AUDIO => 0x00000010,
623             SDL_INIT_VIDEO => 0x00000020,
624             SDL_INIT_CDROM => 0x00000100,
625             SDL_INIT_JOYSTICK => 0x00000200,
626             SDL_INIT_NOPARACHUTE => 0x00100000,
627             SDL_INIT_EVENTTHREAD => 0x01000000,
628             SDL_INIT_EVERYTHING => 0x0000FFFF,
629 55     55   2099 }; # SDL/init
  55         110  
630              
631             use constant {
632 55         81255 SDL_LIL_ENDIAN => 1234,
633             SDL_BIG_ENDIAN => 4321,
634             SDL_BYTEORDER => $Config{byteorder}
635 55     55   327 }; # SDL/defaults
  55         133  
636              
637             use constant {
638 55         8807 AUDIO_U8 => 0x0008,
639             AUDIO_S8 => 0x8008,
640             AUDIO_U16LSB => 0x0010,
641             AUDIO_S16LSB => 0x8010,
642             AUDIO_U16MSB => 0x1010,
643             AUDIO_S16MSB => 0x9010,
644             AUDIO_U16 => 0x0010,
645             AUDIO_S16 => 0x8010,
646 55     55   256293 }; # SDL::Audio/format
  55         138  
647              
648             use constant {
649 55 50       8904 AUDIO_U16SYS => ( $Config{byteorder} == 1234 ? 0x0010 : 0x1010 ),
    50          
650             AUDIO_S16SYS => ( $Config{byteorder} == 1234 ? 0x8010 : 0x9010 ),
651 55     55   308 }; # SDL::Audio/format
  55         102  
652              
653             use constant {
654 55         4773 SDL_AUDIO_STOPPED => 0,
655             SDL_AUDIO_PLAYING => 1,
656             SDL_AUDIO_PAUSED => 2,
657 55     55   346 }; # SDL::Audio/status
  55         193  
658              
659             use constant {
660 55         5075 CD_FPS => 75,
661             SDL_MAX_TRACKS => 99,
662 55     55   304 }; # SDL::CDROM/defaults
  55         115  
663              
664             use constant {
665 55         8579 CD_TRAYEMPTY => 0,
666             CD_STOPPED => 1,
667             CD_PLAYING => 2,
668             CD_PAUSED => 3,
669             CD_ERROR => -1,
670 55     55   305 }; # SDL::CDROM/status
  55         94  
671              
672             use constant {
673 55         7829 SDL_AUDIO_TRACK => 0,
674             SDL_DATA_TRACK => 4,
675 55     55   282 }; # SDL::CDROM/track_type
  55         87  
676              
677             use constant {
678 55         45967 SDL_ACTIVEEVENT => 1,
679             SDL_KEYDOWN => 2,
680             SDL_KEYUP => 3,
681             SDL_MOUSEMOTION => 4,
682             SDL_MOUSEBUTTONDOWN => 5,
683             SDL_MOUSEBUTTONUP => 6,
684             SDL_JOYAXISMOTION => 7,
685             SDL_JOYBALLMOTION => 8,
686             SDL_JOYHATMOTION => 9,
687             SDL_JOYBUTTONDOWN => 10,
688             SDL_JOYBUTTONUP => 11,
689             SDL_QUIT => 12,
690             SDL_SYSWMEVENT => 13,
691             SDL_VIDEORESIZE => 16,
692             SDL_VIDEOEXPOSE => 17,
693             SDL_USEREVENT => 24,
694             SDL_NUMEVENTS => 32,
695 55     55   282 }; # SDL::Events/type
  55         91  
696              
697 1425     1425 0 25310 sub SDL_EVENTMASK { return 1 << shift; }
698              
699             use constant {
700 55         335 SDL_ACTIVEEVENTMASK => SDL_EVENTMASK(SDL_ACTIVEEVENT),
701             SDL_KEYDOWNMASK => SDL_EVENTMASK(SDL_KEYDOWN),
702             SDL_KEYUPMASK => SDL_EVENTMASK(SDL_KEYUP),
703             SDL_KEYEVENTMASK => SDL_EVENTMASK(SDL_KEYDOWN) | SDL_EVENTMASK(SDL_KEYUP),
704             SDL_MOUSEMOTIONMASK => SDL_EVENTMASK(SDL_MOUSEMOTION),
705             SDL_MOUSEBUTTONDOWNMASK => SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN),
706             SDL_MOUSEBUTTONUPMASK => SDL_EVENTMASK(SDL_MOUSEBUTTONUP),
707             SDL_MOUSEEVENTMASK => SDL_EVENTMASK(SDL_MOUSEMOTION) |
708             SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN) | SDL_EVENTMASK(SDL_MOUSEBUTTONUP),
709             SDL_JOYAXISMOTIONMASK => SDL_EVENTMASK(SDL_JOYAXISMOTION),
710             SDL_JOYBALLMOTIONMASK => SDL_EVENTMASK(SDL_JOYBALLMOTION),
711             SDL_JOYHATMOTIONMASK => SDL_EVENTMASK(SDL_JOYHATMOTION),
712             SDL_JOYBUTTONDOWNMASK => SDL_EVENTMASK(SDL_JOYBUTTONDOWN),
713             SDL_JOYBUTTONUPMASK => SDL_EVENTMASK(SDL_JOYBUTTONUP),
714             SDL_JOYEVENTMASK => SDL_EVENTMASK(SDL_JOYAXISMOTION) |
715             SDL_EVENTMASK(SDL_JOYBALLMOTION) | SDL_EVENTMASK(SDL_JOYHATMOTION) |
716             SDL_EVENTMASK(SDL_JOYBUTTONDOWN) | SDL_EVENTMASK(SDL_JOYBUTTONUP),
717             SDL_VIDEORESIZEMASK => SDL_EVENTMASK(SDL_VIDEORESIZE),
718             SDL_VIDEOEXPOSEMASK => SDL_EVENTMASK(SDL_VIDEOEXPOSE),
719             SDL_QUITMASK => SDL_EVENTMASK(SDL_QUIT),
720             SDL_SYSWMEVENTMASK => SDL_EVENTMASK(SDL_SYSWMEVENT),
721             SDL_ALLEVENTS => 0xFFFFFFFF,
722 55     55   552 }; # SDL::Events/mask
  55         119  
723              
724             use constant {
725 55         4635 SDL_ADDEVENT => 0,
726             SDL_PEEKEVENT => 1,
727             SDL_GETEVENT => 2,
728 55     55   300 }; # SDL::Events/action
  55         95  
729              
730             use constant {
731 55         9021 SDL_QUERY => -1,
732             SDL_IGNORE => 0,
733             SDL_DISABLE => 0,
734             SDL_ENABLE => 1,
735             SDL_RELEASED => 0,
736             SDL_PRESSED => 1,
737 55     55   279 }; # SDL::Events/state
  55         105  
738              
739             use constant {
740 55         7995 SDL_HAT_CENTERED => 0x00,
741             SDL_HAT_UP => 0x01,
742             SDL_HAT_RIGHT => 0x02,
743             SDL_HAT_DOWN => 0x04,
744             SDL_HAT_LEFT => 0x08,
745             SDL_HAT_RIGHTUP => ( 0x02 | 0x01 ),
746             SDL_HAT_RIGHTDOWN => ( 0x02 | 0x04 ),
747             SDL_HAT_LEFTUP => ( 0x08 | 0x01 ),
748             SDL_HAT_LEFTDOWN => ( 0x08 | 0x04 ),
749 55     55   310 }; # SDL::Events/hat
  55         102  
750              
751             use constant {
752 55         8489 SDL_APPMOUSEFOCUS => 0x01,
753             SDL_APPINPUTFOCUS => 0x02,
754             SDL_APPACTIVE => 0x04,
755 55     55   324 }; # SDL::Events/app
  55         107  
756              
757 275     275 0 35908 sub SDL_BUTTON { return ( 1 << ( ( $_[0] ) - 1 ) ); }
758              
759             use constant {
760 55         201 SDL_BUTTON_LEFT => 1,
761             SDL_BUTTON_MIDDLE => 2,
762             SDL_BUTTON_RIGHT => 3,
763             SDL_BUTTON_WHEELUP => 4,
764             SDL_BUTTON_WHEELDOWN => 5,
765             SDL_BUTTON_X1 => 6,
766             SDL_BUTTON_X2 => 7,
767             SDL_BUTTON_LMASK => SDL_BUTTON(1),
768             SDL_BUTTON_MMASK => SDL_BUTTON(2),
769             SDL_BUTTON_RMASK => SDL_BUTTON(3),
770             SDL_BUTTON_X1MASK => SDL_BUTTON(6),
771             SDL_BUTTON_X2MASK => SDL_BUTTON(7),
772 55     55   436 }; # SDL::Events/button
  55         103  
773              
774             use constant {
775 55         188665 SDLK_UNKNOWN => 0,
776             SDLK_FIRST => 0,
777             SDLK_BACKSPACE => 8,
778             SDLK_TAB => 9,
779             SDLK_CLEAR => 12,
780             SDLK_RETURN => 13,
781             SDLK_PAUSE => 19,
782             SDLK_ESCAPE => 27,
783             SDLK_SPACE => 32,
784             SDLK_EXCLAIM => 33,
785             SDLK_QUOTEDBL => 34,
786             SDLK_HASH => 35,
787             SDLK_DOLLAR => 36,
788             SDLK_AMPERSAND => 38,
789             SDLK_QUOTE => 39,
790             SDLK_LEFTPAREN => 40,
791             SDLK_RIGHTPAREN => 41,
792             SDLK_ASTERISK => 42,
793             SDLK_PLUS => 43,
794             SDLK_COMMA => 44,
795             SDLK_MINUS => 45,
796             SDLK_PERIOD => 46,
797             SDLK_SLASH => 47,
798             SDLK_0 => 48,
799             SDLK_1 => 49,
800             SDLK_2 => 50,
801             SDLK_3 => 51,
802             SDLK_4 => 52,
803             SDLK_5 => 53,
804             SDLK_6 => 54,
805             SDLK_7 => 55,
806             SDLK_8 => 56,
807             SDLK_9 => 57,
808             SDLK_COLON => 58,
809             SDLK_SEMICOLON => 59,
810             SDLK_LESS => 60,
811             SDLK_EQUALS => 61,
812             SDLK_GREATER => 62,
813             SDLK_QUESTION => 63,
814             SDLK_AT => 64,
815             SDLK_LEFTBRACKET => 91,
816             SDLK_BACKSLASH => 92,
817             SDLK_RIGHTBRACKET => 93,
818             SDLK_CARET => 94,
819             SDLK_UNDERSCORE => 95,
820             SDLK_BACKQUOTE => 96,
821             SDLK_a => 97,
822             SDLK_b => 98,
823             SDLK_c => 99,
824             SDLK_d => 100,
825             SDLK_e => 101,
826             SDLK_f => 102,
827             SDLK_g => 103,
828             SDLK_h => 104,
829             SDLK_i => 105,
830             SDLK_j => 106,
831             SDLK_k => 107,
832             SDLK_l => 108,
833             SDLK_m => 109,
834             SDLK_n => 110,
835             SDLK_o => 111,
836             SDLK_p => 112,
837             SDLK_q => 113,
838             SDLK_r => 114,
839             SDLK_s => 115,
840             SDLK_t => 116,
841             SDLK_u => 117,
842             SDLK_v => 118,
843             SDLK_w => 119,
844             SDLK_x => 120,
845             SDLK_y => 121,
846             SDLK_z => 122,
847             SDLK_DELETE => 127,
848             SDLK_WORLD_0 => 160,
849             SDLK_WORLD_1 => 161,
850             SDLK_WORLD_2 => 162,
851             SDLK_WORLD_3 => 163,
852             SDLK_WORLD_4 => 164,
853             SDLK_WORLD_5 => 165,
854             SDLK_WORLD_6 => 166,
855             SDLK_WORLD_7 => 167,
856             SDLK_WORLD_8 => 168,
857             SDLK_WORLD_9 => 169,
858             SDLK_WORLD_10 => 170,
859             SDLK_WORLD_11 => 171,
860             SDLK_WORLD_12 => 172,
861             SDLK_WORLD_13 => 173,
862             SDLK_WORLD_14 => 174,
863             SDLK_WORLD_15 => 175,
864             SDLK_WORLD_16 => 176,
865             SDLK_WORLD_17 => 177,
866             SDLK_WORLD_18 => 178,
867             SDLK_WORLD_19 => 179,
868             SDLK_WORLD_20 => 180,
869             SDLK_WORLD_21 => 181,
870             SDLK_WORLD_22 => 182,
871             SDLK_WORLD_23 => 183,
872             SDLK_WORLD_24 => 184,
873             SDLK_WORLD_25 => 185,
874             SDLK_WORLD_26 => 186,
875             SDLK_WORLD_27 => 187,
876             SDLK_WORLD_28 => 188,
877             SDLK_WORLD_29 => 189,
878             SDLK_WORLD_30 => 190,
879             SDLK_WORLD_31 => 191,
880             SDLK_WORLD_32 => 192,
881             SDLK_WORLD_33 => 193,
882             SDLK_WORLD_34 => 194,
883             SDLK_WORLD_35 => 195,
884             SDLK_WORLD_36 => 196,
885             SDLK_WORLD_37 => 197,
886             SDLK_WORLD_38 => 198,
887             SDLK_WORLD_39 => 199,
888             SDLK_WORLD_40 => 200,
889             SDLK_WORLD_41 => 201,
890             SDLK_WORLD_42 => 202,
891             SDLK_WORLD_43 => 203,
892             SDLK_WORLD_44 => 204,
893             SDLK_WORLD_45 => 205,
894             SDLK_WORLD_46 => 206,
895             SDLK_WORLD_47 => 207,
896             SDLK_WORLD_48 => 208,
897             SDLK_WORLD_49 => 209,
898             SDLK_WORLD_50 => 210,
899             SDLK_WORLD_51 => 211,
900             SDLK_WORLD_52 => 212,
901             SDLK_WORLD_53 => 213,
902             SDLK_WORLD_54 => 214,
903             SDLK_WORLD_55 => 215,
904             SDLK_WORLD_56 => 216,
905             SDLK_WORLD_57 => 217,
906             SDLK_WORLD_58 => 218,
907             SDLK_WORLD_59 => 219,
908             SDLK_WORLD_60 => 220,
909             SDLK_WORLD_61 => 221,
910             SDLK_WORLD_62 => 222,
911             SDLK_WORLD_63 => 223,
912             SDLK_WORLD_64 => 224,
913             SDLK_WORLD_65 => 225,
914             SDLK_WORLD_66 => 226,
915             SDLK_WORLD_67 => 227,
916             SDLK_WORLD_68 => 228,
917             SDLK_WORLD_69 => 229,
918             SDLK_WORLD_70 => 230,
919             SDLK_WORLD_71 => 231,
920             SDLK_WORLD_72 => 232,
921             SDLK_WORLD_73 => 233,
922             SDLK_WORLD_74 => 234,
923             SDLK_WORLD_75 => 235,
924             SDLK_WORLD_76 => 236,
925             SDLK_WORLD_77 => 237,
926             SDLK_WORLD_78 => 238,
927             SDLK_WORLD_79 => 239,
928             SDLK_WORLD_80 => 240,
929             SDLK_WORLD_81 => 241,
930             SDLK_WORLD_82 => 242,
931             SDLK_WORLD_83 => 243,
932             SDLK_WORLD_84 => 244,
933             SDLK_WORLD_85 => 245,
934             SDLK_WORLD_86 => 246,
935             SDLK_WORLD_87 => 247,
936             SDLK_WORLD_88 => 248,
937             SDLK_WORLD_89 => 249,
938             SDLK_WORLD_90 => 250,
939             SDLK_WORLD_91 => 251,
940             SDLK_WORLD_92 => 252,
941             SDLK_WORLD_93 => 253,
942             SDLK_WORLD_94 => 254,
943             SDLK_WORLD_95 => 255,
944             SDLK_KP0 => 256,
945             SDLK_KP1 => 257,
946             SDLK_KP2 => 258,
947             SDLK_KP3 => 259,
948             SDLK_KP4 => 260,
949             SDLK_KP5 => 261,
950             SDLK_KP6 => 262,
951             SDLK_KP7 => 263,
952             SDLK_KP8 => 264,
953             SDLK_KP9 => 265,
954             SDLK_KP_PERIOD => 266,
955             SDLK_KP_DIVIDE => 267,
956             SDLK_KP_MULTIPLY => 268,
957             SDLK_KP_MINUS => 269,
958             SDLK_KP_PLUS => 270,
959             SDLK_KP_ENTER => 271,
960             SDLK_KP_EQUALS => 272,
961             SDLK_UP => 273,
962             SDLK_DOWN => 274,
963             SDLK_RIGHT => 275,
964             SDLK_LEFT => 276,
965             SDLK_INSERT => 277,
966             SDLK_HOME => 278,
967             SDLK_END => 279,
968             SDLK_PAGEUP => 280,
969             SDLK_PAGEDOWN => 281,
970             SDLK_F1 => 282,
971             SDLK_F2 => 283,
972             SDLK_F3 => 284,
973             SDLK_F4 => 285,
974             SDLK_F5 => 286,
975             SDLK_F6 => 287,
976             SDLK_F7 => 288,
977             SDLK_F8 => 289,
978             SDLK_F9 => 290,
979             SDLK_F10 => 291,
980             SDLK_F11 => 292,
981             SDLK_F12 => 293,
982             SDLK_F13 => 294,
983             SDLK_F14 => 295,
984             SDLK_F15 => 296,
985             SDLK_NUMLOCK => 300,
986             SDLK_CAPSLOCK => 301,
987             SDLK_SCROLLOCK => 302,
988             SDLK_RSHIFT => 303,
989             SDLK_LSHIFT => 304,
990             SDLK_RCTRL => 305,
991             SDLK_LCTRL => 306,
992             SDLK_RALT => 307,
993             SDLK_LALT => 308,
994             SDLK_RMETA => 309,
995             SDLK_LMETA => 310,
996             SDLK_LSUPER => 311,
997             SDLK_RSUPER => 312,
998             SDLK_MODE => 313,
999             SDLK_COMPOSE => 314,
1000             SDLK_HELP => 315,
1001             SDLK_PRINT => 316,
1002             SDLK_SYSREQ => 317,
1003             SDLK_BREAK => 318,
1004             SDLK_MENU => 319,
1005             SDLK_POWER => 320,
1006             SDLK_EURO => 321,
1007             SDLK_UNDO => 322,
1008 55     55   344 }; # SDL::Events/keysym
  55         120  
1009              
1010             use constant {
1011 55         17875 KMOD_NONE => 0x0000,
1012             KMOD_LSHIFT => 0x0001,
1013             KMOD_RSHIFT => 0x0002,
1014             KMOD_LCTRL => 0x0040,
1015             KMOD_RCTRL => 0x0080,
1016             KMOD_LALT => 0x0100,
1017             KMOD_RALT => 0x0200,
1018             KMOD_LMETA => 0x0400,
1019             KMOD_RMETA => 0x0800,
1020             KMOD_NUM => 0x1000,
1021             KMOD_CAPS => 0x2000,
1022             KMOD_MODE => 0x4000,
1023             KMOD_RESERVED => 0x8000
1024 55     55   461 }; # SDL::Events/keymod
  55         101  
1025              
1026             use constant {
1027 55         5025 KMOD_CTRL => ( KMOD_LCTRL | KMOD_RCTRL ),
1028             KMOD_SHIFT => ( KMOD_LSHIFT | KMOD_RSHIFT ),
1029             KMOD_ALT => ( KMOD_LALT | KMOD_RALT ),
1030             KMOD_META => ( KMOD_LMETA | KMOD_RMETA ),
1031 55     55   330 }; # SDL::Events/keymod
  55         112  
1032              
1033             use constant {
1034 55         4180 SMOOTHING_OFF => 0,
1035             SMOOTHING_ON => 1,
1036 55     55   368 }; # SDL::GFX/smoothing
  55         273  
1037              
1038             use constant {
1039 55         6472 IMG_INIT_JPG => 0x00000001,
1040             IMG_INIT_PNG => 0x00000002,
1041             IMG_INIT_TIF => 0x00000004,
1042 55     55   298 }; # SDL::Image
  55         192  
1043              
1044             use constant {
1045 55         4773 MIX_INIT_FLAC => 0x00000001,
1046             MIX_INIT_MOD => 0x00000002,
1047             MIX_INIT_MP3 => 0x00000004,
1048             MIX_INIT_OGG => 0x00000008
1049 55     55   380 }; # SDL::Mixer/init
  55         102  
1050              
1051             use constant {
1052 55         6468 MIX_CHANNELS => 8,
1053             MIX_DEFAULT_FORMAT => 32784,
1054             MIX_DEFAULT_FREQUENCY => 22050,
1055             MIX_DEFAULT_CHANNELS => 2,
1056             MIX_MAX_VOLUME => 128,
1057             MIX_CHANNEL_POST => -2,
1058 55     55   281 }; # SDL::Mixer/defaults
  55         92  
1059              
1060             use constant {
1061 55         21547 MIX_NO_FADING => 0,
1062             MIX_FADING_OUT => 1,
1063             MIX_FADING_IN => 2,
1064 55     55   360 }; # SDL::Mixer/fading
  55         102  
1065              
1066             use constant {
1067 55         6789 MUS_NONE => 0,
1068             MUS_CMD => 1,
1069             MUS_WAV => 2,
1070             MUS_MOD => 3,
1071             MUS_MID => 4,
1072             MUS_OGG => 5,
1073             MUS_MP3 => 6,
1074             MUS_MP3_MAD => 7,
1075             MUS_MP3_FLAC => 8,
1076 55     55   275 }; # SDL::Mixer/type
  55         110  
1077              
1078             use constant {
1079 55         5500 INADDR_ANY => 0x00000000,
1080             INADDR_NONE => 0xFFFFFFFF,
1081             INADDR_BROADCAST => 0xFFFFFFFF,
1082             SDLNET_MAX_UDPCHANNELS => 32,
1083             SDLNET_MAX_UDPADDRESSES => 4
1084 55     55   287 }; # SDL::Net
  55         105  
1085              
1086             use constant {
1087 55         9615 SDLPANGO_DIRECTION_LTR => 0,
1088             SDLPANGO_DIRECTION_RTL => 1,
1089             SDLPANGO_DIRECTION_WEAK_LTR => 2,
1090             SDLPANGO_DIRECTION_WEAK_RTL => 3,
1091             SDLPANGO_DIRECTION_NEUTRAL => 4
1092 55     55   293 }; # SDL::Pango/direction
  55         92  
1093              
1094             use constant {
1095 55         5195 SDLPANGO_ALIGN_LEFT => 0,
1096             SDLPANGO_ALIGN_CENTER => 1,
1097             SDLPANGO_ALIGN_RIGHT => 2
1098 55     55   291 }; # SDL::Pango/align
  55         103  
1099              
1100             use constant {
1101 55         6919 RW_SEEK_SET => 0,
1102             RW_SEEK_CUR => 1,
1103             RW_SEEK_END => 2,
1104 55     55   288 }; # SDL::RWOps/defaults
  55         105  
1105              
1106             use constant {
1107 55         14825 TTF_HINTING_NORMAL => 0,
1108             TTF_HINTING_LIGHT => 1,
1109             TTF_HINTING_MONO => 2,
1110             TTF_HINTING_NONE => 3,
1111             TTF_STYLE_NORMAL => 0,
1112             TTF_STYLE_BOLD => 1,
1113             TTF_STYLE_ITALIC => 2,
1114             TTF_STYLE_UNDERLINE => 4,
1115             TTF_STYLE_STRIKETHROUGH => 8,
1116 55     55   329 }; # SDL::TTF
  55         106  
1117              
1118             use constant {
1119 55         20360 SDL_ALPHA_OPAQUE => 255,
1120             SDL_ALPHA_TRANSPARENT => 0,
1121              
1122             SDL_SWSURFACE => 0x00000000, # for SDL::Surface->new() and set_video_mode()
1123             SDL_HWSURFACE => 0x00000001, # for SDL::Surface->new() and set_video_mode()
1124             SDL_ASYNCBLIT => 0x00000004, # for SDL::Surface->new() and set_video_mode()
1125             SDL_ANYFORMAT => 0x10000000, # set_video_mode()
1126             SDL_HWPALETTE => 0x20000000, # set_video_mode()
1127             SDL_DOUBLEBUF => 0x40000000, # set_video_mode()
1128             SDL_FULLSCREEN => 0x80000000, # set_video_mode()
1129             SDL_OPENGL => 0x00000002, # set_video_mode()
1130             SDL_OPENGLBLIT => 0x0000000A, # set_video_mode()
1131             SDL_RESIZABLE => 0x00000010, # set_video_mode()
1132             SDL_NOFRAME => 0x00000020, # set_video_mode()
1133             SDL_HWACCEL => 0x00000100, # set_video_mode()
1134             SDL_SRCCOLORKEY => 0x00001000, # set_video_mode()
1135             SDL_RLEACCELOK => 0x00002000, # set_video_mode()
1136             SDL_RLEACCEL => 0x00004000, # set_video_mode()
1137             SDL_SRCALPHA => 0x00010000, # set_video_mode()
1138             SDL_PREALLOC => 0x01000000, # set_video_mode()
1139              
1140             SDL_YV12_OVERLAY => 0x32315659, # Planar mode: Y + V + U (3 planes)
1141             SDL_IYUV_OVERLAY => 0x56555949, # Planar mode: Y + U + V (3 planes)
1142             SDL_YUY2_OVERLAY => 0x32595559, # Packed mode: Y0+U0+Y1+V0 (1 plane)
1143             SDL_UYVY_OVERLAY => 0x59565955, # Packed mode: U0+Y0+V0+Y1 (1 plane)
1144             SDL_YVYU_OVERLAY => 0x55595659, # Packed mode: Y0+V0+Y1+U0 (1 plane)
1145              
1146             SDL_LOGPAL => 0x01, # for set_palette()
1147             SDL_PHYSPAL => 0x02, # for set_palette()
1148              
1149             SDL_GRAB_QUERY => -1, # SDL_GrabMode
1150             SDL_GRAB_OFF => 0, # SDL_GrabMode
1151             SDL_GRAB_ON => 1, # SDL_GrabMode
1152             SDL_GRAB_FULLSCREEN => 2, # SDL_GrabMode, used internally
1153 55     55   312 }; # SDL::Video/...
  55         99  
1154              
1155             use constant {
1156 55         21256 SDL_GL_RED_SIZE => 0,
1157             SDL_GL_GREEN_SIZE => 1,
1158             SDL_GL_BLUE_SIZE => 2,
1159             SDL_GL_ALPHA_SIZE => 3,
1160             SDL_GL_BUFFER_SIZE => 4,
1161             SDL_GL_DOUBLEBUFFER => 5,
1162             SDL_GL_DEPTH_SIZE => 6,
1163             SDL_GL_STENCIL_SIZE => 7,
1164             SDL_GL_ACCUM_RED_SIZE => 8,
1165             SDL_GL_ACCUM_GREEN_SIZE => 9,
1166             SDL_GL_ACCUM_BLUE_SIZE => 10,
1167             SDL_GL_ACCUM_ALPHA_SIZE => 11,
1168             SDL_GL_STEREO => 12,
1169             SDL_GL_MULTISAMPLEBUFFERS => 13,
1170             SDL_GL_MULTISAMPLESAMPLES => 14,
1171             SDL_GL_ACCELERATED_VISUAL => 15,
1172             SDL_GL_SWAP_CONTROL => 16,
1173 55     55   309 }; # SDL::Video/gl
  55         102  
1174              
1175             1;
1176              
1177             __END__