frusdl 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +51 -0
- data/lib/frusdl.rb +145 -0
- data/lib/frusdl/low.rb +30 -0
- data/lib/frusdl/low/gfx.rb +95 -0
- data/lib/frusdl/low/img.rb +10 -0
- data/lib/frusdl/low/mix.rb +138 -0
- data/lib/frusdl/low/sdl.rb +881 -0
- data/lib/frusdl/low/sge.rb +100 -0
- data/lib/frusdl/low/ttf.rb +95 -0
- data/lib/frusdl/sdl.rb +425 -0
- data/lib/frusdl/sdl/pixelformat.rb +78 -0
- data/lib/frusdl/sdl/screen.rb +199 -0
- data/lib/frusdl/sdl/surface.rb +0 -0
- data/lib/frusdl/sdl/videoinfo.rb +23 -0
- data/lib/frusdl/wrap.rb +49 -0
- metadata +79 -0
@@ -0,0 +1,100 @@
|
|
1
|
+
# Copyright (c) 2008, Bjorn De Meyer
|
2
|
+
#
|
3
|
+
# This software is provided 'as-is', without any express or implied
|
4
|
+
# warranty. In no event will the authors be held liable for any damages
|
5
|
+
# arising from the use of this software.
|
6
|
+
#
|
7
|
+
# Permission is granted to anyone to use this software for any purpose,
|
8
|
+
# including commercial applications, and to alter it and redistribute it
|
9
|
+
# freely, subject to the following restrictions:
|
10
|
+
# 1. The origin of this software must not be misrepresented; you must not
|
11
|
+
# claim that you wrote the original software. If you use this software
|
12
|
+
# in a product, an acknowledgment in the product documentation would be
|
13
|
+
# appreciated but is not required.
|
14
|
+
#
|
15
|
+
# 2. Altered source versions must be plainly marked as such, and must not be
|
16
|
+
# misrepresented as being the original software.
|
17
|
+
#
|
18
|
+
# 3. This notice may not be removed or altered from any source
|
19
|
+
# distribution.
|
20
|
+
|
21
|
+
|
22
|
+
module Frusdl
|
23
|
+
module Low
|
24
|
+
# SDL graphical extensions. Useful addon lib
|
25
|
+
module SGE
|
26
|
+
extend FFI::Library
|
27
|
+
ffi_lib('SGE')
|
28
|
+
# collision data
|
29
|
+
class Sge_cdata < FFI::Struct
|
30
|
+
layout :map => :pointer,
|
31
|
+
:w => :ushort,
|
32
|
+
:h => :ushort
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
attach_function :sge_make_cmap , [:pointer], :pointer
|
37
|
+
attach_function :sge_bbcheck , [:pointer, :short, :short, :pointer, :short, :short], :int
|
38
|
+
attach_function :sge_cmcheck , [:pointer, :short, :short, :pointer, :short, :short], :int
|
39
|
+
attach_function :sge_get_cx , [], :short
|
40
|
+
attach_function :sge_get_cy , [], :short
|
41
|
+
attach_function :sge_destroy_cmap , [:pointer], :pointer
|
42
|
+
attach_function :sge_unset_cdata , [:pointer, :short, :short, :short, :short], :void
|
43
|
+
attach_function :sge_set_cdata , [:pointer, :short, :short, :short, :short], :void
|
44
|
+
attach_function :sge_HLine , [:pointer, :short, :short, :short, :ulong], :void
|
45
|
+
attach_function :sge_HLineAlpha , [:pointer, :short, :short, :short, :ulong , :uchar], :void
|
46
|
+
attach_function :sge_VLine , [:pointer, :short, :short, :short, :ulong], :void
|
47
|
+
attach_function :sge_VLineAlpha , [:pointer, :short, :short, :short, :ulong , :uchar], :void
|
48
|
+
attach_function :sge_Line , [:pointer, :short, :short, :short, :short , :ulong], :void
|
49
|
+
attach_function :sge_LineAlpha , [:pointer, :short, :short, :short, :short , :ulong, :uchar], :void
|
50
|
+
attach_function :sge_AALine , [:pointer, :short, :short, :short, :short , :ulong], :void
|
51
|
+
attach_function :sge_AALineAlpha , [:pointer, :short, :short, :short, :short , :ulong, :uchar], :void
|
52
|
+
|
53
|
+
attach_function :sge_mcLine, [:pointer, :short, :short, :short, :short , :uchar, :uchar, :uchar, :uchar, :uchar, :uchar], :void
|
54
|
+
attach_function :sge_mcLineAlpha, [:pointer, :short, :short, :short, :short , :uchar, :uchar, :uchar, :uchar, :uchar, :uchar, :uchar], :void
|
55
|
+
attach_function :sge_AAmcLine, [:pointer, :short, :short, :short, :short , :uchar, :uchar, :uchar, :uchar, :uchar, :uchar], :void
|
56
|
+
attach_function :sge_AAmcLineAlpha, [:pointer, :short, :short, :short, :short , :uchar, :uchar, :uchar, :uchar, :uchar, :uchar, :uchar], :void
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
attach_function :sge_DoLine , [:pointer, :short, :short, :short, :short , :ulong, :pointer], :void
|
61
|
+
attach_function :sge_DomcLine , [:pointer, :short, :short, :short, :short , :uchar, :uchar, :uchar, :uchar, :uchar, :uchar, :pointer], :void
|
62
|
+
attach_function :sge_DoEllipse, [:pointer, :short, :short, :short, :short , :ulong, :pointer], :void
|
63
|
+
attach_function :sge_DoCircle , [:pointer, :short, :short, :short, :ulong, :pointer], :void
|
64
|
+
# should use Callback(SDL_Surface *Surf, Sint16 X, Sint16 Y, Uint32 Color)
|
65
|
+
# in stead of :pointer
|
66
|
+
|
67
|
+
attach_function :sge_Rect , [:pointer, :short, :short, :short, :short, :ulong] , :void
|
68
|
+
attach_function :sge_RectAlpha , [:pointer, :short, :short, :short, :short, :ulong, :uchar], :void
|
69
|
+
attach_function :sge_FilledRect , [:pointer, :short, :short, :short, :short, :ulong] , :void
|
70
|
+
attach_function :sge_FilledRectAlpha , [:pointer, :short, :short, :short, :short, :ulong, :uchar], :void
|
71
|
+
attach_function :sge_Ellipse , [:pointer, :short, :short, :short, :short, :ulong] , :void
|
72
|
+
attach_function :sge_EllipseAlpha , [:pointer, :short, :short, :short, :short, :ulong, :uchar], :void
|
73
|
+
attach_function :sge_FilledEllipse , [:pointer, :short, :short, :short, :short, :ulong] , :void
|
74
|
+
attach_function :sge_FilledEllipseAlpha,[:pointer, :short, :short, :short, :ulong, :uchar], :void
|
75
|
+
attach_function :sge_Circle , [:pointer, :short, :short, :short, :ulong] , :void
|
76
|
+
attach_function :sge_CircleAlpha , [:pointer, :short, :short, :short, :ulong, :uchar], :void
|
77
|
+
attach_function :sge_FilledCircle , [:pointer, :short, :short, :short, :ulong] , :void
|
78
|
+
attach_function :sge_FilledCircleAlpha, [:pointer, :short, :short, :short, :ulong, :uchar], :void
|
79
|
+
attach_function :sge_AACircle , [:pointer, :short, :short, :short, :ulong] , :void
|
80
|
+
attach_function :sge_AACircleAlpha , [:pointer, :short, :short, :short, :ulong, :uchar], :void
|
81
|
+
attach_function :sge_AAFilledCircle , [:pointer, :short, :short, :short, :ulong] , :void
|
82
|
+
attach_function :sge_Bezier , [:pointer, :short, :short, :short, :short, :short, :short, :short, :short, :ulong] , :void
|
83
|
+
attach_function :sge_BezierAlpha , [:pointer, :short, :short, :short, :short, :short, :short, :short, :short, :int, :ulong, :uchar], :void
|
84
|
+
attach_function :sge_AABezier , [:pointer, :short, :short, :short, :short, :short, :short, :short, :short, :ulong] , :void
|
85
|
+
attach_function :sge_AABezierAlpha , [:pointer, :short, :short, :short, :short, :short, :short, :short, :short, :int, :ulong, :uchar], :void
|
86
|
+
|
87
|
+
|
88
|
+
# Transformation flags
|
89
|
+
SGE_TAA = 0x1
|
90
|
+
SGE_TSAFE = 0x2
|
91
|
+
SGE_TTMAP = 0x4
|
92
|
+
attach_function :sge_transform, [:pointer, :pointer, :float, :float, :float, :ushort, :ushort, :ushort, :ushort, :uchar], :pointer # XXX should be SDL_rect
|
93
|
+
|
94
|
+
attach_function :sge_transform_surface, [:pointer, :ulong, :float, :float, :float, :ushort, :uchar], :pointer
|
95
|
+
|
96
|
+
|
97
|
+
end
|
98
|
+
|
99
|
+
end # module Low
|
100
|
+
end # module Frusdl
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# Copyright (c) 2008, Bjorn De Meyer
|
2
|
+
#
|
3
|
+
# This software is provided 'as-is', without any express or implied
|
4
|
+
# warranty. In no event will the authors be held liable for any damages
|
5
|
+
# arising from the use of this software.
|
6
|
+
#
|
7
|
+
# Permission is granted to anyone to use this software for any purpose,
|
8
|
+
# including commercial applications, and to alter it and redistribute it
|
9
|
+
# freely, subject to the following restrictions:
|
10
|
+
# 1. The origin of this software must not be misrepresented; you must not
|
11
|
+
# claim that you wrote the original software. If you use this software
|
12
|
+
# in a product, an acknowledgment in the product documentation would be
|
13
|
+
# appreciated but is not required.
|
14
|
+
#
|
15
|
+
# 2. Altered source versions must be plainly marked as such, and must not be
|
16
|
+
# misrepresented as being the original software.
|
17
|
+
#
|
18
|
+
# 3. This notice may not be removed or altered from any source
|
19
|
+
# distribution.
|
20
|
+
|
21
|
+
module Frusdl
|
22
|
+
module Low
|
23
|
+
module TTF
|
24
|
+
extend FFI::Library
|
25
|
+
ffi_lib('SDL_ttf')
|
26
|
+
|
27
|
+
class TTF_Font < FFI::Struct
|
28
|
+
# Private
|
29
|
+
end
|
30
|
+
|
31
|
+
# This function tells the library whether UNICODE text is generally byteswapped.
|
32
|
+
attach_function :TTF_ByteSwappedUNICODE, [:int], :void
|
33
|
+
# Initialize the TTF engine - returns 0 if successful, -1 on error
|
34
|
+
attach_function :TTF_Init , [], :int
|
35
|
+
# Open a font file and create a font of the specified point size.
|
36
|
+
attach_function :TTF_OpenFont , [:string, :int], :pointer
|
37
|
+
attach_function :TTF_OpenFontIndex , [:string, :int, :int], :pointer
|
38
|
+
attach_function :TTF_OpenFontRW , [:pointer, :int], :pointer
|
39
|
+
attach_function :TTF_OpenFontIndexRW, [:pointer, :int, :int], :pointer
|
40
|
+
#
|
41
|
+
# Set and retrieve the font style
|
42
|
+
TTF_STYLE_NORMAL = 0x00
|
43
|
+
TTF_STYLE_BOLD = 0x01
|
44
|
+
TTF_STYLE_ITALIC = 0x02
|
45
|
+
TTF_STYLE_UNDERLINE = 0x04
|
46
|
+
|
47
|
+
attach_function :TTF_GetFontStyle , [:pointer], :int
|
48
|
+
attach_function :TTF_SetFontStyle , [:pointer, :int], :void
|
49
|
+
# Font dimensions
|
50
|
+
attach_function :TTF_FontHeight , [:pointer], :int
|
51
|
+
attach_function :TTF_FontAscent , [:pointer], :int
|
52
|
+
attach_function :TTF_FontDescent , [:pointer], :int
|
53
|
+
attach_function :TTF_FontLineSkip , [:pointer], :int
|
54
|
+
# Get the number of faces of the font
|
55
|
+
attach_function :TTF_FontFaces , [:pointer], :long
|
56
|
+
|
57
|
+
# Get the font face attributes, if any
|
58
|
+
attach_function :TTF_FontFaceIsFixedWidth , [:pointer], :int
|
59
|
+
attach_function :TTF_FontFaceFamilyName , [:pointer], :string
|
60
|
+
attach_function :TTF_FontFaceStyleName , [:pointer], :string
|
61
|
+
|
62
|
+
# Get the metrics (dimensions) of a glyph
|
63
|
+
attach_function :TTF_GlyphMetrics , [:pointer, :int, :pointer, :pointer, :pointer, :pointer, :pointer], :int
|
64
|
+
|
65
|
+
# Get the dimensions of a rendered string of text
|
66
|
+
attach_function :TTF_SizeText, [:pointer, :string, :pointer, :pointer] , :pointer
|
67
|
+
attach_function :TTF_SizeUTF8, [:pointer, :string, :pointer, :pointer] , :pointer
|
68
|
+
attach_function :TTF_SizeUNICODE, [:pointer, :pointer, :pointer, :pointer], :pointer
|
69
|
+
|
70
|
+
# Render text with different levels of smoothing.
|
71
|
+
# XXX: SDL_Color is needed here everywhere, but it is of same size as :ulong
|
72
|
+
attach_function :TTF_RenderText_Solid, [:pointer, :string, :ulong] , :pointer
|
73
|
+
attach_function :TTF_RenderUTF8_Solid, [:pointer, :string, :ulong] , :pointer
|
74
|
+
attach_function :TTF_RenderUNICODE_Solid, [:pointer, :pointer, :ulong] , :pointer
|
75
|
+
attach_function :TTF_RenderGlyph_Solid, [:pointer, :ushort, :ulong] , :pointer
|
76
|
+
attach_function :TTF_RenderText_Shaded, [:pointer, :string, :ulong, :ulong], :pointer
|
77
|
+
attach_function :TTF_RenderUTF8_Shaded, [:pointer, :string, :ulong, :ulong], :pointer
|
78
|
+
attach_function :TTF_RenderUNICODE_Shaded, [:pointer, :pointer, :ulong, :ulong], :pointer
|
79
|
+
attach_function :TTF_RenderGlyph_Shaded, [:pointer, :ushort, :ulong, :ulong] , :pointer
|
80
|
+
attach_function :TTF_RenderText_Blended, [:pointer, :string, :ulong] , :pointer
|
81
|
+
attach_function :TTF_RenderUTF8_Blended, [:pointer, :string, :ulong] , :pointer
|
82
|
+
attach_function :TTF_RenderUNICODE_Blended, [:pointer, :pointer, :ulong] , :pointer
|
83
|
+
attach_function :TTF_RenderGlyph_Blended, [:pointer, :ushort, :ulong] , :pointer
|
84
|
+
|
85
|
+
# Close an opened font file
|
86
|
+
attach_function :TTF_CloseFont, [:pointer], :void
|
87
|
+
# De-initialize the TTF engine
|
88
|
+
attach_function :TTF_Quit , [], :void
|
89
|
+
# Check if SDL_TTF was initialized.
|
90
|
+
attach_function :TTF_WasInit , [], :int
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
data/lib/frusdl/sdl.rb
ADDED
@@ -0,0 +1,425 @@
|
|
1
|
+
module Frusdl
|
2
|
+
module SDL
|
3
|
+
extend Frusdl::Low::SDL
|
4
|
+
include Frusdl::Low::SDL
|
5
|
+
|
6
|
+
class Error < Exception
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
INIT_TIMER = SDL_INIT_TIMER
|
11
|
+
INIT_AUDIO = SDL_INIT_AUDIO
|
12
|
+
INIT_VIDEO = SDL_INIT_VIDEO
|
13
|
+
INIT_CDROM = SDL_INIT_CDROM
|
14
|
+
INIT_JOYSTICK = SDL_INIT_JOYSTICK
|
15
|
+
INIT_NOPARACHUTE = SDL_INIT_NOPARACHUTE
|
16
|
+
INIT_EVENTTHREAD = SDL_INIT_EVENTTHREAD
|
17
|
+
INIT_EVERYTHING = SDL_INIT_EVERYTHING
|
18
|
+
|
19
|
+
# Helper function to raise an error message from SDL_GetError .
|
20
|
+
def raise_error()
|
21
|
+
message = SDL_GetError();
|
22
|
+
raise SDL::Error.new(message)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Initializes SDL. This should be called before all other Frusdl methods.
|
26
|
+
# The flags parameter specifies what part(s) of SDL to initialize.
|
27
|
+
# SDL::INIT_AUDIO : Initialize audio subsystems.
|
28
|
+
# SDL::INIT_VIDEO : Initialize SDL::Video subsystem.
|
29
|
+
# SDL::INIT_CDROM : Initialize SDL::CDROM subsystem.
|
30
|
+
# SDL::INIT_JOYSTICK : Initialize SDL::Joystick subsystem.
|
31
|
+
# SDL::INIT_EVERYTHING : Initialize all of the above.
|
32
|
+
# Raises SDL::Error on failure
|
33
|
+
def self.init(what= INIT_EVERYTHING)
|
34
|
+
res = SDL_Init(what)
|
35
|
+
raise_error if res < 0
|
36
|
+
at_exit { SDL_Quit() }
|
37
|
+
end
|
38
|
+
|
39
|
+
# This method shuts down all SDL subsystems and frees the resources
|
40
|
+
# allocated to them. This method is automatically called when ruby stops,
|
41
|
+
# so normally you don't have to call this function.
|
42
|
+
def self.quit()
|
43
|
+
SDL_Quit()
|
44
|
+
end
|
45
|
+
|
46
|
+
# This method allows you to see which SDL subsytems have
|
47
|
+
# been initialized. flags is a bitwise OR'd combination of the subsystems
|
48
|
+
# you wish to check (see SDL.init for a list of subsystem flags).
|
49
|
+
# Returns a bitwised OR'd combination of the initialized subsystems.
|
50
|
+
def self.inited_system(flags)
|
51
|
+
return SDL_WasInit(flags)
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
def self.getenv(s)
|
56
|
+
return SDL_getenv(s)
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.putenv(s)
|
60
|
+
return SDL_putenv(s)
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
# And some for video functions
|
66
|
+
SDL_SWSURFACE = 0x00000000
|
67
|
+
SDL_HWSURFACE = 0x00000001
|
68
|
+
SDL_ASYNCBLIT = 0x00000004
|
69
|
+
SDL_ANYFORMAT = 0x10000000
|
70
|
+
SDL_HWPALETTE = 0x20000000
|
71
|
+
SDL_DOUBLEBUF = 0x40000000
|
72
|
+
SDL_FULLSCREEN = 0x80000000
|
73
|
+
SDL_OPENGL = 0x00000002
|
74
|
+
SDL_OPENGLBLIT = 0x0000000A
|
75
|
+
SDL_RESIZABLE = 0x00000010
|
76
|
+
SDL_NOFRAME = 0x00000020
|
77
|
+
# And some more for mouse grabbing
|
78
|
+
SDL_GRAB_QUERY = -1
|
79
|
+
SDL_GRAB_OFF = 0
|
80
|
+
SDL_GRAB_ON = 1
|
81
|
+
SDL_GRAB_FULLSCREEN = 2
|
82
|
+
|
83
|
+
SDL_LIL_ENDIAN = :little_endian
|
84
|
+
|
85
|
+
if [-1].pack('V') == [-1].pack('N')
|
86
|
+
SDL_BYTEORDER = SDL_LIL_ENDIAN
|
87
|
+
else
|
88
|
+
SDL_BYTEORDER = SDL_BIG_ENDIAN
|
89
|
+
end
|
90
|
+
|
91
|
+
AUDIO_U8 = 0x0008 # Unsigned 8-bit samples
|
92
|
+
AUDIO_S8 = 0x8008 # Signed 8-bit samples
|
93
|
+
AUDIO_U16LSB = 0x0010 # Unsigned 16-bit samples
|
94
|
+
AUDIO_S16LSB = 0x8010 # Signed 16-bit samples
|
95
|
+
AUDIO_U16MSB = 0x1010 # As above, but big-endian byte order
|
96
|
+
AUDIO_S16MSB = 0x9010 # As above, but big-endian byte order
|
97
|
+
AUDIO_U16 = AUDIO_U16LSB
|
98
|
+
AUDIO_S16 = AUDIO_S16LSB
|
99
|
+
|
100
|
+
# Native audio byte ordering
|
101
|
+
if SDL_BYTEORDER == SDL_LIL_ENDIAN
|
102
|
+
AUDIO_U16SYS = AUDIO_U16LSB
|
103
|
+
AUDIO_S16SYS = AUDIO_S16LSB
|
104
|
+
else
|
105
|
+
AUDIO_U16SYS = AUDIO_U16MSB
|
106
|
+
AUDIO_S16SYS = AUDIO_S16MSB
|
107
|
+
end
|
108
|
+
|
109
|
+
SDL_AUDIO_STOPPED = 0
|
110
|
+
SDL_AUDIO_PLAYING = 1
|
111
|
+
SDL_AUDIO_PAUSED = 2
|
112
|
+
SDL_MIX_MAXVOLUME = 128
|
113
|
+
|
114
|
+
SDL_DEFAULT_REPEAT_DELAY = 500
|
115
|
+
SDL_DEFAULT_REPEAT_INTERVAL = 30
|
116
|
+
|
117
|
+
# SDL_keysym (lots of boring constants ahead :p )
|
118
|
+
SDLK_UNKNOWN = 0
|
119
|
+
SDLK_FIRST = 0
|
120
|
+
SDLK_BACKSPACE = 8
|
121
|
+
SDLK_TAB = 9
|
122
|
+
SDLK_CLEAR = 12
|
123
|
+
SDLK_RETURN = 13
|
124
|
+
SDLK_PAUSE = 19
|
125
|
+
SDLK_ESCAPE = 27
|
126
|
+
SDLK_SPACE = 32
|
127
|
+
SDLK_EXCLAIM = 33
|
128
|
+
SDLK_QUOTEDBL = 34
|
129
|
+
SDLK_HASH = 35
|
130
|
+
SDLK_DOLLAR = 36
|
131
|
+
SDLK_AMPERSAND = 38
|
132
|
+
SDLK_QUOTE = 39
|
133
|
+
SDLK_LEFTPAREN = 40
|
134
|
+
SDLK_RIGHTPAREN = 41
|
135
|
+
SDLK_ASTERISK = 42
|
136
|
+
SDLK_PLUS = 43
|
137
|
+
SDLK_COMMA = 44
|
138
|
+
SDLK_MINUS = 45
|
139
|
+
SDLK_PERIOD = 46
|
140
|
+
SDLK_SLASH = 47
|
141
|
+
SDLK_0 = 48
|
142
|
+
SDLK_1 = 49
|
143
|
+
SDLK_2 = 50
|
144
|
+
SDLK_3 = 51
|
145
|
+
SDLK_4 = 52
|
146
|
+
SDLK_5 = 53
|
147
|
+
SDLK_6 = 54
|
148
|
+
SDLK_7 = 55
|
149
|
+
SDLK_8 = 56
|
150
|
+
SDLK_9 = 57
|
151
|
+
SDLK_COLON = 58
|
152
|
+
SDLK_SEMICOLON = 59
|
153
|
+
SDLK_LESS = 60
|
154
|
+
SDLK_EQUALS = 61
|
155
|
+
SDLK_GREATER = 62
|
156
|
+
SDLK_QUESTION = 63
|
157
|
+
SDLK_AT = 64
|
158
|
+
SDLK_LEFTBRACKET = 91
|
159
|
+
SDLK_BACKSLASH = 92
|
160
|
+
SDLK_RIGHTBRACKET = 93
|
161
|
+
SDLK_CARET = 94
|
162
|
+
SDLK_UNDERSCORE = 95
|
163
|
+
SDLK_BACKQUOTE = 96
|
164
|
+
SDLK_a = 97
|
165
|
+
SDLK_b = 98
|
166
|
+
SDLK_c = 99
|
167
|
+
SDLK_d = 100
|
168
|
+
SDLK_e = 101
|
169
|
+
SDLK_f = 102
|
170
|
+
SDLK_g = 103
|
171
|
+
SDLK_h = 104
|
172
|
+
SDLK_i = 105
|
173
|
+
SDLK_j = 106
|
174
|
+
SDLK_k = 107
|
175
|
+
SDLK_l = 108
|
176
|
+
SDLK_m = 109
|
177
|
+
SDLK_n = 110
|
178
|
+
SDLK_o = 111
|
179
|
+
SDLK_p = 112
|
180
|
+
SDLK_q = 113
|
181
|
+
SDLK_r = 114
|
182
|
+
SDLK_s = 115
|
183
|
+
SDLK_t = 116
|
184
|
+
SDLK_u = 117
|
185
|
+
SDLK_v = 118
|
186
|
+
SDLK_w = 119
|
187
|
+
SDLK_x = 120
|
188
|
+
SDLK_y = 121
|
189
|
+
SDLK_z = 122
|
190
|
+
SDLK_DELETE = 127
|
191
|
+
SDLK_WORLD_0 = 160
|
192
|
+
SDLK_WORLD_1 = 161
|
193
|
+
SDLK_WORLD_2 = 162
|
194
|
+
SDLK_WORLD_3 = 163
|
195
|
+
SDLK_WORLD_4 = 164
|
196
|
+
SDLK_WORLD_5 = 165
|
197
|
+
SDLK_WORLD_6 = 166
|
198
|
+
SDLK_WORLD_7 = 167
|
199
|
+
SDLK_WORLD_8 = 168
|
200
|
+
SDLK_WORLD_9 = 169
|
201
|
+
SDLK_WORLD_10 = 170
|
202
|
+
SDLK_WORLD_11 = 171
|
203
|
+
SDLK_WORLD_12 = 172
|
204
|
+
SDLK_WORLD_13 = 173
|
205
|
+
SDLK_WORLD_14 = 174
|
206
|
+
SDLK_WORLD_15 = 175
|
207
|
+
SDLK_WORLD_16 = 176
|
208
|
+
SDLK_WORLD_17 = 177
|
209
|
+
SDLK_WORLD_18 = 178
|
210
|
+
SDLK_WORLD_19 = 179
|
211
|
+
SDLK_WORLD_20 = 180
|
212
|
+
SDLK_WORLD_21 = 181
|
213
|
+
SDLK_WORLD_22 = 182
|
214
|
+
SDLK_WORLD_23 = 183
|
215
|
+
SDLK_WORLD_24 = 184
|
216
|
+
SDLK_WORLD_25 = 185
|
217
|
+
SDLK_WORLD_26 = 186
|
218
|
+
SDLK_WORLD_27 = 187
|
219
|
+
SDLK_WORLD_28 = 188
|
220
|
+
SDLK_WORLD_29 = 189
|
221
|
+
SDLK_WORLD_30 = 190
|
222
|
+
SDLK_WORLD_31 = 191
|
223
|
+
SDLK_WORLD_32 = 192
|
224
|
+
SDLK_WORLD_33 = 193
|
225
|
+
SDLK_WORLD_34 = 194
|
226
|
+
SDLK_WORLD_35 = 195
|
227
|
+
SDLK_WORLD_36 = 196
|
228
|
+
SDLK_WORLD_37 = 197
|
229
|
+
SDLK_WORLD_38 = 198
|
230
|
+
SDLK_WORLD_39 = 199
|
231
|
+
SDLK_WORLD_40 = 200
|
232
|
+
SDLK_WORLD_41 = 201
|
233
|
+
SDLK_WORLD_42 = 202
|
234
|
+
SDLK_WORLD_43 = 203
|
235
|
+
SDLK_WORLD_44 = 204
|
236
|
+
SDLK_WORLD_45 = 205
|
237
|
+
SDLK_WORLD_46 = 206
|
238
|
+
SDLK_WORLD_47 = 207
|
239
|
+
SDLK_WORLD_48 = 208
|
240
|
+
SDLK_WORLD_49 = 209
|
241
|
+
SDLK_WORLD_50 = 210
|
242
|
+
SDLK_WORLD_51 = 211
|
243
|
+
SDLK_WORLD_52 = 212
|
244
|
+
SDLK_WORLD_53 = 213
|
245
|
+
SDLK_WORLD_54 = 214
|
246
|
+
SDLK_WORLD_55 = 215
|
247
|
+
SDLK_WORLD_56 = 216
|
248
|
+
SDLK_WORLD_57 = 217
|
249
|
+
SDLK_WORLD_58 = 218
|
250
|
+
SDLK_WORLD_59 = 219
|
251
|
+
SDLK_WORLD_60 = 220
|
252
|
+
SDLK_WORLD_61 = 221
|
253
|
+
SDLK_WORLD_62 = 222
|
254
|
+
SDLK_WORLD_63 = 223
|
255
|
+
SDLK_WORLD_64 = 224
|
256
|
+
SDLK_WORLD_65 = 225
|
257
|
+
SDLK_WORLD_66 = 226
|
258
|
+
SDLK_WORLD_67 = 227
|
259
|
+
SDLK_WORLD_68 = 228
|
260
|
+
SDLK_WORLD_69 = 229
|
261
|
+
SDLK_WORLD_70 = 230
|
262
|
+
SDLK_WORLD_71 = 231
|
263
|
+
SDLK_WORLD_72 = 232
|
264
|
+
SDLK_WORLD_73 = 233
|
265
|
+
SDLK_WORLD_74 = 234
|
266
|
+
SDLK_WORLD_75 = 235
|
267
|
+
SDLK_WORLD_76 = 236
|
268
|
+
SDLK_WORLD_77 = 237
|
269
|
+
SDLK_WORLD_78 = 238
|
270
|
+
SDLK_WORLD_79 = 239
|
271
|
+
SDLK_WORLD_80 = 240
|
272
|
+
SDLK_WORLD_81 = 241
|
273
|
+
SDLK_WORLD_82 = 242
|
274
|
+
SDLK_WORLD_83 = 243
|
275
|
+
SDLK_WORLD_84 = 244
|
276
|
+
SDLK_WORLD_85 = 245
|
277
|
+
SDLK_WORLD_86 = 246
|
278
|
+
SDLK_WORLD_87 = 247
|
279
|
+
SDLK_WORLD_88 = 248
|
280
|
+
SDLK_WORLD_89 = 249
|
281
|
+
SDLK_WORLD_90 = 250
|
282
|
+
SDLK_WORLD_91 = 251
|
283
|
+
SDLK_WORLD_92 = 252
|
284
|
+
SDLK_WORLD_93 = 253
|
285
|
+
SDLK_WORLD_94 = 254
|
286
|
+
SDLK_WORLD_95 = 255
|
287
|
+
SDLK_KP0 = 256
|
288
|
+
SDLK_KP1 = 257
|
289
|
+
SDLK_KP2 = 258
|
290
|
+
SDLK_KP3 = 259
|
291
|
+
SDLK_KP4 = 260
|
292
|
+
SDLK_KP5 = 261
|
293
|
+
SDLK_KP6 = 262
|
294
|
+
SDLK_KP7 = 263
|
295
|
+
SDLK_KP8 = 264
|
296
|
+
SDLK_KP9 = 265
|
297
|
+
SDLK_KP_PERIOD = 266
|
298
|
+
SDLK_KP_DIVIDE = 267
|
299
|
+
SDLK_KP_MULTIPLY = 268
|
300
|
+
SDLK_KP_MINUS = 269
|
301
|
+
SDLK_KP_PLUS = 270
|
302
|
+
SDLK_KP_ENTER = 271
|
303
|
+
SDLK_KP_EQUALS = 272
|
304
|
+
SDLK_UP = 273
|
305
|
+
SDLK_DOWN = 274
|
306
|
+
SDLK_RIGHT = 275
|
307
|
+
SDLK_LEFT = 276
|
308
|
+
SDLK_INSERT = 277
|
309
|
+
SDLK_HOME = 278
|
310
|
+
SDLK_END = 279
|
311
|
+
SDLK_PAGEUP = 280
|
312
|
+
SDLK_PAGEDOWN = 281
|
313
|
+
SDLK_F1 = 282
|
314
|
+
SDLK_F2 = 283
|
315
|
+
SDLK_F3 = 284
|
316
|
+
SDLK_F4 = 285
|
317
|
+
SDLK_F5 = 286
|
318
|
+
SDLK_F6 = 287
|
319
|
+
SDLK_F7 = 288
|
320
|
+
SDLK_F8 = 289
|
321
|
+
SDLK_F9 = 290
|
322
|
+
SDLK_F10 = 291
|
323
|
+
SDLK_F11 = 292
|
324
|
+
SDLK_F12 = 293
|
325
|
+
SDLK_F13 = 294
|
326
|
+
SDLK_F14 = 295
|
327
|
+
SDLK_F15 = 296
|
328
|
+
SDLK_NUMLOCK = 300
|
329
|
+
SDLK_CAPSLOCK = 301
|
330
|
+
SDLK_SCROLLOCK = 302
|
331
|
+
SDLK_RSHIFT = 303
|
332
|
+
SDLK_LSHIFT = 304
|
333
|
+
SDLK_RCTRL = 305
|
334
|
+
SDLK_LCTRL = 306
|
335
|
+
SDLK_RALT = 307
|
336
|
+
SDLK_LALT = 308
|
337
|
+
SDLK_RMETA = 309
|
338
|
+
SDLK_LMETA = 310
|
339
|
+
SDLK_LSUPER = 311
|
340
|
+
SDLK_RSUPER = 312
|
341
|
+
SDLK_MODE = 313
|
342
|
+
SDLK_COMPOSE = 314
|
343
|
+
SDLK_HELP = 315
|
344
|
+
SDLK_PRINT = 316
|
345
|
+
SDLK_SYSREQ = 317
|
346
|
+
SDLK_BREAK = 318
|
347
|
+
SDLK_MENU = 319
|
348
|
+
SDLK_POWER = 320
|
349
|
+
SDLK_EURO = 321
|
350
|
+
SDLK_UNDO = 322
|
351
|
+
SDLK_LAST = 323
|
352
|
+
|
353
|
+
KMOD_NONE = 0x0000
|
354
|
+
KMOD_LSHIFT = 0x0001
|
355
|
+
KMOD_RSHIFT = 0x0002
|
356
|
+
KMOD_LCTRL = 0x0040
|
357
|
+
KMOD_RCTRL = 0x0080
|
358
|
+
KMOD_LALT = 0x0100
|
359
|
+
KMOD_RALT = 0x0200
|
360
|
+
KMOD_LMETA = 0x0400
|
361
|
+
KMOD_RMETA = 0x0800
|
362
|
+
KMOD_NUM = 0x1000
|
363
|
+
KMOD_CAPS = 0x2000
|
364
|
+
KMOD_MODE = 0x4000
|
365
|
+
KMOD_RESERVED = 0x8000
|
366
|
+
KMOD_CTRL = (KMOD_LCTRL|KMOD_RCTRL)
|
367
|
+
KMOD_SHIFT = (KMOD_LSHIFT|KMOD_RSHIFT)
|
368
|
+
KMOD_ALT = (KMOD_LALT|KMOD_RALT)
|
369
|
+
KMOD_META = (KMOD_LMETA|KMOD_RMETA)
|
370
|
+
# Phew, all done! ^_^
|
371
|
+
|
372
|
+
RW_SEEK_SET = 0
|
373
|
+
RW_SEEK_CUR = 1
|
374
|
+
RW_SEEK_END = 2
|
375
|
+
|
376
|
+
# SDL_event
|
377
|
+
SDL_RELEASED = 0
|
378
|
+
SDL_PRESSED = 1
|
379
|
+
SDL_NOEVENT = 0
|
380
|
+
SDL_ACTIVEEVENT = 1
|
381
|
+
SDL_KEYDOWN = 2
|
382
|
+
SDL_KEYUP = 3
|
383
|
+
SDL_MOUSEMOTION = 4
|
384
|
+
SDL_MOUSEBUTTONDOWN = 5
|
385
|
+
SDL_MOUSEBUTTONUP = 6
|
386
|
+
SDL_JOYAXISMOTION = 7
|
387
|
+
SDL_JOYBALLMOTION = 8
|
388
|
+
SDL_JOYHATMOTION = 9
|
389
|
+
SDL_JOYBUTTONDOWN = 10
|
390
|
+
SDL_JOYBUTTONUP = 11
|
391
|
+
SDL_QUIT = 12
|
392
|
+
SDL_SYSWMEVENT = 13
|
393
|
+
SDL_EVENT_RESERVEDA = 14
|
394
|
+
SDL_EVENT_RESERVEDB = 15
|
395
|
+
SDL_VIDEORESIZE = 16
|
396
|
+
SDL_VIDEOEXPOSE = 17
|
397
|
+
SDL_EVENT_RESERVED2 = 18
|
398
|
+
SDL_EVENT_RESERVED3 = 19
|
399
|
+
SDL_EVENT_RESERVED4 = 20
|
400
|
+
SDL_EVENT_RESERVED5 = 21
|
401
|
+
SDL_EVENT_RESERVED6 = 22
|
402
|
+
SDL_EVENT_RESERVED7 = 23
|
403
|
+
SDL_USEREVENT = 24
|
404
|
+
SDL_NUMEVENTS = 32
|
405
|
+
|
406
|
+
SDL_HAT_CENTERED = 0x00
|
407
|
+
SDL_HAT_UP = 0x01
|
408
|
+
SDL_HAT_RIGHT = 0x02
|
409
|
+
SDL_HAT_DOWN = 0x04
|
410
|
+
SDL_HAT_LEFT = 0x08
|
411
|
+
SDL_HAT_RIGHTUP = (SDL_HAT_RIGHT|SDL_HAT_UP)
|
412
|
+
SDL_HAT_RIGHTDOWN = (SDL_HAT_RIGHT|SDL_HAT_DOWN)
|
413
|
+
SDL_HAT_LEFTUP = (SDL_HAT_LEFT|SDL_HAT_UP)
|
414
|
+
SDL_HAT_LEFTDOWN = (SDL_HAT_LEFT|SDL_HAT_DOWN)
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
autoload :Surface , 'frusdl/sdl/surface'
|
420
|
+
autoload :Screen , 'frusdl/sdl/screen'
|
421
|
+
autoload :PixelFormat , 'frusdl/sdl/pixelformat'
|
422
|
+
autoload :VideoInfo , 'frusdl/sdl/videoinfo'
|
423
|
+
|
424
|
+
end # module SDL
|
425
|
+
end # module Frusdl
|