ray 0.1.0.pre1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (370) hide show
  1. data/README.md +235 -32
  2. data/Rakefile +20 -49
  3. data/ext/audio.c +68 -0
  4. data/ext/audio_source.c +197 -0
  5. data/ext/buffer_renderer.c +130 -0
  6. data/ext/color.c +179 -0
  7. data/ext/drawable.c +446 -0
  8. data/ext/event.c +337 -0
  9. data/ext/extconf.rb +80 -6
  10. data/ext/font.c +97 -0
  11. data/ext/gl.c +114 -0
  12. data/ext/gl_buffer.c +224 -0
  13. data/ext/gl_index_buffer.c +202 -0
  14. data/ext/gl_int_array.c +139 -0
  15. data/ext/gl_vertex.c +157 -0
  16. data/ext/image.c +263 -0
  17. data/ext/image_target.c +84 -0
  18. data/ext/input.c +53 -0
  19. data/ext/matrix.c +374 -0
  20. data/ext/music.c +113 -0
  21. data/ext/polygon.c +426 -0
  22. data/ext/ray.c +59 -0
  23. data/ext/ray.h +168 -0
  24. data/ext/rect.c +255 -0
  25. data/ext/say.h +31 -0
  26. data/ext/say_all.h +77 -0
  27. data/ext/say_arial.h +14689 -0
  28. data/ext/say_array.c +124 -0
  29. data/ext/say_array.h +34 -0
  30. data/ext/say_audio.c +64 -0
  31. data/ext/say_audio.h +170 -0
  32. data/ext/say_audio_context.c +40 -0
  33. data/ext/say_audio_source.c +96 -0
  34. data/ext/say_basic_type.c +17 -0
  35. data/ext/say_basic_type.h +47 -0
  36. data/ext/say_buffer.c +277 -0
  37. data/ext/say_buffer.h +37 -0
  38. data/ext/say_buffer_renderer.c +121 -0
  39. data/ext/say_buffer_renderer.h +33 -0
  40. data/ext/say_buffer_slice.c +247 -0
  41. data/ext/say_buffer_slice.h +29 -0
  42. data/ext/say_clean_up.c +14 -0
  43. data/ext/say_context.c +163 -0
  44. data/ext/say_context.h +26 -0
  45. data/ext/say_drawable.c +350 -0
  46. data/ext/say_drawable.h +100 -0
  47. data/ext/say_error.c +27 -0
  48. data/ext/say_event.h +213 -0
  49. data/ext/say_font.c +335 -0
  50. data/ext/say_font.h +51 -0
  51. data/ext/say_image.c +283 -0
  52. data/ext/say_image.h +52 -0
  53. data/ext/say_image_target.c +134 -0
  54. data/ext/say_image_target.h +25 -0
  55. data/ext/say_imp.h +70 -0
  56. data/ext/say_index_buffer.c +90 -0
  57. data/ext/say_index_buffer.h +29 -0
  58. data/ext/say_index_buffer_slice.c +227 -0
  59. data/ext/say_index_buffer_slice.h +28 -0
  60. data/ext/say_input.c +35 -0
  61. data/ext/say_matrix.c +314 -0
  62. data/ext/say_matrix.h +55 -0
  63. data/ext/say_music.c +225 -0
  64. data/ext/say_osx.h +62 -0
  65. data/ext/say_osx_context.h +98 -0
  66. data/ext/say_osx_window.h +766 -0
  67. data/ext/say_polygon.c +358 -0
  68. data/ext/say_polygon.h +62 -0
  69. data/ext/say_renderer.c +42 -0
  70. data/ext/say_renderer.h +22 -0
  71. data/ext/say_shader.c +375 -0
  72. data/ext/say_shader.h +91 -0
  73. data/ext/say_sound.c +67 -0
  74. data/ext/say_sound_buffer.c +96 -0
  75. data/ext/say_sprite.c +273 -0
  76. data/ext/say_sprite.h +53 -0
  77. data/ext/say_string.c +9 -0
  78. data/ext/say_table.c +86 -0
  79. data/ext/say_table.h +24 -0
  80. data/ext/say_target.c +264 -0
  81. data/ext/say_target.h +67 -0
  82. data/ext/say_text.c +441 -0
  83. data/ext/say_text.h +56 -0
  84. data/ext/say_thread.c +46 -0
  85. data/ext/say_thread.h +39 -0
  86. data/ext/say_thread_variable.c +44 -0
  87. data/ext/say_utf.c +62 -0
  88. data/ext/say_vertex_type.c +113 -0
  89. data/ext/say_vertex_type.h +40 -0
  90. data/ext/say_vfile.c +57 -0
  91. data/ext/say_view.c +150 -0
  92. data/ext/say_view.h +44 -0
  93. data/ext/say_win.h +24 -0
  94. data/ext/say_win_context.h +91 -0
  95. data/ext/say_win_window.h +670 -0
  96. data/ext/say_window.c +155 -0
  97. data/ext/say_window.h +43 -0
  98. data/ext/say_x11.h +41 -0
  99. data/ext/say_x11_context.h +96 -0
  100. data/ext/say_x11_window.h +818 -0
  101. data/ext/shader.c +302 -0
  102. data/ext/sound.c +118 -0
  103. data/ext/sound_buffer.c +75 -0
  104. data/ext/sprite.c +241 -0
  105. data/ext/stb_image.h +4971 -0
  106. data/ext/stb_image_write.h +511 -0
  107. data/ext/target.c +184 -0
  108. data/ext/text.c +162 -0
  109. data/ext/utils.c +10 -0
  110. data/ext/vector.c +261 -0
  111. data/ext/vendor/freetype/bin/freetype6.dll +0 -0
  112. data/ext/vendor/freetype/bin/zlib1.dll +0 -0
  113. data/ext/vendor/freetype/include/freetype2/freetype/config/ftconfig.h +350 -0
  114. data/ext/vendor/freetype/include/freetype2/freetype/config/ftheader.h +729 -0
  115. data/ext/vendor/freetype/include/freetype2/freetype/config/ftmodule.h +22 -0
  116. data/ext/vendor/freetype/include/freetype2/freetype/config/ftoption.h +695 -0
  117. data/ext/vendor/freetype/include/freetype2/freetype/config/ftstdlib.h +180 -0
  118. data/ext/vendor/freetype/include/freetype2/freetype/freetype.h +3434 -0
  119. data/ext/vendor/freetype/include/freetype2/freetype/ftbbox.h +94 -0
  120. data/ext/vendor/freetype/include/freetype2/freetype/ftbdf.h +200 -0
  121. data/ext/vendor/freetype/include/freetype2/freetype/ftbitmap.h +206 -0
  122. data/ext/vendor/freetype/include/freetype2/freetype/ftcache.h +1110 -0
  123. data/ext/vendor/freetype/include/freetype2/freetype/ftchapters.h +100 -0
  124. data/ext/vendor/freetype/include/freetype2/freetype/fterrdef.h +239 -0
  125. data/ext/vendor/freetype/include/freetype2/freetype/fterrors.h +206 -0
  126. data/ext/vendor/freetype/include/freetype2/freetype/ftgasp.h +113 -0
  127. data/ext/vendor/freetype/include/freetype2/freetype/ftglyph.h +575 -0
  128. data/ext/vendor/freetype/include/freetype2/freetype/ftgxval.h +358 -0
  129. data/ext/vendor/freetype/include/freetype2/freetype/ftgzip.h +102 -0
  130. data/ext/vendor/freetype/include/freetype2/freetype/ftimage.h +1237 -0
  131. data/ext/vendor/freetype/include/freetype2/freetype/ftincrem.h +331 -0
  132. data/ext/vendor/freetype/include/freetype2/freetype/ftlcdfil.h +166 -0
  133. data/ext/vendor/freetype/include/freetype2/freetype/ftlist.h +273 -0
  134. data/ext/vendor/freetype/include/freetype2/freetype/ftlzw.h +99 -0
  135. data/ext/vendor/freetype/include/freetype2/freetype/ftmac.h +272 -0
  136. data/ext/vendor/freetype/include/freetype2/freetype/ftmm.h +378 -0
  137. data/ext/vendor/freetype/include/freetype2/freetype/ftmodapi.h +406 -0
  138. data/ext/vendor/freetype/include/freetype2/freetype/ftmoderr.h +155 -0
  139. data/ext/vendor/freetype/include/freetype2/freetype/ftotval.h +198 -0
  140. data/ext/vendor/freetype/include/freetype2/freetype/ftoutln.h +526 -0
  141. data/ext/vendor/freetype/include/freetype2/freetype/ftpfr.h +172 -0
  142. data/ext/vendor/freetype/include/freetype2/freetype/ftrender.h +229 -0
  143. data/ext/vendor/freetype/include/freetype2/freetype/ftsizes.h +159 -0
  144. data/ext/vendor/freetype/include/freetype2/freetype/ftsnames.h +170 -0
  145. data/ext/vendor/freetype/include/freetype2/freetype/ftstroke.h +716 -0
  146. data/ext/vendor/freetype/include/freetype2/freetype/ftsynth.h +73 -0
  147. data/ext/vendor/freetype/include/freetype2/freetype/ftsystem.h +346 -0
  148. data/ext/vendor/freetype/include/freetype2/freetype/fttrigon.h +350 -0
  149. data/ext/vendor/freetype/include/freetype2/freetype/fttypes.h +583 -0
  150. data/ext/vendor/freetype/include/freetype2/freetype/ftwinfnt.h +263 -0
  151. data/ext/vendor/freetype/include/freetype2/freetype/ftxf86.h +80 -0
  152. data/ext/vendor/freetype/include/freetype2/freetype/t1tables.h +450 -0
  153. data/ext/vendor/freetype/include/freetype2/freetype/ttnameid.h +1132 -0
  154. data/ext/vendor/freetype/include/freetype2/freetype/tttables.h +756 -0
  155. data/ext/vendor/freetype/include/freetype2/freetype/tttags.h +99 -0
  156. data/ext/vendor/freetype/include/freetype2/freetype/ttunpat.h +59 -0
  157. data/ext/vendor/freetype/include/ft2build.h +61 -0
  158. data/ext/vendor/freetype/lib/freetype-bcc.lib +0 -0
  159. data/ext/vendor/freetype/lib/freetype6.def +249 -0
  160. data/ext/vendor/freetype/lib/libfreetype.dll.a +0 -0
  161. data/ext/vendor/freetype/lib/tmp.freetype.lib +0 -0
  162. data/ext/vendor/glew/LICENSE.txt +73 -0
  163. data/ext/vendor/glew/README.txt +18 -0
  164. data/ext/vendor/glew/include/GL/glew.h +15507 -0
  165. data/ext/vendor/glew/include/GL/glxew.h +1568 -0
  166. data/ext/vendor/glew/include/GL/wglew.h +1361 -0
  167. data/ext/vendor/glew/lib/glew32.dll +0 -0
  168. data/ext/vendor/glew/lib/glew32mx.dll +0 -0
  169. data/ext/vendor/glew/lib/libglew32.a +0 -0
  170. data/ext/vendor/glew/lib/libglew32.dll.a +0 -0
  171. data/ext/vendor/glew/lib/libglew32mx.a +0 -0
  172. data/ext/vendor/glew/lib/libglew32mx.dll.a +0 -0
  173. data/ext/vendor/openal/COPYING +484 -0
  174. data/ext/vendor/openal/Win32/soft_oal.dll +0 -0
  175. data/ext/vendor/openal/include/AL/al.h +724 -0
  176. data/ext/vendor/openal/include/AL/alc.h +277 -0
  177. data/ext/vendor/openal/include/AL/alext.h +165 -0
  178. data/ext/vendor/openal/include/AL/efx-creative.h +3 -0
  179. data/ext/vendor/openal/include/AL/efx.h +758 -0
  180. data/ext/vendor/openal/lib/libOpenAL32.dll.a +0 -0
  181. data/ext/vendor/sndfile/bin/libsndfile-1.dll +0 -0
  182. data/ext/vendor/sndfile/include/sndfile.h +666 -0
  183. data/ext/vendor/sndfile/include/sndfile.hh +422 -0
  184. data/ext/vendor/sndfile/lib/libsndfile-1.def +41 -0
  185. data/ext/vendor/sndfile/lib/libsndfile-1.lib +0 -0
  186. data/ext/vertex.c +96 -0
  187. data/ext/view.c +131 -0
  188. data/ext/window.c +183 -0
  189. data/lib/ray/animation.rb +248 -0
  190. data/lib/ray/animation/block_animation.rb +36 -0
  191. data/lib/ray/animation/circular_motion.rb +57 -0
  192. data/lib/ray/animation/color_variation.rb +102 -0
  193. data/lib/ray/animation/combination.rb +71 -0
  194. data/lib/ray/animation/float_variation.rb +76 -0
  195. data/lib/ray/animation/sequence.rb +65 -0
  196. data/lib/ray/animation/sprite_animation.rb +68 -0
  197. data/lib/ray/animation/vector_variation.rb +111 -0
  198. data/lib/ray/animation_list.rb +50 -0
  199. data/lib/ray/audio.rb +4 -7
  200. data/lib/ray/buffer_renderer.rb +9 -0
  201. data/lib/ray/color.rb +41 -6
  202. data/lib/ray/drawable.rb +34 -9
  203. data/lib/ray/dsl.rb +6 -0
  204. data/lib/ray/dsl/event.rb +1 -1
  205. data/lib/ray/dsl/event_listener.rb +14 -10
  206. data/lib/ray/dsl/event_raiser.rb +5 -2
  207. data/lib/ray/dsl/event_runner.rb +4 -10
  208. data/lib/ray/dsl/event_translator.rb +67 -99
  209. data/lib/ray/dsl/handler.rb +1 -1
  210. data/lib/ray/dsl/matcher.rb +40 -27
  211. data/lib/ray/event.rb +22 -0
  212. data/lib/ray/font.rb +0 -42
  213. data/lib/ray/font_set.rb +3 -7
  214. data/lib/ray/game.rb +33 -73
  215. data/lib/ray/gl/int_array.rb +24 -0
  216. data/lib/ray/gl/vertex.rb +106 -0
  217. data/lib/ray/helper.rb +25 -11
  218. data/lib/ray/image.rb +9 -154
  219. data/lib/ray/image_set.rb +3 -8
  220. data/lib/ray/image_target.rb +12 -0
  221. data/lib/ray/matrix.rb +90 -0
  222. data/lib/ray/music.rb +12 -0
  223. data/lib/ray/polygon.rb +77 -0
  224. data/lib/ray/ray.rb +45 -13
  225. data/lib/ray/rect.rb +14 -3
  226. data/lib/ray/resource_set.rb +18 -35
  227. data/lib/ray/scene.rb +43 -81
  228. data/lib/ray/scene_list.rb +12 -5
  229. data/lib/ray/shader.rb +82 -0
  230. data/lib/ray/sound.rb +18 -0
  231. data/lib/ray/sound_buffer.rb +6 -0
  232. data/lib/ray/sound_buffer_set.rb +32 -0
  233. data/lib/ray/sprite.rb +111 -97
  234. data/lib/ray/target.rb +18 -0
  235. data/lib/ray/text.rb +80 -58
  236. data/lib/ray/text_helper.rb +21 -27
  237. data/lib/ray/turtle.rb +49 -38
  238. data/lib/ray/vector.rb +76 -1
  239. data/lib/ray/vertex.rb +24 -0
  240. data/lib/ray/view.rb +47 -0
  241. data/lib/ray/window.rb +23 -0
  242. data/samples/_media/Beep.wav +0 -0
  243. data/samples/_media/CptnRuby Gem.png +0 -0
  244. data/samples/_media/CptnRuby Map.txt +25 -0
  245. data/samples/_media/CptnRuby Tileset.png +0 -0
  246. data/samples/_media/CptnRuby.png +0 -0
  247. data/samples/_media/Space.png +0 -0
  248. data/samples/_media/Star.png +0 -0
  249. data/samples/_media/Starfighter.png +0 -0
  250. data/samples/animation/chain.rb +33 -0
  251. data/samples/animation/circle.rb +38 -0
  252. data/samples/animation/color.rb +18 -0
  253. data/samples/animation/rotation.rb +17 -0
  254. data/samples/animation/sequence.rb +33 -0
  255. data/samples/animation/shader.rb +65 -0
  256. data/samples/animation/sprite_motion.rb +103 -0
  257. data/samples/animation/translation.rb +23 -0
  258. data/samples/audio/spacial.rb +25 -11
  259. data/samples/buffer/buffer.rb +28 -0
  260. data/samples/buffer/index_buffer.rb +36 -0
  261. data/samples/buffer/renderer.rb +27 -0
  262. data/samples/cptn_ruby/cptn_ruby.rb +279 -0
  263. data/samples/hello_world/hello.rb +2 -2
  264. data/samples/hello_world/hello_dsl.rb +3 -3
  265. data/samples/hello_world/text.rb +2 -2
  266. data/samples/opengl/cube.rb +124 -0
  267. data/samples/opengl/image.rb +36 -16
  268. data/samples/opengl/obj_loader.rb +99 -0
  269. data/samples/opengl/opengl.rb +24 -18
  270. data/samples/opengl/shader.rb +36 -26
  271. data/samples/pong/pong.rb +41 -39
  272. data/samples/{run_scene.rb → scenes/run_scene.rb} +21 -7
  273. data/samples/shaders/geometry.rb +98 -0
  274. data/samples/shaders/scene.rb +19 -12
  275. data/samples/shaders/shaders.rb +34 -17
  276. data/samples/shaders/shape.rb +12 -7
  277. data/samples/sokoban/level_1 +11 -7
  278. data/samples/sokoban/sokoban.rb +36 -63
  279. data/samples/starfighter/starfighter.rb +159 -0
  280. data/samples/test/actual_scene.rb +3 -3
  281. data/samples/test/scene_riot.rb +4 -4
  282. data/samples/test/scene_spec.rb +3 -3
  283. data/samples/test/scene_test_unit.rb +1 -1
  284. data/samples/turtle/byzantium.rb +10 -5
  285. data/samples/turtle/hilbert.rb +16 -11
  286. data/samples/turtle/koch.rb +16 -11
  287. data/samples/turtle/mandala.rb +43 -38
  288. data/samples/turtle/tree.rb +13 -8
  289. data/samples/view/resize.rb +26 -0
  290. data/samples/view/view.rb +35 -0
  291. data/samples/window/all_events.rb +44 -0
  292. data/samples/window/change_title.rb +16 -0
  293. data/samples/window/fullscreen.rb +18 -0
  294. data/samples/window/get_pixel.rb +29 -0
  295. data/samples/window/icon.rb +88 -0
  296. data/samples/window/input.rb +27 -0
  297. data/samples/window/no_border.rb +16 -0
  298. data/samples/window/resize.rb +24 -0
  299. data/test/animation/color_variation_test.rb +64 -0
  300. data/test/animation/combination_test.rb +35 -0
  301. data/test/animation/float_variation_test.rb +75 -0
  302. data/test/animation/vector_variation_test.rb +123 -0
  303. data/test/animation_list_test.rb +122 -0
  304. data/test/animation_test.rb +83 -0
  305. data/test/audio_test.rb +88 -33
  306. data/test/buffer_renderer_test.rb +38 -0
  307. data/test/color_test.rb +31 -22
  308. data/test/drawable_test.rb +207 -7
  309. data/test/dsl_test.rb +25 -7
  310. data/test/font_test.rb +6 -40
  311. data/test/game_test.rb +76 -0
  312. data/test/gl_buffer_test.rb +26 -0
  313. data/test/gl_index_buffer_test.rb +17 -0
  314. data/test/gl_vertex_test.rb +117 -0
  315. data/test/helpers.rb +45 -5
  316. data/test/image_target_test.rb +19 -0
  317. data/test/image_test.rb +73 -53
  318. data/test/int_array_test.rb +64 -0
  319. data/test/matrix_test.rb +134 -0
  320. data/test/polygon_test.rb +126 -0
  321. data/test/rect_test.rb +6 -8
  322. data/test/res/frag.c +14 -0
  323. data/test/res/frag3d.c +10 -0
  324. data/test/res/frag_gray.c +17 -0
  325. data/test/res/frag_light3d.c +20 -0
  326. data/test/res/light3d.c +20 -0
  327. data/test/res/sprite.png +0 -0
  328. data/test/res/teapot.obj +12831 -0
  329. data/test/res/vert.c +17 -0
  330. data/test/res/vertex3d.c +14 -0
  331. data/test/resource_set_test.rb +8 -45
  332. data/test/run_all.rb +1 -1
  333. data/test/scene_list_test.rb +79 -0
  334. data/test/scene_test.rb +168 -0
  335. data/test/shader_test.rb +58 -0
  336. data/test/sprite_test.rb +46 -41
  337. data/test/target_test.rb +34 -0
  338. data/test/text_test.rb +20 -31
  339. data/test/turtle_test.rb +35 -20
  340. data/test/vector_test.rb +61 -19
  341. data/test/vertex_test.rb +43 -0
  342. data/test/view_test.rb +61 -0
  343. metadata +347 -126
  344. data/.yardopts +0 -4
  345. data/VERSION +0 -1
  346. data/ext/audio.cpp +0 -723
  347. data/ext/color.cpp +0 -159
  348. data/ext/drawable.cpp +0 -91
  349. data/ext/event.cpp +0 -460
  350. data/ext/font.cpp +0 -190
  351. data/ext/image.cpp +0 -733
  352. data/ext/input.cpp +0 -74
  353. data/ext/ray.cpp +0 -168
  354. data/ext/ray.hpp +0 -356
  355. data/ext/rect.cpp +0 -245
  356. data/ext/shader.cpp +0 -169
  357. data/ext/shape.cpp +0 -409
  358. data/ext/sprite.cpp +0 -306
  359. data/ext/text.cpp +0 -181
  360. data/ext/vector.cpp +0 -215
  361. data/guide.md +0 -619
  362. data/lib/ray/input.rb +0 -10
  363. data/lib/ray/music_set.rb +0 -37
  364. data/lib/ray/rmagick.rb +0 -41
  365. data/lib/ray/shape.rb +0 -132
  366. data/lib/ray/sound_set.rb +0 -37
  367. data/samples/opengl/binding.rb +0 -38
  368. data/test/ray_test.rb +0 -25
  369. data/test/shape_test.rb +0 -101
  370. data/yard_ext.rb +0 -63
