File Coverage

blib/lib/SDL/Constants.pm
Criterion Covered Total %
statement 107 107 100.0
branch 2 4 50.0
condition n/a
subroutine 37 37 100.0
pod 0 2 0.0
total 146 150 97.3


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