sdl2-bindings 0.0.9 → 0.1.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.
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
+