sdl2-bindings 0.0.9 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +129 -96
  3. data/LICENSE.txt +0 -0
  4. data/README.md +78 -55
  5. data/lib/sdl2.rb +131 -172
  6. data/lib/sdl2_audio.rb +261 -222
  7. data/lib/sdl2_blendmode.rb +72 -69
  8. data/lib/sdl2_clipboard.rb +56 -51
  9. data/lib/sdl2_cpuinfo.rb +129 -106
  10. data/lib/sdl2_error.rb +71 -64
  11. data/lib/sdl2_events.rb +564 -533
  12. data/lib/sdl2_filesystem.rb +52 -48
  13. data/lib/sdl2_framerate.rb +74 -67
  14. data/lib/sdl2_gamecontroller.rb +329 -274
  15. data/lib/sdl2_gesture.rb +61 -55
  16. data/lib/sdl2_gfxPrimitives.rb +283 -222
  17. data/lib/sdl2_haptic.rb +301 -269
  18. data/lib/sdl2_hidapi.rb +139 -118
  19. data/lib/sdl2_hints.rb +221 -198
  20. data/lib/sdl2_image.rb +232 -185
  21. data/lib/sdl2_imageFilter.rb +164 -132
  22. data/lib/sdl2_joystick.rb +294 -239
  23. data/lib/sdl2_keyboard.rb +125 -99
  24. data/lib/sdl2_keycode.rb +307 -305
  25. data/lib/sdl2_log.rb +131 -115
  26. data/lib/sdl2_main.rb +74 -67
  27. data/lib/sdl2_messagebox.rb +102 -98
  28. data/lib/sdl2_misc.rb +48 -45
  29. data/lib/sdl2_mixer.rb +392 -317
  30. data/lib/sdl2_mouse.rb +136 -117
  31. data/lib/sdl2_pixels.rb +240 -224
  32. data/lib/sdl2_platform.rb +48 -45
  33. data/lib/sdl2_power.rb +54 -51
  34. data/lib/sdl2_rect.rb +145 -102
  35. data/lib/sdl2_render.rb +408 -322
  36. data/lib/sdl2_rotozoom.rb +76 -66
  37. data/lib/sdl2_rwops.rb +242 -208
  38. data/lib/sdl2_scancode.rb +289 -287
  39. data/lib/sdl2_sensor.rb +115 -97
  40. data/lib/sdl2_shape.rb +83 -77
  41. data/lib/sdl2_sound.rb +154 -0
  42. data/lib/sdl2_stdinc.rb +556 -439
  43. data/lib/sdl2_surface.rb +229 -188
  44. data/lib/sdl2_syswm.rb +160 -157
  45. data/lib/sdl2_timer.rb +74 -65
  46. data/lib/sdl2_touch.rb +86 -75
  47. data/lib/sdl2_ttf.rb +358 -202
  48. data/lib/sdl2_version.rb +67 -62
  49. data/lib/sdl2_video.rb +540 -446
  50. data/lib/sdl2_vulkan.rb +72 -64
  51. metadata +18 -3
