sdl2_ffi 0.0.6 → 0.0.7

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 (204) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/Gemfile +0 -6
  4. data/Guardfile +0 -45
  5. data/README.md +11 -21
  6. data/lib/bad_sdl.rb +4 -0
  7. data/lib/{sdl2 → bad_sdl}/application.rb +47 -35
  8. data/lib/{sdl2 → bad_sdl}/engine.rb +20 -3
  9. data/lib/{sdl2 → bad_sdl}/engine/block_engine.rb +2 -2
  10. data/lib/bad_sdl/engine/engines.rb +51 -0
  11. data/lib/enumerable_constants.rb +4 -2
  12. data/lib/sdl2.rb +26 -247
  13. data/lib/sdl2/blendmode.rb +18 -0
  14. data/lib/sdl2/color.rb +1 -3
  15. data/lib/sdl2/debug.rb +58 -0
  16. data/lib/sdl2/display.rb +30 -23
  17. data/lib/sdl2/error.rb +6 -4
  18. data/lib/sdl2/event.rb +229 -0
  19. data/lib/sdl2/event/abstract.rb +11 -0
  20. data/lib/sdl2/event/action.rb +19 -0
  21. data/lib/sdl2/event/common.rb +10 -0
  22. data/lib/sdl2/event/controller_axis.rb +20 -0
  23. data/lib/sdl2/event/controller_button.rb +17 -0
  24. data/lib/sdl2/event/controller_device.rb +14 -0
  25. data/lib/sdl2/event/dollar_gesture.rb +19 -0
  26. data/lib/sdl2/event/drop.rb +18 -0
  27. data/lib/sdl2/event/joy_axis.rb +20 -0
  28. data/lib/sdl2/event/joy_ball.rb +20 -0
  29. data/lib/sdl2/event/joy_button.rb +18 -0
  30. data/lib/sdl2/event/joy_device.rb +14 -0
  31. data/lib/sdl2/event/joy_hat.rb +18 -0
  32. data/lib/sdl2/event/keyboard.rb +18 -0
  33. data/lib/sdl2/event/mouse_button.rb +21 -0
  34. data/lib/sdl2/event/mouse_motion.rb +19 -0
  35. data/lib/sdl2/event/mouse_wheel.rb +17 -0
  36. data/lib/sdl2/event/multi_gesture.rb +20 -0
  37. data/lib/sdl2/event/os.rb +12 -0
  38. data/lib/sdl2/event/quit.rb +12 -0
  39. data/lib/sdl2/event/state.rb +13 -0
  40. data/lib/sdl2/event/sys_wm.rb +15 -0
  41. data/lib/sdl2/event/text_editing.rb +17 -0
  42. data/lib/sdl2/event/text_input.rb +15 -0
  43. data/lib/sdl2/event/touch_finger.rb +20 -0
  44. data/lib/sdl2/event/type.rb +62 -0
  45. data/lib/sdl2/event/user.rb +15 -0
  46. data/lib/sdl2/event/window.rb +19 -0
  47. data/lib/sdl2/events.rb +23 -538
  48. data/lib/sdl2/gem_version.rb +1 -1
  49. data/lib/sdl2/haptic.rb +3 -3
  50. data/lib/sdl2/hints.rb +3 -1
  51. data/lib/sdl2/image.rb +20 -20
  52. data/lib/sdl2/init.rb +5 -8
  53. data/lib/sdl2/joystick.rb +104 -78
  54. data/lib/sdl2/joystick/axes.rb +22 -0
  55. data/lib/sdl2/joystick/balls.rb +24 -0
  56. data/lib/sdl2/joystick/buttons.rb +22 -0
  57. data/lib/sdl2/joystick/components.rb +23 -0
  58. data/lib/sdl2/joystick/hats.rb +22 -0
  59. data/lib/sdl2/keyboard.rb +11 -10
  60. data/lib/sdl2/keycode.rb +70 -70
  61. data/lib/sdl2/library.rb +8 -7
  62. data/lib/sdl2/log.rb +6 -0
  63. data/lib/sdl2/managed_struct.rb +17 -0
  64. data/lib/sdl2/mixer.rb +16 -12
  65. data/lib/sdl2/mixer/chunk.rb +14 -3
  66. data/lib/sdl2/mouse.rb +21 -41
  67. data/lib/sdl2/pixel_format.rb +4 -4
  68. data/lib/sdl2/pixels.rb +59 -47
  69. data/lib/sdl2/power.rb +1 -1
  70. data/lib/sdl2/rect.rb +4 -5
  71. data/lib/sdl2/render.rb +85 -170
  72. data/lib/sdl2/renderer.rb +337 -20
  73. data/lib/sdl2/rwops.rb +89 -30
  74. data/lib/sdl2/stdinc.rb +18 -21
  75. data/lib/sdl2/struct.rb +184 -0
  76. data/lib/sdl2/struct_helper.rb +32 -0
  77. data/lib/sdl2/surface.rb +15 -14
  78. data/lib/sdl2/syswm.rb +26 -10
  79. data/lib/sdl2/syswm/msg.rb +22 -4
  80. data/lib/sdl2/texture.rb +106 -0
  81. data/lib/sdl2/touch.rb +16 -20
  82. data/lib/sdl2/ttf.rb +29 -29
  83. data/lib/sdl2/ttf/sdl_ttf_module.rb +1 -1
  84. data/lib/sdl2/typed_pointer.rb +45 -0
  85. data/lib/sdl2/union.rb +7 -0
  86. data/lib/sdl2/video.rb +97 -183
  87. data/lib/sdl2/window.rb +140 -90
  88. data/lib/struct_array.rb +42 -0
  89. data/sdl2_ffi.gemspec +3 -3
  90. data/spec/fixtures/approvals/lazyfoonet_lesson_03_advanced_timers/has_a_message.approved.png +0 -0
  91. data/spec/fixtures/approvals/lazyfoonet_lesson_07_true_type_fonts/draws_the_message_to_the_screen.approved.png +0 -0
  92. data/spec/fixtures/approvals/lazyfoonet_lesson_14_advanced_timers/has_a_message.approved.png +0 -0
  93. data/spec/fixtures/approvals/lazyfoonet_lesson_14_advanced_timers/has_drawn_something.approved.png +0 -0
  94. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_clear.approved.png +0 -0
  95. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_a_line_connecting_many_points.approved.png +0 -0
  96. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_a_point.approved.png +0 -0
  97. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_a_single_filled_rectangle.approved.png +0 -0
  98. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_a_single_pixel_line.approved.png +0 -0
  99. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_a_single_rectangle.approved.png +0 -0
  100. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_many_filled_rectangles.approved.png +0 -0
  101. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_many_rectangles_at_once.approved.png +0 -0
  102. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_draw_points.approved.png +0 -0
  103. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_render_textures.approved.png +0 -0
  104. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_be_able_to_rotate_and_flip_while_rendering_textures.approved.png +0 -0
  105. data/spec/fixtures/approvals/sdl2/sdl2_renderer/should_have_a_clip_rect.approved.png +0 -0
  106. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_clear.approved.png +0 -0
  107. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_a_line_connecting_many_points.approved.png +0 -0
  108. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_a_point.approved.png +0 -0
  109. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_a_single_filled_rectangle.approved.png +0 -0
  110. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_a_single_pixel_line.approved.png +0 -0
  111. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_a_single_rectangle.approved.png +0 -0
  112. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_many_filled_rectangles.approved.png +0 -0
  113. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_many_rectangles_at_once.approved.png +0 -0
  114. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_draw_points.approved.png +0 -0
  115. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_render_textures.approved.png +0 -0
  116. data/spec/fixtures/approvals/sdl2_renderer/should_be_able_to_rotate_and_flip_while_rendering_textures.approved.png +0 -0
  117. data/spec/fixtures/approvals/sdl2_renderer/should_have_a_clip_rect.approved.png +0 -0
  118. data/spec/fixtures/images/finger.png +0 -0
  119. data/spec/fixtures/music/beat.wav +0 -0
  120. data/spec/fixtures/sounds/high.wav +0 -0
  121. data/spec/fixtures/sounds/low.wav +0 -0
  122. data/spec/fixtures/sounds/medium.wav +0 -0
  123. data/spec/fixtures/sounds/scratch.wav +0 -0
  124. data/spec/functional/lazy_foo_tutorial/lazy_foo_01_hello_world_spec.rb +4 -6
  125. data/spec/functional/lazy_foo_tutorial/lazy_foo_02_optimized_images_spec.rb +3 -4
  126. data/spec/functional/lazy_foo_tutorial/lazy_foo_03_extension_libraries_spec.rb +2 -2
  127. data/spec/functional/lazy_foo_tutorial/lazy_foo_04_event_driven_programming_spec.rb +3 -3
  128. data/spec/functional/lazy_foo_tutorial/lazy_foo_05_color_keying_spec.rb +1 -1
  129. data/spec/functional/lazy_foo_tutorial/lazy_foo_06_clip_blitting_and_sprite_sheets_spec.rb +1 -1
  130. data/spec/functional/lazy_foo_tutorial/lazy_foo_07_true_type_fonts_spec.rb +3 -2
  131. data/spec/functional/lazy_foo_tutorial/lazy_foo_08_key_presses_spec.rb +9 -7
  132. data/spec/functional/lazy_foo_tutorial/lazy_foo_09_mouse_events_spec.rb +11 -8
  133. data/spec/functional/lazy_foo_tutorial/lazy_foo_10_key_states_spec.rb +5 -4
  134. data/spec/functional/lazy_foo_tutorial/lazy_foo_11_playing_sounds_spec.rb +17 -9
  135. data/spec/functional/lazy_foo_tutorial/lazy_foo_12_timing_spec.rb +8 -7
  136. data/spec/functional/lazy_foo_tutorial/lazy_foo_13_advanced_timers_spec.rb +85 -0
  137. data/spec/functional/lazy_foo_tutorial/lazy_foo_14_regulating_frame_rate_spec.rb +67 -0
  138. data/spec/functional/lazy_foo_tutorial/lazy_foo_15_calculating_frame_rate_spec.rb +48 -0
  139. data/spec/functional/lazy_foo_tutorial/lazy_foo_16_motion_spec.rb +95 -0
  140. data/spec/functional/lazy_foo_tutorial/lazy_foo_helper.rb +3 -1
  141. data/spec/functional/lazy_foo_tutorial/timer.rb +55 -0
  142. data/spec/lib/bad_sdl/application_spec.rb +22 -0
  143. data/spec/{unit → lib}/sdl2/color_spec.rb +5 -1
  144. data/spec/lib/sdl2/display_spec.rb +6 -0
  145. data/spec/lib/sdl2/event_spec.rb +102 -0
  146. data/spec/lib/sdl2/events_spec.rb +12 -0
  147. data/spec/lib/sdl2/joystick_spec.rb +130 -0
  148. data/spec/lib/sdl2/keyboard_spec.rb +22 -0
  149. data/spec/lib/sdl2/mouse_spec.rb +21 -0
  150. data/spec/lib/sdl2/render_spec.rb +62 -0
  151. data/spec/lib/sdl2/renderer_spec.rb +224 -0
  152. data/spec/lib/sdl2/sdl2_helper.rb +5 -0
  153. data/spec/lib/sdl2/texture_spec.rb +65 -0
  154. data/{test/unit/sdl2/test_video.rb → spec/lib/sdl2/video_spec.rb} +82 -57
  155. data/spec/lib/sdl2/window_spec.rb +42 -0
  156. data/spec/{unit → lib}/unit_helper.rb +0 -0
  157. data/spec/png_writer.rb +9 -1
  158. data/spec/spec_helper.rb +5 -3
  159. metadata +201 -132
  160. data/lib/sdl2/engine/engines.rb +0 -46
  161. data/test/approvals/clip_blitting_and_sprite_sheets.received.bmp +0 -0
  162. data/test/approvals/color_keying_example.approved.png +0 -0
  163. data/test/approvals/hello_world_example_hello.approved.png +0 -0
  164. data/test/approvals/hello_world_example_screen.approved.png +0 -0
  165. data/test/approvals/optimized_surface_loading.approved.png +0 -0
  166. data/test/fixtures/an_example.png +0 -0
  167. data/test/fixtures/background.bmp +0 -0
  168. data/test/fixtures/background.jpg +0 -0
  169. data/test/fixtures/color_bars.jpg +0 -0
  170. data/test/fixtures/foo.jpg +0 -0
  171. data/test/fixtures/hello.bmp +0 -0
  172. data/test/fixtures/sprites.jpg +0 -0
  173. data/test/fixtures/x.png +0 -0
  174. data/test/functional/examples/lazyfoo.net_s/test_clip_blitting_and_sprite_sheets.rb +0 -50
  175. data/test/functional/examples/lazyfoo.net_s/test_color_keying.rb +0 -42
  176. data/test/functional/examples/test_lazy_foo_examples.rb +0 -195
  177. data/test/functional/examples/test_readme_examples.rb +0 -15
  178. data/test/test_helper.rb +0 -13
  179. data/test/unit/sdl2/test_assert.rb +0 -10
  180. data/test/unit/sdl2/test_audio.rb +0 -9
  181. data/test/unit/sdl2/test_clipboard.rb +0 -13
  182. data/test/unit/sdl2/test_cpuinfo.rb +0 -11
  183. data/test/unit/sdl2/test_error.rb +0 -20
  184. data/test/unit/sdl2/test_events.rb +0 -31
  185. data/test/unit/sdl2/test_haptic.rb +0 -27
  186. data/test/unit/sdl2/test_hints.rb +0 -50
  187. data/test/unit/sdl2/test_image.rb +0 -9
  188. data/test/unit/sdl2/test_init.rb +0 -29
  189. data/test/unit/sdl2/test_keyboard.rb +0 -9
  190. data/test/unit/sdl2/test_log.rb +0 -80
  191. data/test/unit/sdl2/test_palette.rb +0 -26
  192. data/test/unit/sdl2/test_pixel_format.rb +0 -38
  193. data/test/unit/sdl2/test_pixels.rb +0 -24
  194. data/test/unit/sdl2/test_power.rb +0 -11
  195. data/test/unit/sdl2/test_rect.rb +0 -19
  196. data/test/unit/sdl2/test_render.rb +0 -58
  197. data/test/unit/sdl2/test_surface.rb +0 -88
  198. data/test/unit/sdl2/test_syswm.rb +0 -11
  199. data/test/unit/sdl2/test_timer.rb +0 -9
  200. data/test/unit/sdl2/test_ttf.rb +0 -11
  201. data/test/unit/sdl2/test_version.rb +0 -16
  202. data/test/unit/sdl2/test_window.rb +0 -155
  203. data/test/unit/test_scratch.rb +0 -19
  204. data/test/unit/test_sdl2.rb +0 -16
