ruby-sdl-ffi 0.1 → 0.2
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/ChangeLog.txt +70 -0
- data/NEWS.rdoc +31 -0
- data/README.rdoc +9 -15
- data/lib/ruby-sdl-ffi/gfx/primitives.rb +10 -12
- data/lib/ruby-sdl-ffi/gfx/rotozoom.rb +15 -16
- data/lib/ruby-sdl-ffi/sdl/audio.rb +8 -2
- metadata +5 -4
data/ChangeLog.txt
CHANGED
@@ -1,3 +1,73 @@
|
|
1
|
+
------------------------------------------------------------
|
2
|
+
Author: John Croisant <jacius@gmail.com>
|
3
|
+
Date: Fri Oct 30 18:29:33 2009 -0500
|
4
|
+
|
5
|
+
Ruby-SDL-FFI 0.2 released.
|
6
|
+
|
7
|
+
M README.rdoc
|
8
|
+
M ruby-sdl-ffi.gemspec
|
9
|
+
|
10
|
+
------------------------------------------------------------
|
11
|
+
Author: John Croisant <jacius@gmail.com>
|
12
|
+
Date: Fri Oct 30 18:28:17 2009 -0500
|
13
|
+
|
14
|
+
Updated ruby-sdl-ffi.gemspec.
|
15
|
+
|
16
|
+
Include all rdoc files, lowered SDL_gfx required version.
|
17
|
+
Fixed rubyforge_project.
|
18
|
+
|
19
|
+
M ruby-sdl-ffi.gemspec
|
20
|
+
|
21
|
+
------------------------------------------------------------
|
22
|
+
Author: John Croisant <jacius@gmail.com>
|
23
|
+
Date: Fri Oct 30 18:25:06 2009 -0500
|
24
|
+
|
25
|
+
Added NEWS.rdoc (release notes).
|
26
|
+
|
27
|
+
A NEWS.rdoc
|
28
|
+
|
29
|
+
------------------------------------------------------------
|
30
|
+
Author: John Croisant <jacius@gmail.com>
|
31
|
+
Date: Thu Oct 29 16:39:26 2009 -0500
|
32
|
+
|
33
|
+
Updated README.rdoc.
|
34
|
+
|
35
|
+
M README.rdoc
|
36
|
+
|
37
|
+
------------------------------------------------------------
|
38
|
+
Author: John Croisant <jacius@gmail.com>
|
39
|
+
Date: Thu Oct 29 16:26:17 2009 -0500
|
40
|
+
|
41
|
+
rotozoomSurfaceXY and rotozoomSurfaceSizeXY don't need to be optional.
|
42
|
+
|
43
|
+
They both exist in SDL_gfx 2.0.13, the minimum supported version.
|
44
|
+
|
45
|
+
M lib/ruby-sdl-ffi/gfx/rotozoom.rb
|
46
|
+
|
47
|
+
------------------------------------------------------------
|
48
|
+
Author: John Croisant <jacius@gmail.com>
|
49
|
+
Date: Thu Oct 29 16:10:54 2009 -0500
|
50
|
+
|
51
|
+
Reordered gfx/primitives.rb a bit.
|
52
|
+
|
53
|
+
M lib/ruby-sdl-ffi/gfx/primitives.rb
|
54
|
+
|
55
|
+
------------------------------------------------------------
|
56
|
+
Author: John Croisant <jacius@gmail.com>
|
57
|
+
Date: Thu Oct 29 16:04:35 2009 -0500
|
58
|
+
|
59
|
+
SDL_gfx's arcRGBA should be optfunc like arcColor.
|
60
|
+
|
61
|
+
M lib/ruby-sdl-ffi/gfx/primitives.rb
|
62
|
+
|
63
|
+
------------------------------------------------------------
|
64
|
+
Author: John Croisant <jacius@gmail.com>
|
65
|
+
Date: Thu Oct 29 16:00:23 2009 -0500
|
66
|
+
|
67
|
+
AUDIO_U16SYS/AUDIO_S16SYS vary depending on byte order.
|
68
|
+
|
69
|
+
M lib/ruby-sdl-ffi/sdl/audio.rb
|
70
|
+
|
1
71
|
------------------------------------------------------------
|
2
72
|
Author: John Croisant <jacius@gmail.com>
|
3
73
|
Date: Sat Oct 24 15:57:13 2009 -0500
|
data/NEWS.rdoc
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
= NEWS
|
2
|
+
|
3
|
+
== Ruby-SDL-FFI 0.2
|
4
|
+
|
5
|
+
* The values of SDL::AUDIO_U16SYS and SDL::AUDIO_S16SYS are now
|
6
|
+
correct on both big-endian and little-endian systems.
|
7
|
+
|
8
|
+
* SDL::Gfx::arcRGBA is now considered optional (as it should have been
|
9
|
+
in version 0.1). Loading will continue even if it is not available,
|
10
|
+
such as when using older versions of SDL_gfx.
|
11
|
+
|
12
|
+
* The minimum supported version of SDL_gfx is now 2.0.13. It was
|
13
|
+
2.0.17 before.
|
14
|
+
|
15
|
+
* SDL::Gfx::rotozoomSurfaceXY and SDL::Gfx::rotozoomSurfaceSizeXY are
|
16
|
+
no longer considered optional, because they are available in all
|
17
|
+
supported versions of SDL_gfx (2.0.13 and higher).
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
== Ruby-SDL-FFI 0.1
|
23
|
+
|
24
|
+
* Initial release of Ruby-SDL-FFI. Bindings are provided for these
|
25
|
+
libraries (older versions may work, but haven't been tested):
|
26
|
+
|
27
|
+
* SDL >= 1.2.13
|
28
|
+
* SDL_gfx >= 2.0.17
|
29
|
+
* SDL_image >= 1.2.7
|
30
|
+
* SDL_mixer >= 1.2.8
|
31
|
+
* SDL_ttf >= 2.0.9
|
data/README.rdoc
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
|
2
2
|
= Ruby-SDL-FFI
|
3
3
|
|
4
|
-
Version:: 0.
|
5
|
-
Date:: 2009-10-
|
4
|
+
Version:: 0.2
|
5
|
+
Date:: 2009-10-30
|
6
6
|
|
7
|
-
Homepage:: http://github.com/jacius/
|
7
|
+
Homepage:: http://github.com/jacius/ruby-sdl-ffi/
|
8
8
|
Author:: John Croisant <jacius@gmail.com>
|
9
9
|
Copyright:: 2009 John Croisant
|
10
10
|
|
@@ -12,10 +12,10 @@ Copyright:: 2009 John Croisant
|
|
12
12
|
== Description
|
13
13
|
|
14
14
|
Ruby-SDL-FFI is a low-level binding to SDL [1] and related
|
15
|
-
libraries using Ruby-FFI [2]
|
16
|
-
to SDL from Ruby [3]
|
17
|
-
wrapper. It aims to be
|
18
|
-
independent.
|
15
|
+
libraries using Ruby-FFI [2] or compatible FFI APIs, such as
|
16
|
+
JRuby's. It provides very basic access to SDL from Ruby [3]
|
17
|
+
without the need for a compiled C wrapper. It aims to be
|
18
|
+
platform and Ruby implementation independent.
|
19
19
|
|
20
20
|
Ruby-SDL-FFI does not attempt to provide any high-level
|
21
21
|
functionality, only to mirror the standard SDL interface.
|
@@ -23,7 +23,7 @@ For higher-level functionality, you should use other
|
|
23
23
|
libraries (Rubygame [4], Gosu [5], etc.).
|
24
24
|
|
25
25
|
1. SDL: http://www.libsdl.org/
|
26
|
-
2. Ruby-FFI: http://
|
26
|
+
2. Ruby-FFI: http://github.com/ffi/ffi
|
27
27
|
3. Ruby: http://www.ruby-lang.org/en/
|
28
28
|
4. Rubygame: http://rubygame.org/
|
29
29
|
5. Gosu: http://www.libgosu.org/
|
@@ -46,23 +46,17 @@ more mature and stable (i.e. version 1.0+).
|
|
46
46
|
== Requirements
|
47
47
|
|
48
48
|
* SDL >= 1.2.13
|
49
|
-
* Ruby-FFI >= 0.4.0 (or compatible FFI implementation)
|
50
49
|
* Nice-FFI >= 0.2.0
|
51
50
|
|
52
51
|
Optional:
|
53
52
|
|
54
53
|
* SDL_image >= 1.2.7
|
55
|
-
* SDL_gfx >= 2.0.
|
54
|
+
* SDL_gfx >= 2.0.13
|
56
55
|
* SDL_mixer >= 1.2.8
|
57
56
|
* SDL_ttf >= 2.0.9
|
58
57
|
|
59
58
|
Ruby-SDL-FFI may work with older versions, but hasn't been tried on them.
|
60
59
|
|
61
|
-
So far, Ruby-SDL-FFI has only been tested on 32-bit Linux with
|
62
|
-
the standard Ruby implementation (aka MRI) version 1.8.6.
|
63
|
-
However, with a few tweaks it should work on any system with
|
64
|
-
compatible FFI functionality.
|
65
|
-
|
66
60
|
|
67
61
|
== License
|
68
62
|
|
@@ -94,18 +94,6 @@ module SDL
|
|
94
94
|
[ :pointer, :int16, :int16, :int16,
|
95
95
|
:uint8, :uint8, :uint8, :uint8 ], :int
|
96
96
|
|
97
|
-
|
98
|
-
|
99
|
-
optfunc :arcColor,
|
100
|
-
[ :pointer, :int16, :int16, :int16,
|
101
|
-
:int16, :int16, :uint32 ], :int
|
102
|
-
|
103
|
-
func :arcRGBA,
|
104
|
-
[ :pointer, :int16, :int16, :int16, :int16, :int16,
|
105
|
-
:uint8, :uint8, :uint8, :uint8 ], :int
|
106
|
-
|
107
|
-
|
108
|
-
|
109
97
|
func :aacircleColor,
|
110
98
|
[ :pointer, :int16, :int16, :int16, :uint32 ], :int
|
111
99
|
|
@@ -122,6 +110,16 @@ module SDL
|
|
122
110
|
|
123
111
|
|
124
112
|
|
113
|
+
optfunc :arcColor,
|
114
|
+
[ :pointer, :int16, :int16, :int16,
|
115
|
+
:int16, :int16, :uint32 ], :int
|
116
|
+
|
117
|
+
optfunc :arcRGBA,
|
118
|
+
[ :pointer, :int16, :int16, :int16, :int16, :int16,
|
119
|
+
:uint8, :uint8, :uint8, :uint8 ], :int
|
120
|
+
|
121
|
+
|
122
|
+
|
125
123
|
func :ellipseColor,
|
126
124
|
[ :pointer, :int16, :int16, :int16, :int16, :uint32 ], :int
|
127
125
|
|
@@ -64,22 +64,21 @@ module SDL
|
|
64
64
|
end
|
65
65
|
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
}
|
67
|
+
func :rotozoomSurfaceXY,
|
68
|
+
[ :pointer, :double, :double, :double, :int ],
|
69
|
+
SDL::Surface.typed_pointer
|
70
|
+
|
71
|
+
func :__rotozoomSurfaceSizeXY, :rotozoomSurfaceSizeXY,
|
72
|
+
[ :int, :int, :double, :double, :double,
|
73
|
+
:pointer, :pointer ], :void
|
74
|
+
|
75
|
+
def self.rotozoomSurfaceSizeXY( width, height, angle, zoomx, zoomy )
|
76
|
+
w = FFI::MemoryPointer.new( :int )
|
77
|
+
h = FFI::MemoryPointer.new( :int )
|
78
|
+
__rotozoomSurfaceSizeXY( width, height, angle, zoomx, zoomy, w, h )
|
79
|
+
return [w.get_int(0), h.get_int(0)]
|
80
|
+
end
|
81
|
+
|
83
82
|
|
84
83
|
|
85
84
|
func :zoomSurface, [ :pointer, :double, :double, :int ],
|
@@ -64,8 +64,14 @@ module SDL
|
|
64
64
|
AUDIO_S16MSB = 0x9010
|
65
65
|
AUDIO_U16 = 0x0010
|
66
66
|
AUDIO_S16 = 0x8010
|
67
|
-
|
68
|
-
|
67
|
+
|
68
|
+
if FFI::Platform::BYTE_ORDER == FFI::Platform::LITTLE_ENDIAN
|
69
|
+
AUDIO_U16SYS = AUDIO_U16LSB
|
70
|
+
AUDIO_S16SYS = AUDIO_S16LSB
|
71
|
+
else
|
72
|
+
AUDIO_U16SYS = AUDIO_U16MSB
|
73
|
+
AUDIO_S16SYS = AUDIO_U16MSB
|
74
|
+
end
|
69
75
|
|
70
76
|
|
71
77
|
# callback( :filters_cb, [ :pointer, :uint16 ], :void)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-sdl-ffi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "0.
|
4
|
+
version: "0.2"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Croisant
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-30 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -36,6 +36,7 @@ extensions: []
|
|
36
36
|
extra_rdoc_files: []
|
37
37
|
|
38
38
|
files:
|
39
|
+
- NEWS.rdoc
|
39
40
|
- README.rdoc
|
40
41
|
- lib/ruby-sdl-ffi.rb
|
41
42
|
- lib/ruby-sdl-ffi/sdl/mouse.rb
|
@@ -85,10 +86,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
86
|
requirements:
|
86
87
|
- SDL >= 1.2.13
|
87
88
|
- SDL_image >= 1.2.7 (optional)
|
88
|
-
- SDL_gfx >= 2.0.
|
89
|
+
- SDL_gfx >= 2.0.13 (optional)
|
89
90
|
- SDL_mixer >= 1.2.8 (optional)
|
90
91
|
- SDL_ttf >= 2.0.9 (optional)
|
91
|
-
rubyforge_project:
|
92
|
+
rubyforge_project: ruby-sdl-ffi
|
92
93
|
rubygems_version: 1.3.5
|
93
94
|
signing_key:
|
94
95
|
specification_version: 3
|