data/lib/sdl2_rect.rb CHANGED
@@ -1,102 +1,145 @@
1
- # Ruby-SDL2 : Yet another SDL2 wrapper for Ruby
2
- #
3
- # * https://github.com/vaiorabbit/sdl2-bindings
4
- #
5
- # [NOTICE] This is an automatically generated file.
6
-
7
- require 'ffi'
8
-
9
- module SDL2
10
- extend FFI::Library
11
- # Define/Macro
12
-
13
-
14
- # Enum
15
-
16
-
17
- # Typedef
18
-
19
-
20
- def SDL_PointInRect(p, r)
21
- return ( (p.x >= r.x) && (p.x < (r.x + r.w)) && (p.y >= r.y) && (p.y < (r.y + r.h)) ) ? 1 : 0;
22
- end
23
-
24
- def SDL_RectEmpty(r)
25
- return (!r.null? || (r.w <= 0) || (r.h <= 0)) ? 1 : 0
26
- end
27
-
28
- def SDL_RectEquals(a, b)
29
- return (!a.null? && !b.null? && (a.x == b.x) && (a.y == b.y) && (a.w == b.w) && (a.h == b.h)) ? 1 : 0
30
- end
31
-
32
-
33
- # Struct
34
-
35
- class SDL_Point < FFI::Struct
36
- layout(
37
- :x, :int,
38
- :y, :int,
39
- )
40
- end
41
-
42
- class SDL_FPoint < FFI::Struct
43
- layout(
44
- :x, :float,
45
- :y, :float,
46
- )
47
- end
48
-
49
- class SDL_Rect < FFI::Struct
50
- layout(
51
- :x, :int,
52
- :y, :int,
53
- :w, :int,
54
- :h, :int,
55
- )
56
- end
57
-
58
- class SDL_FRect < FFI::Struct
59
- layout(
60
- :x, :float,
61
- :y, :float,
62
- :w, :float,
63
- :h, :float,
64
- )
65
- end
66
-
67
-
68
- # Function
69
-
70
- def self.setup_rect_symbols()
71
- symbols = [
72
- :SDL_HasIntersection,
73
- :SDL_IntersectRect,
74
- :SDL_UnionRect,
75
- :SDL_EnclosePoints,
76
- :SDL_IntersectRectAndLine,
77
- ]
78
- args = {
79
- :SDL_HasIntersection => [:pointer, :pointer],
80
- :SDL_IntersectRect => [:pointer, :pointer, :pointer],
81
- :SDL_UnionRect => [:pointer, :pointer, :pointer],
82
- :SDL_EnclosePoints => [:pointer, :int, :pointer, :pointer],
83
- :SDL_IntersectRectAndLine => [:pointer, :pointer, :pointer, :pointer, :pointer],
84
- }
85
- retvals = {
86
- :SDL_HasIntersection => :int,
87
- :SDL_IntersectRect => :int,
88
- :SDL_UnionRect => :void,
89
- :SDL_EnclosePoints => :int,
90
- :SDL_IntersectRectAndLine => :int,
91
- }
92
- symbols.each do |sym|
93
- begin
94
- attach_function sym, args[sym], retvals[sym]
95
- rescue FFI::NotFoundError => error
96
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
97
- end
98
- end
99
- end
100
-
101
- end
102
-
1
+ # Ruby-SDL2 : Yet another SDL2 wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/sdl2-bindings
4
+ #
5
+ # [NOTICE] This is an automatically generated file.
6
+
7
+ require 'ffi'
8
+
9
+ module SDL
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+
14
+ # Enum
15
+
16
+
17
+ # Typedef
18
+
19
+
20
+ def self.PointInRect(p, r)
21
+ return ( (p.x >= r.x) && (p.x < (r.x + r.w)) && (p.y >= r.y) && (p.y < (r.y + r.h)) ) ? 1 : 0;
22
+ end
23
+
24
+ def self.RectEmpty(r)
25
+ return (!r.null? || (r.w <= 0) || (r.h <= 0)) ? 1 : 0
26
+ end
27
+
28
+ def self.RectEquals(a, b)
29
+ return (!a.null? && !b.null? && (a.x == b.x) && (a.y == b.y) && (a.w == b.w) && (a.h == b.h)) ? 1 : 0
30
+ end
31
+
32
+
33
+ # Struct
34
+
35
+ class Point < FFI::Struct
36
+ layout(
37
+ :x, :int,
38
+ :y, :int,
39
+ )
40
+ end
41
+
42
+ class FPoint < FFI::Struct
43
+ layout(
44
+ :x, :float,
45
+ :y, :float,
46
+ )
47
+ end
48
+
49
+ class Rect < FFI::Struct
50
+ layout(
51
+ :x, :int,
52
+ :y, :int,
53
+ :w, :int,
54
+ :h, :int,
55
+ )
56
+ end
57
+
58
+ class FRect < FFI::Struct
59
+ layout(
60
+ :x, :float,
61
+ :y, :float,
62
+ :w, :float,
63
+ :h, :float,
64
+ )
65
+ end
66
+
67
+
68
+ # Function
69
+
70
+ def self.setup_rect_symbols(output_error = false)
71
+ symbols = [
72
+ :SDL_HasIntersection,
73
+ :SDL_IntersectRect,
74
+ :SDL_UnionRect,
75
+ :SDL_EnclosePoints,
76
+ :SDL_IntersectRectAndLine,
77
+ :SDL_PointInFRect,
78
+ :SDL_FRectEmpty,
79
+ :SDL_FRectEqualsEpsilon,
80
+ :SDL_FRectEquals,
81
+ :SDL_HasIntersectionF,
82
+ :SDL_IntersectFRect,
83
+ :SDL_UnionFRect,
84
+ :SDL_EncloseFPoints,
85
+ :SDL_IntersectFRectAndLine,
86
+ ]
87
+ apis = {
88
+ :SDL_HasIntersection => :HasIntersection,
89
+ :SDL_IntersectRect => :IntersectRect,
90
+ :SDL_UnionRect => :UnionRect,
91
+ :SDL_EnclosePoints => :EnclosePoints,
92
+ :SDL_IntersectRectAndLine => :IntersectRectAndLine,
93
+ :SDL_PointInFRect => :PointInFRect,
94
+ :SDL_FRectEmpty => :FRectEmpty,
95
+ :SDL_FRectEqualsEpsilon => :FRectEqualsEpsilon,
96
+ :SDL_FRectEquals => :FRectEquals,
97
+ :SDL_HasIntersectionF => :HasIntersectionF,
98
+ :SDL_IntersectFRect => :IntersectFRect,
99
+ :SDL_UnionFRect => :UnionFRect,
100
+ :SDL_EncloseFPoints => :EncloseFPoints,
101
+ :SDL_IntersectFRectAndLine => :IntersectFRectAndLine,
102
+ }
103
+ args = {
104
+ :SDL_HasIntersection => [:pointer, :pointer],
105
+ :SDL_IntersectRect => [:pointer, :pointer, :pointer],
106
+ :SDL_UnionRect => [:pointer, :pointer, :pointer],
107
+ :SDL_EnclosePoints => [:pointer, :int, :pointer, :pointer],
108
+ :SDL_IntersectRectAndLine => [:pointer, :pointer, :pointer, :pointer, :pointer],
109
+ :SDL_PointInFRect => [:pointer, :pointer],
110
+ :SDL_FRectEmpty => [:pointer],
111
+ :SDL_FRectEqualsEpsilon => [:pointer, :pointer, :float],
112
+ :SDL_FRectEquals => [:pointer, :pointer],
113
+ :SDL_HasIntersectionF => [:pointer, :pointer],
114
+ :SDL_IntersectFRect => [:pointer, :pointer, :pointer],
115
+ :SDL_UnionFRect => [:pointer, :pointer, :pointer],
116
+ :SDL_EncloseFPoints => [:pointer, :int, :pointer, :pointer],
117
+ :SDL_IntersectFRectAndLine => [:pointer, :pointer, :pointer, :pointer, :pointer],
118
+ }
119
+ retvals = {
120
+ :SDL_HasIntersection => :int,
121
+ :SDL_IntersectRect => :int,
122
+ :SDL_UnionRect => :void,
123
+ :SDL_EnclosePoints => :int,
124
+ :SDL_IntersectRectAndLine => :int,
125
+ :SDL_PointInFRect => :int,
126
+ :SDL_FRectEmpty => :int,
127
+ :SDL_FRectEqualsEpsilon => :int,
128
+ :SDL_FRectEquals => :int,
129
+ :SDL_HasIntersectionF => :int,
130
+ :SDL_IntersectFRect => :int,
131
+ :SDL_UnionFRect => :void,
132
+ :SDL_EncloseFPoints => :int,
133
+ :SDL_IntersectFRectAndLine => :int,
134
+ }
135
+ symbols.each do |sym|
136
+ begin
137
+ attach_function apis[sym], sym, args[sym], retvals[sym]
138
+ rescue FFI::NotFoundError => error
139
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
140
+ end
141
+ end
142
+ end
143
+
144
+ end
145
+