@@ -0,0 +1,10 @@
1
+
2
+ module SDL2
3
+ class Event
4
+ ##
5
+ # Fields shared by every event
6
+ class Common < Abstract
7
+ layout *SHARED
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,20 @@
1
+ module SDL2
2
+ class Event
3
+ # Game controller axis motion event structure (event.caxis.*)
4
+ class ControllerAxis < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id,
8
+ :axis, :uint8,
9
+ :padding1, :uint8,
10
+ :padding2, :uint8,
11
+ :padding3, :uint8,
12
+ :value, :int16,
13
+ :padding4, :uint16
14
+ ]
15
+ member_readers *members
16
+ member_writers *members
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ module SDL2
2
+ class Event
3
+ # Game controller button event structure (event.cbutton.*)
4
+ class ControllerButton < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id,
8
+ :button, :uint8,
9
+ :state, :uint8,
10
+ :padding1, :uint8,
11
+ :padding2, :uint8
12
+ ]
13
+ member_readers *members
14
+ member_writers *members
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ module SDL2
2
+ class Event
3
+ # Controller device event structure (event.cdevice.*)
4
+ class ControllerDevice < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id
8
+ ]
9
+ member_readers *members
10
+ member_writers *members
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ module SDL2
2
+ class Event
3
+ # Dollar Gesture Event (event.dgesture.*)
4
+ class DollarGesture < Abstract
5
+
6
+ layout *SHARED + [
7
+ :touchId, :touch_id,
8
+ :gestureId, :gesture_id,
9
+ :numFingers, :uint32,
10
+ :error, :float,
11
+ :x, :float,
12
+ :y, :float
13
+ ]
14
+ member_readers *members
15
+ member_writers *members
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ module SDL2
2
+ class Event
3
+ # @brief An event used to request a file open by the system (event.drop.*)
4
+ # This event is disabled by default, you can enable it with
5
+ # SDL_EventState()
6
+ # @note If you enable this event, you must free the filename in the event.
7
+ #
8
+ class Drop < Abstract
9
+
10
+ layout *SHARED + [
11
+ :file, :string
12
+ ]
13
+ member_readers *members
14
+ member_writers *members
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ module SDL2
2
+ class Event
3
+ # Joystick axis motion event structure (event.jaxis.*)
4
+ class JoyAxis < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id,
8
+ :axis, :uint8,
9
+ :padding1, :uint8,
10
+ :padding2, :uint8,
11
+ :padding3, :uint8,
12
+ :value, :int16,
13
+ :padding4, :uint16
14
+ ]
15
+ member_readers *members
16
+ member_writers *members
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module SDL2
2
+ class Event
3
+ # Joystick trackball motion event structure (event.jball.*)
4
+ class JoyBall < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id,
8
+ :ball, :uint8,
9
+ :padding1, :uint8,
10
+ :padding2, :uint8,
11
+ :padding3, :uint8,
12
+ :xrel, :int16,
13
+ :yrel, :int16
14
+ ]
15
+ member_readers *members
16
+ member_writers *members
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ module SDL2
2
+ class Event
3
+ # Joystick button event structure (event.jbutton.*)
4
+ class JoyButton < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id,
8
+ :button, :uint8,
9
+ :state, :uint8,
10
+ :padding1, :uint8,
11
+ :padding2, :uint8
12
+ ]
13
+ member_readers *members
14
+ member_writers *members
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ module SDL2
2
+ class Event
3
+ # Joystick device event structure (event.jdevice.*)
4
+ class JoyDevice < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id
8
+ ]
9
+ member_readers *members
10
+ member_writers *members
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ module SDL2
2
+ class Event
3
+ # Joystick hat position change event structure (event.jhat.*)
4
+ class JoyHat < Abstract
5
+
6
+ layout *SHARED + [
7
+ :which, :joystick_id,
8
+ :hat, :uint8,
9
+ :value, :uint8,
10
+ :padding1, :uint8,
11
+ :padding2, :uint8
12
+ ]
13
+ member_readers *members
14
+ member_writers *members
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module SDL2
2
+ class Event
3
+ # Keyboard button event structure (event.key.*)
4
+ class Keyboard < Abstract
5
+
6
+ layout *SHARED + [
7
+ :windowID, :uint32,
8
+ :state, :uint8,
9
+ :repeat, :uint8,
10
+ :padding2, :uint8,
11
+ :padding3, :uint8,
12
+ :keysym, Keysym
13
+ ]
14
+ member_readers *members
15
+ member_writers *members
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,21 @@
1
+ module SDL2
2
+ class Event
3
+ # Mouse button event structure (event.button.*)
4
+ class MouseButton < Abstract
5
+
6
+ layout *SHARED + [
7
+ :windowID, :uint32,
8
+ :which, :uint32,
9
+ :button, :uint8,
10
+ :state, :uint8,
11
+ :padding1, :uint8,
12
+ :padding2, :uint8,
13
+ :x, :int32,
14
+ :y, :int32
15
+ ]
16
+ member_readers *members
17
+ member_writers *members
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ module SDL2
2
+ class Event
3
+ # Mouse motion event structure (event.motion.*)
4
+ class MouseMotion < Abstract
5
+
6
+ layout *SHARED + [
7
+ :windowID, :uint32,
8
+ :which, :uint32,
9
+ :state, :uint32,
10
+ :x, :int32,
11
+ :y, :int32,
12
+ :xrel, :int32,
13
+ :yrel, :int32
14
+ ]
15
+ member_readers *members
16
+ member_writers *members
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ module SDL2
2
+ class Event
3
+ # Mouse wheel event structure (event.wheel.*)
4
+ class MouseWheel < Abstract
5
+
6
+ layout *SHARED + [
7
+ :windowID, :uint32,
8
+ :which, :uint32,
9
+ :x, :int32,
10
+ :y, :int32
11
+ ]
12
+ member_readers *members
13
+ member_writers *members
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ module SDL2
2
+ class Event
3
+ # Multiple Finger Gesture Event (event.mgesture.*)
4
+ class MultiGesture < Abstract
5
+
6
+ layout *SHARED + [
7
+ :touchId, :touch_id,
8
+ :dTheta, :float,
9
+ :dDist, :float,
10
+ :x, :float,
11
+ :y, :float,
12
+ :numFingers, :uint16,
13
+ :padding, :uint16
14
+ ]
15
+ member_readers *members
16
+ member_writers *members
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,12 @@
1
+ module SDL2
2
+ class Event
3
+ # OS Specific event
4
+ class OS < Abstract
5
+
6
+ layout *SHARED
7
+ member_readers *members
8
+ member_writers *members
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module SDL2
2
+ class Event
3
+ # The "quit requested" event
4
+ class Quit < Abstract
5
+
6
+ layout *SHARED
7
+ member_readers *members
8
+ member_writers *members
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ module SDL2
2
+ class Event
3
+ # Enumeration of event_state query
4
+ module STATE
5
+ include EnumerableConstants
6
+ QUERY = -1
7
+ IGNORE = 0
8
+ DISABLE = 0
9
+ ENABLE = 1
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ module SDL2
2
+ class Event
3
+ # @brief A video driver dependent system event (event.syswm.*)
4
+ # This event is disabled by default, you can enable it with
5
+ # SDL_EventState()
6
+ #
7
+ # @note If you want to use this event, you should include SDL_syswm.h.
8
+ class SysWM < Abstract
9
+ layout *SHARED + [
10
+ :msg, SDL2::SysWM::Msg.by_ref
11
+ ]
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ module SDL2
2
+ class Event
3
+ # Keyboard text editing event structure (event.edit.*)
4
+ class TextEditing < Abstract
5
+
6
+ TEXT_SIZE = 32 # Line 188
7
+ layout *SHARED + [
8
+ :windowID, :uint32,
9
+ :char, [:char, TEXT_SIZE],
10
+ :start, :int32,
11
+ :length, :int32
12
+ ]
13
+ member_readers *members
14
+ member_writers *members
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ module SDL2
2
+ class Event
3
+ # Keyboard text input event structure (event.text.*)
4
+ class TextInput < Abstract
5
+
6
+ TEXT_SIZE = 32 # Line 203
7
+ layout *SHARED + [
8
+ :windowID, :uint32,
9
+ :char, [:char, TEXT_SIZE]
10
+ ]
11
+ member_readers *members
12
+ member_writers *members
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,20 @@
1
+ module SDL2
2
+ class Event
3
+ # Touch finger event structure (event.tfinger.*)
4
+ class TouchFinger < Abstract
5
+
6
+ layout *SHARED + [
7
+ :touchId, :touch_id,
8
+ :fingerId, :finger_id,
9
+ :x, :float,
10
+ :y, :float,
11
+ :dx, :float,
12
+ :dy, :float,
13
+ :pressure, :float
14
+ ]
15
+ member_readers *members
16
+ member_writers *members
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,62 @@
1
+ module SDL2
2
+ class Event
3
+ # The types of events that can be delivered
4
+ module TYPE
5
+ include EnumerableConstants
6
+ FIRSTEVENT = 0
7
+
8
+ QUIT = 0x100
9
+
10
+ APP_TERMINATING = next_const_value
11
+ APP_LOWMEMORY = next_const_value
12
+ APP_WILLENTERBACKGROUND = next_const_value
13
+ APP_DIDENTERBACKGROUND = next_const_value
14
+ APP_WILLENTERFOREGROUND = next_const_value
15
+ APP_DIDENTERFOREGROUND = next_const_value
16
+
17
+ WINDOWEVENT = 0x200
18
+ SYSWMEVENT = next_const_value
19
+
20
+ KEYDOWN = 0x300
21
+ KEYUP = next_const_value
22
+ TEXTEDITING = next_const_value
23
+ TEXTINPUT = next_const_value
24
+
25
+ MOUSEMOTION = 0x400
26
+ MOUSEBUTTONDOWN= next_const_value
27
+ MOUSEBUTTONUP = next_const_value
28
+ MOUSEWHEEL = next_const_value
29
+
30
+ JOYAXISMOTION = 0x600
31
+ JOYBALLMOTION = next_const_value
32
+ JOYHATMOTION = next_const_value
33
+ JOYBUTTONDOWN = next_const_value
34
+ JOYBUTTONUP = next_const_value
35
+ JOYDEVICEADDED = next_const_value
36
+ JOYDEVICEREMOVED= next_const_value
37
+
38
+ CONTROLLERAXISMOTION = 0x650
39
+ CONTROLLERBUTTONDOWN= next_const_value
40
+ CONTROLLERBUTTONUP= next_const_value
41
+ CONTROLLERDEVICEADDED= next_const_value
42
+ CONTROLLERDEVICEREMOVED= next_const_value
43
+ CONTROLLERDEVICEREMAPPED= next_const_value
44
+
45
+ FINGERDOWN = 0x700
46
+ FINGERUP= next_const_value
47
+ FINGERMOTION= next_const_value
48
+
49
+ DOLLARGESTURE = 0x800
50
+ DOLLARRECORD= next_const_value
51
+ MULTIGESTURE= next_const_value
52
+
53
+ CLIPBOARDUPDATE = 0x900
54
+
55
+ DROPFILE = 0x1000
56
+
57
+ USEREVENT = 0x8000
58
+
59
+ LASTEVENT = 0xFFFF
60
+ end
61
+ end
62
+ end