@@ -1,159 +0,0 @@
1
- #include "ray.hpp"
2
-
3
- VALUE ray_cColor = Qnil;
4
-
5
- ray_color ray_rb2col(VALUE object) {
6
- if (!RAY_IS_A(object, ray_cColor)) {
7
- rb_raise(rb_eTypeError, "Can't convert %s into Ray::Color",
8
- RAY_OBJ_CLASSNAME(object));
9
- }
10
-
11
- ray_color *ret = NULL;
12
- Data_Get_Struct(object, ray_color, ret);
13
-
14
- return *ret;
15
- }
16
-
17
- VALUE ray_col2rb(const ray_color &color) {
18
- VALUE ret = rb_funcall(ray_cColor, RAY_METH("new"), 4,
19
- INT2FIX(color.r),
20
- INT2FIX(color.g),
21
- INT2FIX(color.b),
22
- INT2FIX(color.a));
23
- return ret;
24
- }
25
-
26
- void ray_free_color(ray_color *color) {
27
- delete color;
28
- }
29
-
30
- VALUE ray_alloc_color(VALUE self) {
31
- ray_color *ptr = new ray_color;
32
- VALUE ret = Data_Wrap_Struct(self, 0, ray_free_color, ptr);
33
-
34
- return ret;
35
- }
36
-
37
- /*
38
- @overload initialize(red, green, blue, alpha = 255)
39
- Creates a new color. All the parameters must be integers between
40
- 0 and 255. Alpha is the transparency (255: opaque, 0: invisible)
41
- */
42
- VALUE ray_init_color(int argc, VALUE *argv, VALUE self) {
43
- VALUE r, g, b, a;
44
- rb_scan_args(argc, argv, "31", &r, &g, &b, &a);
45
- if (a == Qnil) a = INT2FIX(255);
46
-
47
- ray_color *ret = NULL;
48
- Data_Get_Struct(self, ray_color, ret);
49
-
50
- ret->r = NUM2INT(r);
51
- ret->g = NUM2INT(g);
52
- ret->b = NUM2INT(b);
53
- ret->a = NUM2INT(a);
54
-
55
- return Qnil;
56
- }
57
-
58
- VALUE ray_init_color_copy(VALUE self, VALUE other) {
59
- ray_color *color = NULL, *source = NULL;
60
- Data_Get_Struct(self, ray_color, color);
61
- Data_Get_Struct(other, ray_color, source);
62
-
63
- *color = *source;
64
- return self;
65
- }
66
-
67
- /* @return [Integer] red intensity */
68
- VALUE ray_color_r(VALUE self) {
69
- ray_color *ret;
70
- Data_Get_Struct(self, ray_color, ret);
71
-
72
- return INT2FIX(ret->r);
73
- }
74
-
75
- /* @return [Integer] green intensity */
76
- VALUE ray_color_g(VALUE self) {
77
- ray_color *ret;
78
- Data_Get_Struct(self, ray_color, ret);
79
-
80
- return INT2FIX(ret->g);
81
- }
82
-
83
- /* @return [Integer] blue intensity */
84
- VALUE ray_color_b(VALUE self) {
85
- ray_color *ret;
86
- Data_Get_Struct(self, ray_color, ret);
87
-
88
- return INT2FIX(ret->b);
89
- }
90
-
91
- /* @return [Integer] alpha intensity */
92
- VALUE ray_color_a(VALUE self) {
93
- ray_color *ret;
94
- Data_Get_Struct(self, ray_color, ret);
95
-
96
- return INT2FIX(ret->a);
97
- }
98
-
99
- /* Sets the red intensity */
100
- VALUE ray_color_set_r(VALUE self, VALUE val) {
101
- rb_check_frozen(self);
102
-
103
- ray_color *ret;
104
- Data_Get_Struct(self, ray_color, ret);
105
-
106
- ret->r = NUM2INT(val);
107
- return val;
108
- }
109
-
110
- /* Sets the green intensity */
111
- VALUE ray_color_set_g(VALUE self, VALUE val) {
112
- rb_check_frozen(self);
113
-
114
- ray_color *ret;
115
- Data_Get_Struct(self, ray_color, ret);
116
-
117
- ret->g = NUM2INT(val);
118
- return val;
119
- }
120
-
121
- /* Sets the blue intensity */
122
- VALUE ray_color_set_b(VALUE self, VALUE val) {
123
- rb_check_frozen(self);
124
-
125
- ray_color *ret;
126
- Data_Get_Struct(self, ray_color, ret);
127
-
128
- ret->b = NUM2INT(val);
129
- return val;
130
- }
131
-
132
- /* Sets the alpha intensity */
133
- VALUE ray_color_set_a(VALUE self, VALUE val) {
134
- rb_check_frozen(self);
135
-
136
- ray_color *ret;
137
- Data_Get_Struct(self, ray_color, ret);
138
-
139
- ret->a = NUM2INT(val);
140
- return val;
141
- }
142
-
143
- void Init_ray_color() {
144
- ray_cColor = rb_define_class_under(ray_mRay, "Color", rb_cObject);
145
-
146
- rb_define_alloc_func(ray_cColor, ray_alloc_color);
147
- rb_define_method(ray_cColor, "initialize", ray_init_color, -1);
148
- rb_define_method(ray_cColor, "initialize_copy", ray_init_color_copy, 1);
149
-
150
- rb_define_method(ray_cColor, "r", ray_color_r, 0);
151
- rb_define_method(ray_cColor, "g", ray_color_g, 0);
152
- rb_define_method(ray_cColor, "b", ray_color_b, 0);
153
- rb_define_method(ray_cColor, "a", ray_color_a, 0);
154
-
155
- rb_define_method(ray_cColor, "r=", ray_color_set_r, 1);
156
- rb_define_method(ray_cColor, "g=", ray_color_set_g, 1);
157
- rb_define_method(ray_cColor, "b=", ray_color_set_b, 1);
158
- rb_define_method(ray_cColor, "a=", ray_color_set_a, 1);
159
- }
@@ -1,91 +0,0 @@
1
- #include "ray.hpp"
2
-
3
- VALUE ray_cDrawable = Qnil;
4
-
5
- ray_drawable::~ray_drawable() {
6
- if (!NIL_P(block))
7
- rb_gc_unregister_address(&block);
8
- }
9
-
10
- void ray_drawable::set_block(VALUE val) {
11
- block = val;
12
- rb_gc_register_address(&block);
13
- }
14
-
15
- void ray_drawable::render(VALUE image) {
16
- ray_image *c_image = ray_rb2image(image);
17
- c_image->activate();
18
-
19
- glMatrixMode(GL_PROJECTION);
20
- glLoadIdentity();
21
- glOrtho(0, c_image->width(), c_image->height(), 0, -1, 1);
22
-
23
- glMatrixMode(GL_MODELVIEW);
24
-
25
- glPushMatrix();
26
- rb_funcall(block, RAY_METH("call"), 1, image);
27
- glPopMatrix();
28
- }
29
-
30
- ray_drawable *ray_rb2drawable(VALUE obj) {
31
- if (!RAY_IS_A(obj, ray_cDrawable)) {
32
- rb_raise(rb_eTypeError, "Can't convert %s into Ray::Drawable",
33
- RAY_OBJ_CLASSNAME(obj));
34
- }
35
-
36
- ray_drawable *drawable;
37
- Data_Get_Struct(obj, ray_drawable, drawable);
38
-
39
- return drawable;
40
- }
41
-
42
- void ray_free_drawable(ray_drawable *drawable) {
43
- delete drawable;
44
- }
45
-
46
- VALUE ray_alloc_drawable(VALUE self) {
47
- ray_drawable *ptr = new ray_drawable;
48
-
49
- VALUE obj = Data_Wrap_Struct(ray_cDrawable, NULL, ray_free_drawable, ptr);
50
- return obj;
51
- }
52
-
53
- /*
54
- Creates a new Drawables.
55
- Requires a block to be passed. This block will be run when this object
56
- will be drawn.
57
- */
58
- VALUE ray_init_drawable(VALUE self) {
59
- rb_need_block();
60
- ray_rb2drawable(self)->set_block(rb_block_proc());
61
- return self;
62
- }
63
-
64
- /*
65
- Document-class: Ray::Drawable
66
-
67
- Drawables allow to use plain OpenGL to draw stuff. The projection matrix is
68
- automatically set so (0, 0) is the upper left corner and (width, height) the
69
- bottom right one.
70
-
71
- @see Ray::Image#activate
72
-
73
- @example
74
- drawable = Ray::Drawable.new do |img|
75
- # img is the image you are drawing on
76
-
77
- # Draw using some OpenGL binding.
78
- GL.begin GL::Triangles do
79
- GL.color(1, 0, 0); GL.vertex(300, 300)
80
- GL.color(1, 1, 0); GL.vertex(300, 100)
81
- GL.color(1, 1, 1); GL.vertex(100, 300)
82
- end
83
- end
84
-
85
- drawable.draw_on image
86
- */
87
- void Init_ray_drawable() {
88
- ray_cDrawable = rb_define_class_under(ray_mRay, "Drawable", rb_cObject);
89
- rb_define_alloc_func(ray_cDrawable, ray_alloc_drawable);
90
- rb_define_method(ray_cDrawable, "initialize", ray_init_drawable, 0);
91
- }
@@ -1,460 +0,0 @@
1
- #include "ray.hpp"
2
-
3
- VALUE ray_cEvent = Qnil;
4
-
5
- typedef enum {
6
- RAY_MOD_NONE = 0,
7
- RAY_MOD_CTRL = 1 << 0,
8
- RAY_MOD_ALT = 1 << 1,
9
- RAY_MOD_SHIFT = 1 << 2
10
- } ray_mod_keys;
11
-
12
- ray_event *ray_rb2event(VALUE obj) {
13
- if (!RAY_IS_A(obj, ray_cEvent)) {
14
- rb_raise(rb_eTypeError, "Can't convert %s into Ray::Event",
15
- RAY_OBJ_CLASSNAME(obj));
16
- }
17
-
18
- ray_event *ptr;
19
- Data_Get_Struct(obj, ray_event, ptr);
20
-
21
- return ptr;
22
- }
23
-
24
- void ray_free_event(ray_event *ptr) {
25
- delete ptr;
26
- }
27
-
28
- VALUE ray_alloc_event(VALUE self) {
29
- ray_event *ptr = new ray_event;
30
- VALUE ret = Data_Wrap_Struct(self, 0L, ray_free_event, ptr);
31
-
32
- return ret;
33
- }
34
-
35
- /*
36
- Creates the event according to the next event of the stack.
37
- */
38
- VALUE ray_init_event(VALUE self) {
39
- ray_event *event = ray_rb2event(self);
40
- if (!ray_screen.GetEvent(*event))
41
- event->Type = sf::Event::Count;
42
-
43
- return Qnil;
44
- }
45
-
46
- /*
47
- Waits for an event and returns it.
48
- @return [Ray::Event] The event that has just happened.
49
- */
50
- VALUE ray_wait_event(VALUE self) {
51
- ray_event *event = new ray_event;
52
- if (!ray_screen.WaitEvent(*event))
53
- event->Type = sf::Event::Count;
54
-
55
- return Data_Wrap_Struct(self, 0, ray_free_event, event);
56
- }
57
-
58
- /*
59
- Updates the object according to what's happening now.
60
- */
61
- VALUE ray_event_poll(VALUE self) {
62
- if (!ray_screen.GetEvent(*ray_rb2event(self)))
63
- ray_rb2event(self)->Type = sf::Event::Count;
64
-
65
- return self;
66
- }
67
-
68
- /*
69
- Waits for an event and updates this object.
70
- */
71
- VALUE ray_event_wait(VALUE self) {
72
- if (!ray_screen.GetEvent(*ray_rb2event(self)))
73
- ray_rb2event(self)->Type = sf::Event::Count;
74
- return self;
75
- }
76
-
77
- /*
78
- Returns the type of the event. See the TYPE_* constants.
79
- */
80
- VALUE ray_event_type(VALUE self) {
81
- return INT2FIX(ray_rb2event(self)->Type);
82
- }
83
-
84
- /*
85
- @return [true, false, nil] true if the key is pressed.
86
- */
87
- VALUE ray_event_key_pressed(VALUE self) {
88
- ray_event *ev = ray_rb2event(self);
89
-
90
- if (ev->Type == sf::Event::KeyReleased)
91
- return Qfalse;
92
- else if (ev->Type == sf::Event::KeyPressed)
93
- return Qtrue;
94
- return Qnil;
95
- }
96
-
97
- /*
98
- @return [Integer, nil] An integer representing the key, if any.
99
- */
100
- VALUE ray_event_key(VALUE self) {
101
- ray_event *ev = ray_rb2event(self);
102
- if (ev->Type != sf::Event::KeyReleased && ev->Type != sf::Event::KeyPressed)
103
- return Qnil;
104
-
105
- return INT2FIX(ev->Key.Code);
106
- }
107
-
108
- /*
109
- @return [Integer, nil] OR'd combination of the mod keys
110
- (control, alt, and shift) pressed
111
- at the same time.
112
- */
113
- VALUE ray_event_mod_keys(VALUE self) {
114
- ray_event *ev = ray_rb2event(self);
115
- if (ev->Type != sf::Event::KeyReleased && ev->Type != sf::Event::KeyPressed)
116
- return Qnil;
117
-
118
- int ret = RAY_MOD_NONE;
119
- if (ev->Key.Alt) ret |= RAY_MOD_ALT;
120
- if (ev->Key.Control) ret |= RAY_MOD_CTRL;
121
- if (ev->Key.Shift) ret |= RAY_MOD_SHIFT;
122
-
123
- return INT2FIX(ret);
124
- }
125
-
126
- /*
127
- @return [true, false] True if this event means we gained
128
- focus.
129
- */
130
- VALUE ray_event_is_gain(VALUE self) {
131
- ray_event *ev = ray_rb2event(self);
132
- return ev->Type == sf::Event::GainedFocus ? Qtrue : Qfalse;
133
- }
134
-
135
- /*
136
- @return [Integer, nil] The position of the mouse
137
- */
138
- VALUE ray_event_mouse_x(VALUE self) {
139
- ray_event *ev = ray_rb2event(self);
140
-
141
- if (ev->Type == sf::Event::MouseButtonPressed ||
142
- ev->Type == sf::Event::MouseButtonReleased)
143
- return INT2FIX(ev->MouseButton.X);
144
- else if (ev->Type == sf::Event::MouseMoved)
145
- return INT2FIX(ev->MouseMove.X);
146
- else if (ev->Type == sf::Event::MouseWheelMoved)
147
- return INT2FIX(ev->MouseWheel.X);
148
-
149
- return Qnil;
150
- }
151
-
152
- /*
153
- @return [Integer, nil] The position of the mouse
154
- */
155
- VALUE ray_event_mouse_y(VALUE self) {
156
- ray_event *ev = ray_rb2event(self);
157
-
158
- if (ev->Type == sf::Event::MouseButtonPressed ||
159
- ev->Type == sf::Event::MouseButtonReleased)
160
- return INT2FIX(ev->MouseButton.Y);
161
- else if (ev->Type == sf::Event::MouseMoved)
162
- return INT2FIX(ev->MouseMove.Y);
163
- else if (ev->Type == sf::Event::MouseWheelMoved)
164
- return INT2FIX(ev->MouseWheel.Y);
165
-
166
- return Qnil;
167
- }
168
-
169
- /*
170
- @return [Integer, nil] the button that has been pressed
171
- */
172
- VALUE ray_event_mouse_button(VALUE self) {
173
- ray_event *ev = ray_rb2event(self);
174
- if (ev->Type != sf::Event::MouseButtonPressed &&
175
- ev->Type != sf::Event::MouseButtonReleased)
176
- return Qnil;
177
-
178
- return INT2FIX(ev->MouseButton.Button);
179
- }
180
-
181
- /*
182
- @return [Integer, nil] Ammount of ticks the wheel has moved
183
- */
184
- VALUE ray_event_wheel_delta(VALUE self) {
185
- ray_event *ev = ray_rb2event(self);
186
- if (ev->Type != sf::Event::MouseWheelMoved)
187
- return Qnil;
188
- return INT2FIX(ev->MouseWheel.Delta);
189
- }
190
-
191
- /* @return [Integer, nil] The joystick device index */
192
- VALUE ray_event_joystick_id(VALUE self) {
193
- ray_event *ev = ray_rb2event(self);
194
-
195
- if (ev->Type == sf::Event::JoyMoved)
196
- return INT2FIX(ev->JoyMove.JoystickId);
197
- else if (ev->Type == sf::Event::JoyButtonPressed ||
198
- ev->Type == sf::Event::JoyButtonReleased)
199
- return INT2FIX(ev->JoyButton.JoystickId);
200
-
201
- return Qnil;
202
- }
203
-
204
- /* @return [Integer, nil] The joystick axis index */
205
- VALUE ray_event_axis_id(VALUE self) {
206
- ray_event *ev = ray_rb2event(self);
207
- if (ev->Type == sf::Event::JoyMoved)
208
- return INT2FIX(ev->JoyMove.Axis);
209
-
210
- return Qnil;
211
- }
212
-
213
- /* @return [Float, nil] The axis value, from -100 upto 100 */
214
- VALUE ray_event_axis_value(VALUE self) {
215
- ray_event *ev = ray_rb2event(self);
216
- if (ev->Type == sf::Event::JoyMoved) {
217
- return rb_float_new(ev->JoyMove.Position);
218
- }
219
-
220
- return Qnil;
221
- }
222
-
223
- /* @return [Integer, nil] The button which was pressed or released */
224
- VALUE ray_event_joystick_button(VALUE self) {
225
- ray_event *ev = ray_rb2event(self);
226
- if (ev->Type == sf::Event::JoyButtonPressed ||
227
- ev->Type == sf::Event::JoyButtonReleased)
228
- return INT2FIX(ev->JoyButton.Button);
229
-
230
- return Qnil;
231
- }
232
-
233
- /* @return [Integer, nil] The new width of the window */
234
- VALUE ray_event_window_w(VALUE self) {
235
- ray_event *ev = ray_rb2event(self);
236
- if (ev->Type == sf::Event::Resized)
237
- return INT2FIX(ev->Size.Width);
238
-
239
- return Qnil;
240
- }
241
-
242
- /* @return [Integer, nil] The new height of the window */
243
- VALUE ray_event_window_h(VALUE self) {
244
- ray_event *ev = ray_rb2event(self);
245
- if (ev->Type == sf::Event::Resized)
246
- return INT2FIX(ev->Size.Height);
247
-
248
- return Qnil;
249
- }
250
-
251
- /*
252
- @return [String, nil] Text entered by the user. A single UTF-32 character,
253
- using native endianness.
254
- */
255
- VALUE ray_event_entered_text(VALUE self) {
256
- ray_event *ev = ray_rb2event(self);
257
- if (ev->Type != sf::Event::TextEntered)
258
- return Qnil;
259
-
260
- uint32_t character = ev->Text.Unicode;
261
- char *ptr = (char*)&character;
262
- return rb_str_new(ptr, 4);
263
- }
264
-
265
- void Init_ray_event() {
266
- ray_cEvent = rb_define_class_under(ray_mRay, "Event", rb_cObject);
267
- rb_define_alloc_func(ray_cEvent, ray_alloc_event);
268
- rb_define_method(ray_cEvent, "initialize", ray_init_event, 0);
269
-
270
- rb_define_module_function(ray_cEvent, "wait", ray_wait_event, 0);
271
-
272
- rb_define_method(ray_cEvent, "poll!", ray_event_poll, 0);
273
- rb_define_method(ray_cEvent, "wait!", ray_event_wait, 0);
274
-
275
- rb_define_method(ray_cEvent, "type", ray_event_type, 0);
276
-
277
- rb_define_method(ray_cEvent, "key_pressed?", ray_event_key_pressed, 0);
278
- rb_define_method(ray_cEvent, "key", ray_event_key, 0);
279
- rb_define_method(ray_cEvent, "mod_keys", ray_event_mod_keys, 0);
280
-
281
- rb_define_method(ray_cEvent, "is_gain?", ray_event_is_gain, 0);
282
-
283
- rb_define_method(ray_cEvent, "mouse_x", ray_event_mouse_x, 0);
284
- rb_define_method(ray_cEvent, "mouse_y", ray_event_mouse_y, 0);
285
- rb_define_method(ray_cEvent, "mouse_button", ray_event_mouse_button, 0);
286
- rb_define_method(ray_cEvent, "wheel_delta", ray_event_wheel_delta, 0);
287
-
288
- rb_define_method(ray_cEvent, "joystick_id", ray_event_joystick_id, 0);
289
- rb_define_method(ray_cEvent, "axis_id", ray_event_axis_id, 0);
290
- rb_define_method(ray_cEvent, "axis_value", ray_event_axis_value, 0);
291
- rb_define_method(ray_cEvent, "joystick_button", ray_event_joystick_button, 0);
292
-
293
- rb_define_method(ray_cEvent, "window_w", ray_event_window_w, 0);
294
- rb_define_method(ray_cEvent, "window_h", ray_event_window_h, 0);
295
-
296
- rb_define_method(ray_cEvent, "entered_text", ray_event_entered_text, 0);
297
-
298
- rb_define_const(ray_cEvent, "TYPE_NOEVENT", INT2FIX(sf::Event::Count));
299
-
300
- rb_define_const(ray_cEvent, "TYPE_FOCUS_GAIN", INT2FIX(sf::Event::GainedFocus));
301
- rb_define_const(ray_cEvent, "TYPE_FOCUS_LOSS", INT2FIX(sf::Event::LostFocus));
302
-
303
- rb_define_const(ray_cEvent, "TYPE_MOUSE_ENTERED", INT2FIX(sf::Event::MouseEntered));
304
- rb_define_const(ray_cEvent, "TYPE_MOUSE_LEFT", INT2FIX(sf::Event::MouseLeft));
305
-
306
- rb_define_const(ray_cEvent, "TYPE_KEYDOWN", INT2FIX(sf::Event::KeyPressed));
307
- rb_define_const(ray_cEvent, "TYPE_KEYUP", INT2FIX(sf::Event::KeyReleased));
308
-
309
- rb_define_const(ray_cEvent, "TYPE_MOUSEMOTION", INT2FIX(sf::Event::MouseMoved));
310
- rb_define_const(ray_cEvent, "TYPE_MOUSEWHEELMOVED",
311
- INT2FIX(sf::Event::MouseWheelMoved));
312
- rb_define_const(ray_cEvent, "TYPE_MOUSEBUTTONDOWN",
313
- INT2FIX(sf::Event::MouseButtonPressed));
314
- rb_define_const(ray_cEvent, "TYPE_MOUSEBUTTONUP",
315
- INT2FIX(sf::Event::MouseButtonReleased));
316
-
317
- rb_define_const(ray_cEvent, "TYPE_JOYAXISMOTION",
318
- INT2FIX(sf::Event::JoyMoved));
319
- rb_define_const(ray_cEvent, "TYPE_JOYBUTTONDOWN",
320
- INT2FIX(sf::Event::JoyButtonPressed));
321
- rb_define_const(ray_cEvent, "TYPE_JOYBUTTONUP",
322
- INT2FIX(sf::Event::JoyButtonReleased));
323
- rb_define_const(ray_cEvent, "TYPE_QUIT", INT2FIX(sf::Event::Closed));
324
- rb_define_const(ray_cEvent, "TYPE_VIDEORESIZE", INT2FIX(sf::Event::Resized));
325
-
326
- rb_define_const(ray_cEvent, "TYPE_TEXT_ENTERED", INT2FIX(sf::Event::TextEntered));
327
-
328
- rb_define_const(ray_cEvent, "AXIS_X", INT2FIX(sf::Joy::AxisX));
329
- rb_define_const(ray_cEvent, "AXIS_Y", INT2FIX(sf::Joy::AxisY));
330
- rb_define_const(ray_cEvent, "AXIS_Z", INT2FIX(sf::Joy::AxisZ));
331
- rb_define_const(ray_cEvent, "AXIS_R", INT2FIX(sf::Joy::AxisR));
332
- rb_define_const(ray_cEvent, "AXIS_U", INT2FIX(sf::Joy::AxisU));
333
- rb_define_const(ray_cEvent, "AXIS_V", INT2FIX(sf::Joy::AxisV));
334
-
335
- /* Point of view axis. Its value is an angle, therefore in the 0..360 range. */
336
- rb_define_const(ray_cEvent, "AXIS_POV", INT2FIX(sf::Joy::AxisPOV));
337
-
338
- rb_define_const(ray_cEvent, "KEY_BACKSPACE", INT2FIX(sf::Key::Back));
339
- rb_define_const(ray_cEvent, "KEY_TAB", INT2FIX(sf::Key::Tab));
340
- rb_define_const(ray_cEvent, "KEY_RETURN", INT2FIX(sf::Key::Return));
341
- rb_define_const(ray_cEvent, "KEY_PAUSE", INT2FIX(sf::Key::Pause));
342
- rb_define_const(ray_cEvent, "KEY_ESCAPE", INT2FIX(sf::Key::Escape));
343
- rb_define_const(ray_cEvent, "KEY_SPACE", INT2FIX(sf::Key::Space));
344
- rb_define_const(ray_cEvent, "KEY_QUOTE", INT2FIX(sf::Key::Quote));
345
- rb_define_const(ray_cEvent, "KEY_ASTERISK", INT2FIX(sf::Key::Multiply));
346
- rb_define_const(ray_cEvent, "KEY_PLUS", INT2FIX(sf::Key::Add));
347
- rb_define_const(ray_cEvent, "KEY_COMMA", INT2FIX(sf::Key::Comma));
348
- rb_define_const(ray_cEvent, "KEY_MINUS", INT2FIX(sf::Key::Subtract));
349
- rb_define_const(ray_cEvent, "KEY_PERIOD", INT2FIX(sf::Key::Period));
350
- rb_define_const(ray_cEvent, "KEY_SLASH", INT2FIX(sf::Key::Divide));
351
-
352
- rb_define_const(ray_cEvent, "KEY_0", INT2FIX(sf::Key::Num0));
353
- rb_define_const(ray_cEvent, "KEY_1", INT2FIX(sf::Key::Num1));
354
- rb_define_const(ray_cEvent, "KEY_2", INT2FIX(sf::Key::Num2));
355
- rb_define_const(ray_cEvent, "KEY_3", INT2FIX(sf::Key::Num3));
356
- rb_define_const(ray_cEvent, "KEY_4", INT2FIX(sf::Key::Num4));
357
- rb_define_const(ray_cEvent, "KEY_5", INT2FIX(sf::Key::Num5));
358
- rb_define_const(ray_cEvent, "KEY_6", INT2FIX(sf::Key::Num6));
359
- rb_define_const(ray_cEvent, "KEY_7", INT2FIX(sf::Key::Num7));
360
- rb_define_const(ray_cEvent, "KEY_8", INT2FIX(sf::Key::Num8));
361
- rb_define_const(ray_cEvent, "KEY_9", INT2FIX(sf::Key::Num9));
362
-
363
- rb_define_const(ray_cEvent, "KEY_SEMICOLON", INT2FIX(sf::Key::SemiColon));
364
- rb_define_const(ray_cEvent, "KEY_EQUALS", INT2FIX(sf::Key::Equal));
365
- rb_define_const(ray_cEvent, "KEY_LEFTBRACKET", INT2FIX(sf::Key::LBracket));
366
- rb_define_const(ray_cEvent, "KEY_BACKSLASH", INT2FIX(sf::Key::BackSlash));
367
- rb_define_const(ray_cEvent, "KEY_RIGHTBRACKET", INT2FIX(sf::Key::RBracket));
368
-
369
- rb_define_const(ray_cEvent, "KEY_a", INT2FIX(sf::Key::A));
370
- rb_define_const(ray_cEvent, "KEY_b", INT2FIX(sf::Key::B));
371
- rb_define_const(ray_cEvent, "KEY_c", INT2FIX(sf::Key::C));
372
- rb_define_const(ray_cEvent, "KEY_d", INT2FIX(sf::Key::D));
373
- rb_define_const(ray_cEvent, "KEY_e", INT2FIX(sf::Key::E));
374
- rb_define_const(ray_cEvent, "KEY_f", INT2FIX(sf::Key::F));
375
- rb_define_const(ray_cEvent, "KEY_g", INT2FIX(sf::Key::G));
376
- rb_define_const(ray_cEvent, "KEY_h", INT2FIX(sf::Key::H));
377
- rb_define_const(ray_cEvent, "KEY_i", INT2FIX(sf::Key::I));
378
- rb_define_const(ray_cEvent, "KEY_j", INT2FIX(sf::Key::J));
379
- rb_define_const(ray_cEvent, "KEY_k", INT2FIX(sf::Key::K));
380
- rb_define_const(ray_cEvent, "KEY_l", INT2FIX(sf::Key::L));
381
- rb_define_const(ray_cEvent, "KEY_m", INT2FIX(sf::Key::M));
382
- rb_define_const(ray_cEvent, "KEY_n", INT2FIX(sf::Key::N));
383
- rb_define_const(ray_cEvent, "KEY_o", INT2FIX(sf::Key::O));
384
- rb_define_const(ray_cEvent, "KEY_p", INT2FIX(sf::Key::P));
385
- rb_define_const(ray_cEvent, "KEY_q", INT2FIX(sf::Key::Q));
386
- rb_define_const(ray_cEvent, "KEY_r", INT2FIX(sf::Key::R));
387
- rb_define_const(ray_cEvent, "KEY_s", INT2FIX(sf::Key::S));
388
- rb_define_const(ray_cEvent, "KEY_t", INT2FIX(sf::Key::T));
389
- rb_define_const(ray_cEvent, "KEY_u", INT2FIX(sf::Key::U));
390
- rb_define_const(ray_cEvent, "KEY_v", INT2FIX(sf::Key::V));
391
- rb_define_const(ray_cEvent, "KEY_w", INT2FIX(sf::Key::W));
392
- rb_define_const(ray_cEvent, "KEY_x", INT2FIX(sf::Key::X));
393
- rb_define_const(ray_cEvent, "KEY_y", INT2FIX(sf::Key::Y));
394
- rb_define_const(ray_cEvent, "KEY_z", INT2FIX(sf::Key::Z));
395
-
396
- rb_define_const(ray_cEvent, "KEY_DELETE", INT2FIX(sf::Key::Delete));
397
-
398
- rb_define_const(ray_cEvent, "KEY_KP0", INT2FIX(sf::Key::Numpad0));
399
- rb_define_const(ray_cEvent, "KEY_KP1", INT2FIX(sf::Key::Numpad1));
400
- rb_define_const(ray_cEvent, "KEY_KP2", INT2FIX(sf::Key::Numpad2));
401
- rb_define_const(ray_cEvent, "KEY_KP3", INT2FIX(sf::Key::Numpad3));
402
- rb_define_const(ray_cEvent, "KEY_KP4", INT2FIX(sf::Key::Numpad4));
403
- rb_define_const(ray_cEvent, "KEY_KP5", INT2FIX(sf::Key::Numpad5));
404
- rb_define_const(ray_cEvent, "KEY_KP6", INT2FIX(sf::Key::Numpad6));
405
- rb_define_const(ray_cEvent, "KEY_KP7", INT2FIX(sf::Key::Numpad7));
406
- rb_define_const(ray_cEvent, "KEY_KP8", INT2FIX(sf::Key::Numpad8));
407
- rb_define_const(ray_cEvent, "KEY_KP9", INT2FIX(sf::Key::Numpad9));
408
-
409
- rb_define_const(ray_cEvent, "KEY_UP", INT2FIX(sf::Key::Up));
410
- rb_define_const(ray_cEvent, "KEY_DOWN", INT2FIX(sf::Key::Down));
411
- rb_define_const(ray_cEvent, "KEY_RIGHT", INT2FIX(sf::Key::Right));
412
- rb_define_const(ray_cEvent, "KEY_LEFT", INT2FIX(sf::Key::Left));
413
-
414
- rb_define_const(ray_cEvent, "KEY_INSERT", INT2FIX(sf::Key::Insert));
415
- rb_define_const(ray_cEvent, "KEY_HOME", INT2FIX(sf::Key::Home));
416
- rb_define_const(ray_cEvent, "KEY_END", INT2FIX(sf::Key::End));
417
- rb_define_const(ray_cEvent, "KEY_PAGEUP", INT2FIX(sf::Key::PageUp));
418
- rb_define_const(ray_cEvent, "KEY_PAGEDOWN", INT2FIX(sf::Key::PageDown));
419
-
420
- rb_define_const(ray_cEvent, "KEY_F1", INT2FIX(sf::Key::F1));
421
- rb_define_const(ray_cEvent, "KEY_F2", INT2FIX(sf::Key::F2));
422
- rb_define_const(ray_cEvent, "KEY_F3", INT2FIX(sf::Key::F3));
423
- rb_define_const(ray_cEvent, "KEY_F4", INT2FIX(sf::Key::F4));
424
- rb_define_const(ray_cEvent, "KEY_F5", INT2FIX(sf::Key::F5));
425
- rb_define_const(ray_cEvent, "KEY_F6", INT2FIX(sf::Key::F6));
426
- rb_define_const(ray_cEvent, "KEY_F7", INT2FIX(sf::Key::F7));
427
- rb_define_const(ray_cEvent, "KEY_F8", INT2FIX(sf::Key::F8));
428
- rb_define_const(ray_cEvent, "KEY_F9", INT2FIX(sf::Key::F9));
429
- rb_define_const(ray_cEvent, "KEY_F10", INT2FIX(sf::Key::F10));
430
- rb_define_const(ray_cEvent, "KEY_F11", INT2FIX(sf::Key::F11));
431
- rb_define_const(ray_cEvent, "KEY_F12", INT2FIX(sf::Key::F12));
432
- rb_define_const(ray_cEvent, "KEY_F13", INT2FIX(sf::Key::F13));
433
- rb_define_const(ray_cEvent, "KEY_F14", INT2FIX(sf::Key::F14));
434
- rb_define_const(ray_cEvent, "KEY_F15", INT2FIX(sf::Key::F15));
435
-
436
- rb_define_const(ray_cEvent, "KEY_RSHIFT", INT2FIX(sf::Key::RShift));
437
- rb_define_const(ray_cEvent, "KEY_LSHIFT", INT2FIX(sf::Key::LShift));
438
-
439
- rb_define_const(ray_cEvent, "KEY_RCTRL", INT2FIX(sf::Key::RControl));
440
- rb_define_const(ray_cEvent, "KEY_LCTRL", INT2FIX(sf::Key::LControl));
441
-
442
- rb_define_const(ray_cEvent, "KEY_RALT", INT2FIX(sf::Key::RAlt));
443
- rb_define_const(ray_cEvent, "KEY_LALT", INT2FIX(sf::Key::LAlt));
444
-
445
- rb_define_const(ray_cEvent, "KEY_LSUPER", INT2FIX(sf::Key::LSystem));
446
- rb_define_const(ray_cEvent, "KEY_RSUPER", INT2FIX(sf::Key::RSystem));
447
-
448
- rb_define_const(ray_cEvent, "KEY_MENU", INT2FIX(sf::Key::Menu));
449
-
450
- rb_define_const(ray_cEvent, "KMOD_NONE", INT2FIX(RAY_MOD_NONE));
451
- rb_define_const(ray_cEvent, "KMOD_ALT", INT2FIX(RAY_MOD_ALT));
452
- rb_define_const(ray_cEvent, "KMOD_CTRL", INT2FIX(RAY_MOD_CTRL));
453
- rb_define_const(ray_cEvent, "KMOD_SHIFT", INT2FIX(RAY_MOD_SHIFT));
454
-
455
- rb_define_const(ray_cEvent, "BUTTON_LEFT", INT2FIX(sf::Mouse::Left));
456
- rb_define_const(ray_cEvent, "BUTTON_MIDDLE", INT2FIX(sf::Mouse::Middle));
457
- rb_define_const(ray_cEvent, "BUTTON_RIGHT", INT2FIX(sf::Mouse::Right));
458
- rb_define_const(ray_cEvent, "BUTTON_EXTRA1", INT2FIX(sf::Mouse::XButton1));
459
- rb_define_const(ray_cEvent, "BUTTON_EXTRA2", INT2FIX(sf::Mouse::XButton2));
460
- }