frusdl 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|