ruby_rpg 0.0.5 → 0.1.0

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 (584) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -21
  3. data/bin/build.bash +13 -13
  4. data/bin/import +54 -44
  5. data/ext/gl_native/extconf.rb +20 -0
  6. data/ext/gl_native/gl_native.c +563 -0
  7. data/ext/glfw_native/extconf.rb +18 -0
  8. data/ext/glfw_native/glfw_native.c +451 -0
  9. data/lib/engine/assets/_imported/cube.index_data +36 -0
  10. data/lib/engine/assets/_imported/cube.vertex_data +720 -0
  11. data/lib/engine/assets/_imported/plane.index_data +6 -0
  12. data/lib/engine/assets/_imported/plane.vertex_data +120 -0
  13. data/lib/engine/assets/_imported/sphere.index_data +2880 -0
  14. data/lib/engine/assets/_imported/sphere.vertex_data +57600 -0
  15. data/lib/engine/assets/cube.obj +46 -0
  16. data/lib/engine/assets/plane.obj +16 -0
  17. data/lib/engine/assets/sphere.obj +2488 -0
  18. data/lib/engine/autoloader.rb +11 -11
  19. data/lib/engine/camera.rb +12 -12
  20. data/lib/engine/component.rb +65 -63
  21. data/lib/engine/components/audio_source.rb +43 -41
  22. data/lib/engine/components/direction_light.rb +102 -23
  23. data/lib/engine/components/orthographic_camera.rb +60 -54
  24. data/lib/engine/components/perspective_camera.rb +76 -53
  25. data/lib/engine/components/point_light.rb +80 -24
  26. data/lib/engine/components/renderers/font_renderer.rb +19 -0
  27. data/lib/engine/components/renderers/font_renderer_base.rb +134 -0
  28. data/lib/engine/components/renderers/mesh_renderer.rb +41 -0
  29. data/lib/engine/components/renderers/sprite_renderer.rb +46 -0
  30. data/lib/engine/components/spot_light.rb +90 -0
  31. data/lib/engine/components/sprite_animator.rb +42 -0
  32. data/lib/engine/components/ui/flex/layout.rb +94 -0
  33. data/lib/engine/components/ui/flex/pack_layout.rb +65 -0
  34. data/lib/engine/components/ui/flex/stretch_layout.rb +52 -0
  35. data/lib/engine/components/ui/flex.rb +60 -0
  36. data/lib/engine/components/ui/font_renderer.rb +57 -0
  37. data/lib/engine/components/ui/rect.rb +117 -0
  38. data/lib/engine/components/ui/sprite_clickbox.rb +47 -0
  39. data/lib/engine/components/ui/sprite_renderer.rb +117 -0
  40. data/lib/engine/compute_shader.rb +14 -93
  41. data/lib/engine/compute_texture.rb +13 -0
  42. data/lib/engine/cursor.rb +43 -43
  43. data/lib/engine/debugging.rb +41 -41
  44. data/lib/engine/engine.rb +127 -131
  45. data/lib/engine/font.rb +99 -74
  46. data/lib/engine/game_object.rb +306 -234
  47. data/lib/engine/gl.rb +439 -0
  48. data/lib/engine/glfw.rb +151 -0
  49. data/lib/engine/importers/font_importer.rb +69 -69
  50. data/lib/engine/importers/obj_file.rb +244 -244
  51. data/lib/engine/importers/obj_importer.rb +33 -33
  52. data/lib/engine/input.rb +212 -105
  53. data/lib/engine/material.rb +214 -79
  54. data/lib/engine/matrix_helpers.rb +38 -0
  55. data/lib/engine/mesh.rb +68 -43
  56. data/lib/engine/metal/compute_shader.rb +118 -0
  57. data/lib/engine/metal/compute_texture.rb +176 -0
  58. data/lib/engine/metal/device.rb +98 -0
  59. data/lib/engine/metal/metal_bindings.rb +126 -0
  60. data/lib/engine/opengl/compute_shader.rb +77 -0
  61. data/lib/engine/opengl/compute_texture.rb +31 -0
  62. data/lib/engine/path.rb +92 -92
  63. data/lib/engine/physics/collision.rb +12 -12
  64. data/lib/engine/physics/components/cube_collider.rb +6 -6
  65. data/lib/engine/physics/components/rigidbody.rb +106 -103
  66. data/lib/engine/physics/components/sphere_collider.rb +103 -93
  67. data/lib/engine/physics/physics_resolver.rb +49 -37
  68. data/lib/engine/polygon_mesh.rb +45 -45
  69. data/lib/engine/quaternion.rb +234 -234
  70. data/lib/engine/rendering/cubemap_shadow_map_array.rb +77 -0
  71. data/lib/engine/rendering/gpu_timer.rb +68 -0
  72. data/lib/engine/rendering/instance_renderer.rb +232 -153
  73. data/lib/engine/rendering/post_processing/bloom_effect.rb +87 -0
  74. data/lib/engine/rendering/post_processing/depth_debug_effect.rb +17 -0
  75. data/lib/engine/rendering/post_processing/depth_of_field_effect.rb +52 -0
  76. data/lib/engine/rendering/post_processing/effect.rb +11 -0
  77. data/lib/engine/rendering/post_processing/post_processing_effect.rb +86 -0
  78. data/lib/engine/rendering/post_processing/single_pass_effect.rb +19 -0
  79. data/lib/engine/rendering/post_processing/ssao_effect.rb +182 -0
  80. data/lib/engine/rendering/post_processing/ssr_effect.rb +89 -0
  81. data/lib/engine/rendering/post_processing/tint_effect.rb +18 -0
  82. data/lib/engine/rendering/render_pipeline.rb +267 -35
  83. data/lib/engine/rendering/render_texture.rb +118 -0
  84. data/lib/engine/rendering/screen_quad.rb +64 -0
  85. data/lib/engine/rendering/shadow_map_array.rb +72 -0
  86. data/lib/engine/rendering/skybox_cubemap.rb +119 -0
  87. data/lib/engine/rendering/skybox_renderer.rb +64 -0
  88. data/lib/engine/rendering/ui/stencil_manager.rb +69 -0
  89. data/lib/engine/screenshoter.rb +34 -34
  90. data/lib/engine/serialization/graph_serializer.rb +74 -0
  91. data/lib/engine/serialization/object_serializer.rb +98 -0
  92. data/lib/engine/serialization/serializable.rb +78 -0
  93. data/lib/engine/serialization/yaml_persistence.rb +45 -0
  94. data/lib/engine/shader.rb +215 -119
  95. data/lib/engine/shaders/colour_frag.glsl +16 -8
  96. data/lib/engine/shaders/colour_vertex.glsl +20 -13
  97. data/lib/engine/shaders/fullscreen_frag.glsl +11 -0
  98. data/lib/engine/shaders/fullscreen_vertex.glsl +12 -0
  99. data/lib/engine/shaders/instanced_sprite_frag.glsl +21 -0
  100. data/lib/engine/shaders/{skybox_vert.glsl → instanced_sprite_vertex.glsl} +15 -14
  101. data/lib/engine/shaders/lighting/directional_light.glsl +49 -0
  102. data/lib/engine/shaders/lighting/lighting.glsl +33 -0
  103. data/lib/engine/shaders/lighting/lighting_common.glsl +13 -0
  104. data/lib/engine/shaders/lighting/point_light.glsl +46 -0
  105. data/lib/engine/shaders/lighting/spot_light.glsl +80 -0
  106. data/lib/engine/shaders/mesh_frag.glsl +53 -102
  107. data/lib/engine/shaders/mesh_vertex.glsl +25 -25
  108. data/lib/engine/shaders/point_shadow_frag.glsl +12 -0
  109. data/lib/engine/shaders/point_shadow_vertex.glsl +15 -0
  110. data/lib/engine/shaders/post_process/bloom_blur_frag.glsl +25 -0
  111. data/lib/engine/shaders/post_process/bloom_combine_frag.glsl +19 -0
  112. data/lib/engine/shaders/post_process/bloom_threshold_frag.glsl +19 -0
  113. data/lib/engine/shaders/post_process/debug_normals_frag.glsl +21 -0
  114. data/lib/engine/shaders/post_process/depth_debug_frag.glsl +17 -0
  115. data/lib/engine/shaders/post_process/dof_blur_frag.glsl +52 -0
  116. data/lib/engine/shaders/post_process/skybox_frag.glsl +29 -0
  117. data/lib/engine/shaders/post_process/ssao/blur_frag.glsl +50 -0
  118. data/lib/engine/shaders/post_process/ssao/combine_frag.glsl +15 -0
  119. data/lib/engine/shaders/post_process/ssao/frag.glsl +99 -0
  120. data/lib/engine/shaders/post_process/ssr/combine_frag.glsl +16 -0
  121. data/lib/engine/shaders/post_process/ssr/frag.glsl +118 -0
  122. data/lib/engine/shaders/post_process/tint_frag.glsl +14 -0
  123. data/lib/engine/shaders/shadow_frag.glsl +6 -0
  124. data/lib/engine/shaders/shadow_vertex.glsl +11 -0
  125. data/lib/engine/shaders/skybox_cubemap_frag.glsl +46 -0
  126. data/lib/engine/shaders/sprite_frag.glsl +17 -17
  127. data/lib/engine/shaders/sprite_vertex.glsl +15 -15
  128. data/lib/engine/shaders/text_frag.glsl +15 -15
  129. data/lib/engine/shaders/text_vertex.glsl +31 -31
  130. data/lib/engine/shaders/ui_sprite_frag.glsl +15 -15
  131. data/lib/engine/shaders/ui_sprite_vertex.glsl +15 -15
  132. data/lib/engine/shaders/vertex_lit_frag.glsl +33 -89
  133. data/lib/engine/shaders/vertex_lit_vertex.glsl +28 -28
  134. data/lib/engine/standard_meshes/quad_mesh.rb +26 -0
  135. data/lib/engine/standard_objects/cube.rb +23 -0
  136. data/lib/engine/standard_objects/default_material.rb +20 -0
  137. data/lib/engine/standard_objects/plane.rb +23 -0
  138. data/lib/engine/standard_objects/sphere.rb +23 -0
  139. data/lib/engine/tangent_calculator.rb +42 -42
  140. data/lib/engine/texture.rb +62 -53
  141. data/lib/engine/ui/rect.rb +16 -0
  142. data/lib/engine/video_mode.rb +37 -37
  143. data/lib/engine/window.rb +126 -126
  144. data/lib/ruby_rpg.rb +116 -58
  145. data/vendor/glew-2.2.0-win32/LICENSE.txt +73 -0
  146. data/vendor/glew-2.2.0-win32/bin/Release/x64/glew32.dll +0 -0
  147. data/vendor/glew-2.2.0-win32/include/GL/glew.h +26427 -0
  148. data/vendor/glew-2.2.0-win32/lib/Release/x64/glew32.lib +0 -0
  149. data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.3.9.bin.MACOS}/lib-arm64/libglfw.3.dylib +0 -0
  150. data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.4.bin.WIN64}/LICENSE.md +23 -23
  151. metadata +122 -463
  152. data/glfw-3.3.9.bin.MACOS/README.md +0 -5
  153. data/glfw-3.3.9.bin.MACOS/docs/html/bc_s.png +0 -0
  154. data/glfw-3.3.9.bin.MACOS/docs/html/bc_sd.png +0 -0
  155. data/glfw-3.3.9.bin.MACOS/docs/html/build_8dox.html +0 -81
  156. data/glfw-3.3.9.bin.MACOS/docs/html/build_guide.html +0 -199
  157. data/glfw-3.3.9.bin.MACOS/docs/html/closed.png +0 -0
  158. data/glfw-3.3.9.bin.MACOS/docs/html/compat_8dox.html +0 -81
  159. data/glfw-3.3.9.bin.MACOS/docs/html/compat_guide.html +0 -153
  160. data/glfw-3.3.9.bin.MACOS/docs/html/compile_8dox.html +0 -81
  161. data/glfw-3.3.9.bin.MACOS/docs/html/compile_guide.html +0 -223
  162. data/glfw-3.3.9.bin.MACOS/docs/html/context_8dox.html +0 -81
  163. data/glfw-3.3.9.bin.MACOS/docs/html/context_guide.html +0 -259
  164. data/glfw-3.3.9.bin.MACOS/docs/html/deprecated.html +0 -88
  165. data/glfw-3.3.9.bin.MACOS/docs/html/dir_08423ce7729c4554356a7de7171ba263.html +0 -85
  166. data/glfw-3.3.9.bin.MACOS/docs/html/dir_2dcebcdf14b42e92a6ed85c61bda6b9d.html +0 -93
  167. data/glfw-3.3.9.bin.MACOS/docs/html/dir_62ce056722ee97c199075aa1d6eca309.html +0 -95
  168. data/glfw-3.3.9.bin.MACOS/docs/html/dir_dddf4cf62655095a666cf715de3a31a2.html +0 -91
  169. data/glfw-3.3.9.bin.MACOS/docs/html/doc.svg +0 -12
  170. data/glfw-3.3.9.bin.MACOS/docs/html/docd.svg +0 -12
  171. data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.css +0 -1685
  172. data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.svg +0 -28
  173. data/glfw-3.3.9.bin.MACOS/docs/html/dynsections.js +0 -192
  174. data/glfw-3.3.9.bin.MACOS/docs/html/extra.css +0 -1
  175. data/glfw-3.3.9.bin.MACOS/docs/html/files.html +0 -91
  176. data/glfw-3.3.9.bin.MACOS/docs/html/folderclosed.svg +0 -11
  177. data/glfw-3.3.9.bin.MACOS/docs/html/folderclosedd.svg +0 -11
  178. data/glfw-3.3.9.bin.MACOS/docs/html/folderopen.svg +0 -17
  179. data/glfw-3.3.9.bin.MACOS/docs/html/folderopend.svg +0 -12
  180. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h.html +0 -1661
  181. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h_source.html +0 -1175
  182. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h.html +0 -167
  183. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h_source.html +0 -303
  184. data/glfw-3.3.9.bin.MACOS/docs/html/group__buttons.html +0 -282
  185. data/glfw-3.3.9.bin.MACOS/docs/html/group__context.html +0 -304
  186. data/glfw-3.3.9.bin.MACOS/docs/html/group__errors.html +0 -304
  187. data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__axes.html +0 -202
  188. data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__buttons.html +0 -410
  189. data/glfw-3.3.9.bin.MACOS/docs/html/group__hat__state.html +0 -234
  190. data/glfw-3.3.9.bin.MACOS/docs/html/group__init.html +0 -570
  191. data/glfw-3.3.9.bin.MACOS/docs/html/group__input.html +0 -2255
  192. data/glfw-3.3.9.bin.MACOS/docs/html/group__joysticks.html +0 -362
  193. data/glfw-3.3.9.bin.MACOS/docs/html/group__keys.html +0 -2034
  194. data/glfw-3.3.9.bin.MACOS/docs/html/group__mods.html +0 -198
  195. data/glfw-3.3.9.bin.MACOS/docs/html/group__monitor.html +0 -848
  196. data/glfw-3.3.9.bin.MACOS/docs/html/group__native.html +0 -812
  197. data/glfw-3.3.9.bin.MACOS/docs/html/group__shapes.html +0 -198
  198. data/glfw-3.3.9.bin.MACOS/docs/html/group__vulkan.html +0 -359
  199. data/glfw-3.3.9.bin.MACOS/docs/html/group__window.html +0 -3434
  200. data/glfw-3.3.9.bin.MACOS/docs/html/index.html +0 -100
  201. data/glfw-3.3.9.bin.MACOS/docs/html/input_8dox.html +0 -81
  202. data/glfw-3.3.9.bin.MACOS/docs/html/input_guide.html +0 -570
  203. data/glfw-3.3.9.bin.MACOS/docs/html/internal_8dox.html +0 -81
  204. data/glfw-3.3.9.bin.MACOS/docs/html/internals_guide.html +0 -132
  205. data/glfw-3.3.9.bin.MACOS/docs/html/intro_8dox.html +0 -81
  206. data/glfw-3.3.9.bin.MACOS/docs/html/intro_guide.html +0 -351
  207. data/glfw-3.3.9.bin.MACOS/docs/html/jquery.js +0 -34
  208. data/glfw-3.3.9.bin.MACOS/docs/html/main_8dox.html +0 -81
  209. data/glfw-3.3.9.bin.MACOS/docs/html/menu.js +0 -136
  210. data/glfw-3.3.9.bin.MACOS/docs/html/menudata.js +0 -29
  211. data/glfw-3.3.9.bin.MACOS/docs/html/minus.svg +0 -8
  212. data/glfw-3.3.9.bin.MACOS/docs/html/minusd.svg +0 -8
  213. data/glfw-3.3.9.bin.MACOS/docs/html/monitor_8dox.html +0 -81
  214. data/glfw-3.3.9.bin.MACOS/docs/html/monitor_guide.html +0 -229
  215. data/glfw-3.3.9.bin.MACOS/docs/html/moving_8dox.html +0 -81
  216. data/glfw-3.3.9.bin.MACOS/docs/html/moving_guide.html +0 -374
  217. data/glfw-3.3.9.bin.MACOS/docs/html/nav_f.png +0 -0
  218. data/glfw-3.3.9.bin.MACOS/docs/html/nav_fd.png +0 -0
  219. data/glfw-3.3.9.bin.MACOS/docs/html/nav_g.png +0 -0
  220. data/glfw-3.3.9.bin.MACOS/docs/html/nav_h.png +0 -0
  221. data/glfw-3.3.9.bin.MACOS/docs/html/nav_hd.png +0 -0
  222. data/glfw-3.3.9.bin.MACOS/docs/html/news.html +0 -634
  223. data/glfw-3.3.9.bin.MACOS/docs/html/news_8dox.html +0 -81
  224. data/glfw-3.3.9.bin.MACOS/docs/html/open.png +0 -0
  225. data/glfw-3.3.9.bin.MACOS/docs/html/pages.html +0 -99
  226. data/glfw-3.3.9.bin.MACOS/docs/html/plus.svg +0 -9
  227. data/glfw-3.3.9.bin.MACOS/docs/html/plusd.svg +0 -9
  228. data/glfw-3.3.9.bin.MACOS/docs/html/quick_8dox.html +0 -81
  229. data/glfw-3.3.9.bin.MACOS/docs/html/quick_guide.html +0 -397
  230. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_0.js +0 -5
  231. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1.js +0 -4
  232. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_10.js +0 -65
  233. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_11.js +0 -26
  234. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_12.js +0 -44
  235. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_13.js +0 -34
  236. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_14.js +0 -12
  237. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_15.js +0 -52
  238. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_16.js +0 -69
  239. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_17.js +0 -51
  240. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_18.js +0 -14
  241. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_19.js +0 -36
  242. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1a.js +0 -98
  243. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1b.js +0 -12
  244. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_2.js +0 -6
  245. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_3.js +0 -9
  246. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_4.js +0 -57
  247. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_5.js +0 -22
  248. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_6.js +0 -103
  249. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_7.js +0 -23
  250. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_8.js +0 -35
  251. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_9.js +0 -63
  252. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_a.js +0 -505
  253. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_b.js +0 -24
  254. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_c.js +0 -50
  255. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_d.js +0 -17
  256. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_e.js +0 -12
  257. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_f.js +0 -35
  258. data/glfw-3.3.9.bin.MACOS/docs/html/search/classes_0.js +0 -7
  259. data/glfw-3.3.9.bin.MACOS/docs/html/search/close.svg +0 -18
  260. data/glfw-3.3.9.bin.MACOS/docs/html/search/defines_0.js +0 -34
  261. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_0.js +0 -4
  262. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_1.js +0 -6
  263. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_2.js +0 -5
  264. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_3.js +0 -6
  265. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_4.js +0 -6
  266. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_5.js +0 -4
  267. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_6.js +0 -4
  268. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_7.js +0 -4
  269. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_8.js +0 -4
  270. data/glfw-3.3.9.bin.MACOS/docs/html/search/functions_0.js +0 -146
  271. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_0.js +0 -6
  272. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_1.js +0 -4
  273. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_10.js +0 -4
  274. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_2.js +0 -6
  275. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_3.js +0 -5
  276. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_4.js +0 -4
  277. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_5.js +0 -5
  278. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_6.js +0 -4
  279. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_7.js +0 -5
  280. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_8.js +0 -5
  281. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_9.js +0 -6
  282. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_a.js +0 -6
  283. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_b.js +0 -4
  284. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_c.js +0 -4
  285. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_d.js +0 -7
  286. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_e.js +0 -4
  287. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_f.js +0 -5
  288. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag.svg +0 -24
  289. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_d.svg +0 -24
  290. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_sel.svg +0 -31
  291. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_seld.svg +0 -31
  292. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_0.js +0 -4
  293. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_1.js +0 -4
  294. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_10.js +0 -4
  295. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_2.js +0 -5
  296. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_3.js +0 -4
  297. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_4.js +0 -6
  298. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_5.js +0 -4
  299. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_6.js +0 -4
  300. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_7.js +0 -7
  301. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_8.js +0 -6
  302. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_9.js +0 -4
  303. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_a.js +0 -5
  304. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_b.js +0 -5
  305. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_c.js +0 -4
  306. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_d.js +0 -6
  307. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_e.js +0 -6
  308. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_f.js +0 -4
  309. data/glfw-3.3.9.bin.MACOS/docs/html/search/search.css +0 -291
  310. data/glfw-3.3.9.bin.MACOS/docs/html/search/search.js +0 -840
  311. data/glfw-3.3.9.bin.MACOS/docs/html/search/searchdata.js +0 -39
  312. data/glfw-3.3.9.bin.MACOS/docs/html/search/typedefs_0.js +0 -32
  313. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_0.js +0 -4
  314. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_1.js +0 -6
  315. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_2.js +0 -5
  316. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_3.js +0 -4
  317. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_4.js +0 -4
  318. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_5.js +0 -6
  319. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_6.js +0 -4
  320. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_7.js +0 -4
  321. data/glfw-3.3.9.bin.MACOS/docs/html/spaces.svg +0 -877
  322. data/glfw-3.3.9.bin.MACOS/docs/html/splitbar.png +0 -0
  323. data/glfw-3.3.9.bin.MACOS/docs/html/splitbard.png +0 -0
  324. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
  325. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgammaramp.html +0 -170
  326. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wimage.html +0 -151
  327. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wvidmode.html +0 -204
  328. data/glfw-3.3.9.bin.MACOS/docs/html/sync_off.png +0 -0
  329. data/glfw-3.3.9.bin.MACOS/docs/html/sync_on.png +0 -0
  330. data/glfw-3.3.9.bin.MACOS/docs/html/tab_a.png +0 -0
  331. data/glfw-3.3.9.bin.MACOS/docs/html/tab_ad.png +0 -0
  332. data/glfw-3.3.9.bin.MACOS/docs/html/tab_b.png +0 -0
  333. data/glfw-3.3.9.bin.MACOS/docs/html/tab_bd.png +0 -0
  334. data/glfw-3.3.9.bin.MACOS/docs/html/tab_h.png +0 -0
  335. data/glfw-3.3.9.bin.MACOS/docs/html/tab_hd.png +0 -0
  336. data/glfw-3.3.9.bin.MACOS/docs/html/tab_s.png +0 -0
  337. data/glfw-3.3.9.bin.MACOS/docs/html/tab_sd.png +0 -0
  338. data/glfw-3.3.9.bin.MACOS/docs/html/tabs.css +0 -1
  339. data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_8dox.html +0 -81
  340. data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_guide.html +0 -196
  341. data/glfw-3.3.9.bin.MACOS/docs/html/window_8dox.html +0 -81
  342. data/glfw-3.3.9.bin.MACOS/docs/html/window_guide.html +0 -763
  343. data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3.h +0 -5932
  344. data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3native.h +0 -634
  345. data/glfw-3.3.9.bin.MACOS/lib-arm64/libglfw3.a +0 -0
  346. data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw.3.dylib +0 -0
  347. data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw3.a +0 -0
  348. data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw.3.dylib +0 -0
  349. data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw3.a +0 -0
  350. data/glfw-3.4.bin.WIN64/README.md +0 -70
  351. data/glfw-3.4.bin.WIN64/docs/html/bc_s.png +0 -0
  352. data/glfw-3.4.bin.WIN64/docs/html/bc_sd.png +0 -0
  353. data/glfw-3.4.bin.WIN64/docs/html/build_8md.html +0 -81
  354. data/glfw-3.4.bin.WIN64/docs/html/build_guide.html +0 -217
  355. data/glfw-3.4.bin.WIN64/docs/html/closed.png +0 -0
  356. data/glfw-3.4.bin.WIN64/docs/html/compat_8md.html +0 -81
  357. data/glfw-3.4.bin.WIN64/docs/html/compat_guide.html +0 -156
  358. data/glfw-3.4.bin.WIN64/docs/html/compile_8md.html +0 -81
  359. data/glfw-3.4.bin.WIN64/docs/html/compile_guide.html +0 -219
  360. data/glfw-3.4.bin.WIN64/docs/html/context_8md.html +0 -81
  361. data/glfw-3.4.bin.WIN64/docs/html/context_guide.html +0 -258
  362. data/glfw-3.4.bin.WIN64/docs/html/deprecated.html +0 -88
  363. data/glfw-3.4.bin.WIN64/docs/html/dir_13577e2d8b9423099662de029791bd7d.html +0 -93
  364. data/glfw-3.4.bin.WIN64/docs/html/dir_7f92719a7fe62e5b064f87d7a3c220b1.html +0 -95
  365. data/glfw-3.4.bin.WIN64/docs/html/dir_a788ef6c2b1e5b367804e0b6ccfd6f11.html +0 -85
  366. data/glfw-3.4.bin.WIN64/docs/html/dir_b11153cd0f4fd04a7564cc166f482635.html +0 -91
  367. data/glfw-3.4.bin.WIN64/docs/html/doc.svg +0 -12
  368. data/glfw-3.4.bin.WIN64/docs/html/docd.svg +0 -12
  369. data/glfw-3.4.bin.WIN64/docs/html/doxygen.css +0 -1685
  370. data/glfw-3.4.bin.WIN64/docs/html/doxygen.svg +0 -28
  371. data/glfw-3.4.bin.WIN64/docs/html/dynsections.js +0 -192
  372. data/glfw-3.4.bin.WIN64/docs/html/extra.css +0 -2
  373. data/glfw-3.4.bin.WIN64/docs/html/files.html +0 -91
  374. data/glfw-3.4.bin.WIN64/docs/html/folderclosed.svg +0 -11
  375. data/glfw-3.4.bin.WIN64/docs/html/folderclosedd.svg +0 -11
  376. data/glfw-3.4.bin.WIN64/docs/html/folderopen.svg +0 -17
  377. data/glfw-3.4.bin.WIN64/docs/html/folderopend.svg +0 -12
  378. data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h.html +0 -1910
  379. data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h_source.html +0 -1260
  380. data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h.html +0 -170
  381. data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h_source.html +0 -306
  382. data/glfw-3.4.bin.WIN64/docs/html/group__buttons.html +0 -282
  383. data/glfw-3.4.bin.WIN64/docs/html/group__context.html +0 -304
  384. data/glfw-3.4.bin.WIN64/docs/html/group__errors.html +0 -384
  385. data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__axes.html +0 -202
  386. data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__buttons.html +0 -410
  387. data/glfw-3.4.bin.WIN64/docs/html/group__hat__state.html +0 -234
  388. data/glfw-3.4.bin.WIN64/docs/html/group__init.html +0 -1015
  389. data/glfw-3.4.bin.WIN64/docs/html/group__input.html +0 -2285
  390. data/glfw-3.4.bin.WIN64/docs/html/group__joysticks.html +0 -362
  391. data/glfw-3.4.bin.WIN64/docs/html/group__keys.html +0 -2034
  392. data/glfw-3.4.bin.WIN64/docs/html/group__mods.html +0 -198
  393. data/glfw-3.4.bin.WIN64/docs/html/group__monitor.html +0 -849
  394. data/glfw-3.4.bin.WIN64/docs/html/group__native.html +0 -837
  395. data/glfw-3.4.bin.WIN64/docs/html/group__shapes.html +0 -337
  396. data/glfw-3.4.bin.WIN64/docs/html/group__vulkan.html +0 -361
  397. data/glfw-3.4.bin.WIN64/docs/html/group__window.html +0 -3608
  398. data/glfw-3.4.bin.WIN64/docs/html/index.html +0 -100
  399. data/glfw-3.4.bin.WIN64/docs/html/input_8md.html +0 -81
  400. data/glfw-3.4.bin.WIN64/docs/html/input_guide.html +0 -576
  401. data/glfw-3.4.bin.WIN64/docs/html/internal_8md.html +0 -81
  402. data/glfw-3.4.bin.WIN64/docs/html/internals_guide.html +0 -135
  403. data/glfw-3.4.bin.WIN64/docs/html/intro_8md.html +0 -81
  404. data/glfw-3.4.bin.WIN64/docs/html/intro_guide.html +0 -429
  405. data/glfw-3.4.bin.WIN64/docs/html/jquery.js +0 -34
  406. data/glfw-3.4.bin.WIN64/docs/html/main_8md.html +0 -81
  407. data/glfw-3.4.bin.WIN64/docs/html/menu.js +0 -136
  408. data/glfw-3.4.bin.WIN64/docs/html/menudata.js +0 -30
  409. data/glfw-3.4.bin.WIN64/docs/html/minus.svg +0 -8
  410. data/glfw-3.4.bin.WIN64/docs/html/minusd.svg +0 -8
  411. data/glfw-3.4.bin.WIN64/docs/html/monitor_8md.html +0 -81
  412. data/glfw-3.4.bin.WIN64/docs/html/monitor_guide.html +0 -228
  413. data/glfw-3.4.bin.WIN64/docs/html/moving_8md.html +0 -81
  414. data/glfw-3.4.bin.WIN64/docs/html/moving_guide.html +0 -360
  415. data/glfw-3.4.bin.WIN64/docs/html/nav_f.png +0 -0
  416. data/glfw-3.4.bin.WIN64/docs/html/nav_fd.png +0 -0
  417. data/glfw-3.4.bin.WIN64/docs/html/nav_g.png +0 -0
  418. data/glfw-3.4.bin.WIN64/docs/html/nav_h.png +0 -0
  419. data/glfw-3.4.bin.WIN64/docs/html/nav_hd.png +0 -0
  420. data/glfw-3.4.bin.WIN64/docs/html/news.html +0 -336
  421. data/glfw-3.4.bin.WIN64/docs/html/news_8md.html +0 -81
  422. data/glfw-3.4.bin.WIN64/docs/html/open.png +0 -0
  423. data/glfw-3.4.bin.WIN64/docs/html/pages.html +0 -99
  424. data/glfw-3.4.bin.WIN64/docs/html/plus.svg +0 -9
  425. data/glfw-3.4.bin.WIN64/docs/html/plusd.svg +0 -9
  426. data/glfw-3.4.bin.WIN64/docs/html/quick_8md.html +0 -81
  427. data/glfw-3.4.bin.WIN64/docs/html/quick_guide.html +0 -406
  428. data/glfw-3.4.bin.WIN64/docs/html/search/all_0.js +0 -4
  429. data/glfw-3.4.bin.WIN64/docs/html/search/all_1.js +0 -4
  430. data/glfw-3.4.bin.WIN64/docs/html/search/all_10.js +0 -13
  431. data/glfw-3.4.bin.WIN64/docs/html/search/all_11.js +0 -11
  432. data/glfw-3.4.bin.WIN64/docs/html/search/all_12.js +0 -26
  433. data/glfw-3.4.bin.WIN64/docs/html/search/all_13.js +0 -51
  434. data/glfw-3.4.bin.WIN64/docs/html/search/all_14.js +0 -22
  435. data/glfw-3.4.bin.WIN64/docs/html/search/all_15.js +0 -35
  436. data/glfw-3.4.bin.WIN64/docs/html/search/all_16.js +0 -29
  437. data/glfw-3.4.bin.WIN64/docs/html/search/all_17.js +0 -8
  438. data/glfw-3.4.bin.WIN64/docs/html/search/all_18.js +0 -44
  439. data/glfw-3.4.bin.WIN64/docs/html/search/all_19.js +0 -60
  440. data/glfw-3.4.bin.WIN64/docs/html/search/all_1a.js +0 -39
  441. data/glfw-3.4.bin.WIN64/docs/html/search/all_1b.js +0 -8
  442. data/glfw-3.4.bin.WIN64/docs/html/search/all_1c.js +0 -32
  443. data/glfw-3.4.bin.WIN64/docs/html/search/all_1d.js +0 -84
  444. data/glfw-3.4.bin.WIN64/docs/html/search/all_1e.js +0 -13
  445. data/glfw-3.4.bin.WIN64/docs/html/search/all_1f.js +0 -4
  446. data/glfw-3.4.bin.WIN64/docs/html/search/all_2.js +0 -5
  447. data/glfw-3.4.bin.WIN64/docs/html/search/all_3.js +0 -4
  448. data/glfw-3.4.bin.WIN64/docs/html/search/all_4.js +0 -4
  449. data/glfw-3.4.bin.WIN64/docs/html/search/all_5.js +0 -4
  450. data/glfw-3.4.bin.WIN64/docs/html/search/all_6.js +0 -4
  451. data/glfw-3.4.bin.WIN64/docs/html/search/all_7.js +0 -58
  452. data/glfw-3.4.bin.WIN64/docs/html/search/all_8.js +0 -21
  453. data/glfw-3.4.bin.WIN64/docs/html/search/all_9.js +0 -82
  454. data/glfw-3.4.bin.WIN64/docs/html/search/all_a.js +0 -20
  455. data/glfw-3.4.bin.WIN64/docs/html/search/all_b.js +0 -26
  456. data/glfw-3.4.bin.WIN64/docs/html/search/all_c.js +0 -35
  457. data/glfw-3.4.bin.WIN64/docs/html/search/all_d.js +0 -555
  458. data/glfw-3.4.bin.WIN64/docs/html/search/all_e.js +0 -23
  459. data/glfw-3.4.bin.WIN64/docs/html/search/all_f.js +0 -40
  460. data/glfw-3.4.bin.WIN64/docs/html/search/classes_0.js +0 -8
  461. data/glfw-3.4.bin.WIN64/docs/html/search/close.svg +0 -18
  462. data/glfw-3.4.bin.WIN64/docs/html/search/defines_0.js +0 -43
  463. data/glfw-3.4.bin.WIN64/docs/html/search/files_0.js +0 -4
  464. data/glfw-3.4.bin.WIN64/docs/html/search/files_1.js +0 -6
  465. data/glfw-3.4.bin.WIN64/docs/html/search/files_2.js +0 -5
  466. data/glfw-3.4.bin.WIN64/docs/html/search/files_3.js +0 -6
  467. data/glfw-3.4.bin.WIN64/docs/html/search/files_4.js +0 -6
  468. data/glfw-3.4.bin.WIN64/docs/html/search/files_5.js +0 -4
  469. data/glfw-3.4.bin.WIN64/docs/html/search/files_6.js +0 -4
  470. data/glfw-3.4.bin.WIN64/docs/html/search/files_7.js +0 -4
  471. data/glfw-3.4.bin.WIN64/docs/html/search/files_8.js +0 -4
  472. data/glfw-3.4.bin.WIN64/docs/html/search/functions_0.js +0 -152
  473. data/glfw-3.4.bin.WIN64/docs/html/search/groups_0.js +0 -6
  474. data/glfw-3.4.bin.WIN64/docs/html/search/groups_1.js +0 -4
  475. data/glfw-3.4.bin.WIN64/docs/html/search/groups_10.js +0 -4
  476. data/glfw-3.4.bin.WIN64/docs/html/search/groups_2.js +0 -6
  477. data/glfw-3.4.bin.WIN64/docs/html/search/groups_3.js +0 -5
  478. data/glfw-3.4.bin.WIN64/docs/html/search/groups_4.js +0 -4
  479. data/glfw-3.4.bin.WIN64/docs/html/search/groups_5.js +0 -5
  480. data/glfw-3.4.bin.WIN64/docs/html/search/groups_6.js +0 -4
  481. data/glfw-3.4.bin.WIN64/docs/html/search/groups_7.js +0 -5
  482. data/glfw-3.4.bin.WIN64/docs/html/search/groups_8.js +0 -5
  483. data/glfw-3.4.bin.WIN64/docs/html/search/groups_9.js +0 -6
  484. data/glfw-3.4.bin.WIN64/docs/html/search/groups_a.js +0 -6
  485. data/glfw-3.4.bin.WIN64/docs/html/search/groups_b.js +0 -4
  486. data/glfw-3.4.bin.WIN64/docs/html/search/groups_c.js +0 -4
  487. data/glfw-3.4.bin.WIN64/docs/html/search/groups_d.js +0 -7
  488. data/glfw-3.4.bin.WIN64/docs/html/search/groups_e.js +0 -4
  489. data/glfw-3.4.bin.WIN64/docs/html/search/groups_f.js +0 -5
  490. data/glfw-3.4.bin.WIN64/docs/html/search/mag.svg +0 -24
  491. data/glfw-3.4.bin.WIN64/docs/html/search/mag_d.svg +0 -24
  492. data/glfw-3.4.bin.WIN64/docs/html/search/mag_sel.svg +0 -31
  493. data/glfw-3.4.bin.WIN64/docs/html/search/mag_seld.svg +0 -31
  494. data/glfw-3.4.bin.WIN64/docs/html/search/pages_0.js +0 -4
  495. data/glfw-3.4.bin.WIN64/docs/html/search/pages_1.js +0 -5
  496. data/glfw-3.4.bin.WIN64/docs/html/search/pages_10.js +0 -5
  497. data/glfw-3.4.bin.WIN64/docs/html/search/pages_11.js +0 -4
  498. data/glfw-3.4.bin.WIN64/docs/html/search/pages_2.js +0 -4
  499. data/glfw-3.4.bin.WIN64/docs/html/search/pages_3.js +0 -5
  500. data/glfw-3.4.bin.WIN64/docs/html/search/pages_4.js +0 -4
  501. data/glfw-3.4.bin.WIN64/docs/html/search/pages_5.js +0 -6
  502. data/glfw-3.4.bin.WIN64/docs/html/search/pages_6.js +0 -4
  503. data/glfw-3.4.bin.WIN64/docs/html/search/pages_7.js +0 -5
  504. data/glfw-3.4.bin.WIN64/docs/html/search/pages_8.js +0 -7
  505. data/glfw-3.4.bin.WIN64/docs/html/search/pages_9.js +0 -7
  506. data/glfw-3.4.bin.WIN64/docs/html/search/pages_a.js +0 -4
  507. data/glfw-3.4.bin.WIN64/docs/html/search/pages_b.js +0 -5
  508. data/glfw-3.4.bin.WIN64/docs/html/search/pages_c.js +0 -4
  509. data/glfw-3.4.bin.WIN64/docs/html/search/pages_d.js +0 -4
  510. data/glfw-3.4.bin.WIN64/docs/html/search/pages_e.js +0 -6
  511. data/glfw-3.4.bin.WIN64/docs/html/search/pages_f.js +0 -6
  512. data/glfw-3.4.bin.WIN64/docs/html/search/search.css +0 -291
  513. data/glfw-3.4.bin.WIN64/docs/html/search/search.js +0 -840
  514. data/glfw-3.4.bin.WIN64/docs/html/search/searchdata.js +0 -39
  515. data/glfw-3.4.bin.WIN64/docs/html/search/typedefs_0.js +0 -36
  516. data/glfw-3.4.bin.WIN64/docs/html/search/variables_0.js +0 -5
  517. data/glfw-3.4.bin.WIN64/docs/html/search/variables_1.js +0 -6
  518. data/glfw-3.4.bin.WIN64/docs/html/search/variables_2.js +0 -4
  519. data/glfw-3.4.bin.WIN64/docs/html/search/variables_3.js +0 -5
  520. data/glfw-3.4.bin.WIN64/docs/html/search/variables_4.js +0 -4
  521. data/glfw-3.4.bin.WIN64/docs/html/search/variables_5.js +0 -4
  522. data/glfw-3.4.bin.WIN64/docs/html/search/variables_6.js +0 -7
  523. data/glfw-3.4.bin.WIN64/docs/html/search/variables_7.js +0 -4
  524. data/glfw-3.4.bin.WIN64/docs/html/search/variables_8.js +0 -4
  525. data/glfw-3.4.bin.WIN64/docs/html/search/variables_9.js +0 -4
  526. data/glfw-3.4.bin.WIN64/docs/html/spaces.svg +0 -877
  527. data/glfw-3.4.bin.WIN64/docs/html/splitbar.png +0 -0
  528. data/glfw-3.4.bin.WIN64/docs/html/splitbard.png +0 -0
  529. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wallocator.html +0 -168
  530. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
  531. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgammaramp.html +0 -170
  532. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wimage.html +0 -151
  533. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wvidmode.html +0 -204
  534. data/glfw-3.4.bin.WIN64/docs/html/sync_off.png +0 -0
  535. data/glfw-3.4.bin.WIN64/docs/html/sync_on.png +0 -0
  536. data/glfw-3.4.bin.WIN64/docs/html/tab_a.png +0 -0
  537. data/glfw-3.4.bin.WIN64/docs/html/tab_ad.png +0 -0
  538. data/glfw-3.4.bin.WIN64/docs/html/tab_b.png +0 -0
  539. data/glfw-3.4.bin.WIN64/docs/html/tab_bd.png +0 -0
  540. data/glfw-3.4.bin.WIN64/docs/html/tab_h.png +0 -0
  541. data/glfw-3.4.bin.WIN64/docs/html/tab_hd.png +0 -0
  542. data/glfw-3.4.bin.WIN64/docs/html/tab_s.png +0 -0
  543. data/glfw-3.4.bin.WIN64/docs/html/tab_sd.png +0 -0
  544. data/glfw-3.4.bin.WIN64/docs/html/tabs.css +0 -1
  545. data/glfw-3.4.bin.WIN64/docs/html/topics.html +0 -101
  546. data/glfw-3.4.bin.WIN64/docs/html/vulkan_8md.html +0 -81
  547. data/glfw-3.4.bin.WIN64/docs/html/vulkan_guide.html +0 -206
  548. data/glfw-3.4.bin.WIN64/docs/html/window_8md.html +0 -81
  549. data/glfw-3.4.bin.WIN64/docs/html/window_guide.html +0 -806
  550. data/glfw-3.4.bin.WIN64/include/GLFW/glfw3.h +0 -6547
  551. data/glfw-3.4.bin.WIN64/include/GLFW/glfw3native.h +0 -663
  552. data/glfw-3.4.bin.WIN64/lib-mingw-w64/glfw3.dll +0 -0
  553. data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3.a +0 -0
  554. data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3dll.a +0 -0
  555. data/glfw-3.4.bin.WIN64/lib-static-ucrt/glfw3dll.lib +0 -0
  556. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.dll +0 -0
  557. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.lib +0 -0
  558. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3_mt.lib +0 -0
  559. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3dll.lib +0 -0
  560. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.dll +0 -0
  561. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.lib +0 -0
  562. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3_mt.lib +0 -0
  563. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3dll.lib +0 -0
  564. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.dll +0 -0
  565. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.lib +0 -0
  566. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3_mt.lib +0 -0
  567. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3dll.lib +0 -0
  568. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.dll +0 -0
  569. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.lib +0 -0
  570. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3_mt.lib +0 -0
  571. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3dll.lib +0 -0
  572. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.dll +0 -0
  573. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.lib +0 -0
  574. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3_mt.lib +0 -0
  575. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3dll.lib +0 -0
  576. data/lib/engine/components/font_renderer.rb +0 -134
  577. data/lib/engine/components/mesh_renderer.rb +0 -31
  578. data/lib/engine/components/sprite_renderer.rb +0 -141
  579. data/lib/engine/components/ui_font_renderer.rb +0 -140
  580. data/lib/engine/components/ui_sprite_clickbox.rb +0 -62
  581. data/lib/engine/components/ui_sprite_renderer.rb +0 -101
  582. data/lib/engine/shaders/skybox_frag.glsl +0 -12
  583. /data/{glfw-3.4.bin.WIN64 → vendor/glfw-3.3.9.bin.MACOS}/LICENSE.md +0 -0
  584. /data/{glfw-3.4.bin.WIN64 → vendor/glfw-3.4.bin.WIN64}/lib-static-ucrt/glfw3.dll +0 -0
@@ -1,840 +0,0 @@
1
- /*
2
- @licstart The following is the entire license notice for the JavaScript code in this file.
3
-
4
- The MIT License (MIT)
5
-
6
- Copyright (C) 1997-2020 by Dimitri van Heesch
7
-
8
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
9
- and associated documentation files (the "Software"), to deal in the Software without restriction,
10
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
11
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
12
- furnished to do so, subject to the following conditions:
13
-
14
- The above copyright notice and this permission notice shall be included in all copies or
15
- substantial portions of the Software.
16
-
17
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
18
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
20
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
-
23
- @licend The above is the entire license notice for the JavaScript code in this file
24
- */
25
- function convertToId(search)
26
- {
27
- var result = '';
28
- for (i=0;i<search.length;i++)
29
- {
30
- var c = search.charAt(i);
31
- var cn = c.charCodeAt(0);
32
- if (c.match(/[a-z0-9\u0080-\uFFFF]/))
33
- {
34
- result+=c;
35
- }
36
- else if (cn<16)
37
- {
38
- result+="_0"+cn.toString(16);
39
- }
40
- else
41
- {
42
- result+="_"+cn.toString(16);
43
- }
44
- }
45
- return result;
46
- }
47
-
48
- function getXPos(item)
49
- {
50
- var x = 0;
51
- if (item.offsetWidth)
52
- {
53
- while (item && item!=document.body)
54
- {
55
- x += item.offsetLeft;
56
- item = item.offsetParent;
57
- }
58
- }
59
- return x;
60
- }
61
-
62
- function getYPos(item)
63
- {
64
- var y = 0;
65
- if (item.offsetWidth)
66
- {
67
- while (item && item!=document.body)
68
- {
69
- y += item.offsetTop;
70
- item = item.offsetParent;
71
- }
72
- }
73
- return y;
74
- }
75
-
76
- var searchResults = new SearchResults("searchResults");
77
-
78
- /* A class handling everything associated with the search panel.
79
-
80
- Parameters:
81
- name - The name of the global variable that will be
82
- storing this instance. Is needed to be able to set timeouts.
83
- resultPath - path to use for external files
84
- */
85
- function SearchBox(name, resultsPath, extension)
86
- {
87
- if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
88
- if (!extension || extension == "") { extension = ".html"; }
89
-
90
- // ---------- Instance variables
91
- this.name = name;
92
- this.resultsPath = resultsPath;
93
- this.keyTimeout = 0;
94
- this.keyTimeoutLength = 500;
95
- this.closeSelectionTimeout = 300;
96
- this.lastSearchValue = "";
97
- this.lastResultsPage = "";
98
- this.hideTimeout = 0;
99
- this.searchIndex = 0;
100
- this.searchActive = false;
101
- this.extension = extension;
102
-
103
- // ----------- DOM Elements
104
-
105
- this.DOMSearchField = function()
106
- { return document.getElementById("MSearchField"); }
107
-
108
- this.DOMSearchSelect = function()
109
- { return document.getElementById("MSearchSelect"); }
110
-
111
- this.DOMSearchSelectWindow = function()
112
- { return document.getElementById("MSearchSelectWindow"); }
113
-
114
- this.DOMPopupSearchResults = function()
115
- { return document.getElementById("MSearchResults"); }
116
-
117
- this.DOMPopupSearchResultsWindow = function()
118
- { return document.getElementById("MSearchResultsWindow"); }
119
-
120
- this.DOMSearchClose = function()
121
- { return document.getElementById("MSearchClose"); }
122
-
123
- this.DOMSearchBox = function()
124
- { return document.getElementById("MSearchBox"); }
125
-
126
- // ------------ Event Handlers
127
-
128
- // Called when focus is added or removed from the search field.
129
- this.OnSearchFieldFocus = function(isActive)
130
- {
131
- this.Activate(isActive);
132
- }
133
-
134
- this.OnSearchSelectShow = function()
135
- {
136
- var searchSelectWindow = this.DOMSearchSelectWindow();
137
- var searchField = this.DOMSearchSelect();
138
-
139
- var left = getXPos(searchField);
140
- var top = getYPos(searchField);
141
- top += searchField.offsetHeight;
142
-
143
- // show search selection popup
144
- searchSelectWindow.style.display='block';
145
- searchSelectWindow.style.left = left + 'px';
146
- searchSelectWindow.style.top = top + 'px';
147
-
148
- // stop selection hide timer
149
- if (this.hideTimeout)
150
- {
151
- clearTimeout(this.hideTimeout);
152
- this.hideTimeout=0;
153
- }
154
- return false; // to avoid "image drag" default event
155
- }
156
-
157
- this.OnSearchSelectHide = function()
158
- {
159
- this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
160
- this.closeSelectionTimeout);
161
- }
162
-
163
- // Called when the content of the search field is changed.
164
- this.OnSearchFieldChange = function(evt)
165
- {
166
- if (this.keyTimeout) // kill running timer
167
- {
168
- clearTimeout(this.keyTimeout);
169
- this.keyTimeout = 0;
170
- }
171
-
172
- var e = (evt) ? evt : window.event; // for IE
173
- if (e.keyCode==40 || e.keyCode==13)
174
- {
175
- if (e.shiftKey==1)
176
- {
177
- this.OnSearchSelectShow();
178
- var win=this.DOMSearchSelectWindow();
179
- for (i=0;i<win.childNodes.length;i++)
180
- {
181
- var child = win.childNodes[i]; // get span within a
182
- if (child.className=='SelectItem')
183
- {
184
- child.focus();
185
- return;
186
- }
187
- }
188
- return;
189
- }
190
- else
191
- {
192
- var elem = searchResults.NavNext(0);
193
- if (elem) elem.focus();
194
- }
195
- }
196
- else if (e.keyCode==27) // Escape out of the search field
197
- {
198
- e.stopPropagation();
199
- this.DOMSearchField().blur();
200
- this.DOMPopupSearchResultsWindow().style.display = 'none';
201
- this.DOMSearchClose().style.display = 'none';
202
- this.lastSearchValue = '';
203
- this.Activate(false);
204
- return;
205
- }
206
-
207
- // strip whitespaces
208
- var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
209
-
210
- if (searchValue != this.lastSearchValue) // search value has changed
211
- {
212
- if (searchValue != "") // non-empty search
213
- {
214
- // set timer for search update
215
- this.keyTimeout = setTimeout(this.Search.bind(this),
216
- this.keyTimeoutLength);
217
- }
218
- else // empty search field
219
- {
220
- this.DOMPopupSearchResultsWindow().style.display = 'none';
221
- this.DOMSearchClose().style.display = 'none';
222
- this.lastSearchValue = '';
223
- }
224
- }
225
- }
226
-
227
- this.SelectItemCount = function(id)
228
- {
229
- var count=0;
230
- var win=this.DOMSearchSelectWindow();
231
- for (i=0;i<win.childNodes.length;i++)
232
- {
233
- var child = win.childNodes[i]; // get span within a
234
- if (child.className=='SelectItem')
235
- {
236
- count++;
237
- }
238
- }
239
- return count;
240
- }
241
-
242
- this.SelectItemSet = function(id)
243
- {
244
- var i,j=0;
245
- var win=this.DOMSearchSelectWindow();
246
- for (i=0;i<win.childNodes.length;i++)
247
- {
248
- var child = win.childNodes[i]; // get span within a
249
- if (child.className=='SelectItem')
250
- {
251
- var node = child.firstChild;
252
- if (j==id)
253
- {
254
- node.innerHTML='&#8226;';
255
- }
256
- else
257
- {
258
- node.innerHTML='&#160;';
259
- }
260
- j++;
261
- }
262
- }
263
- }
264
-
265
- // Called when an search filter selection is made.
266
- // set item with index id as the active item
267
- this.OnSelectItem = function(id)
268
- {
269
- this.searchIndex = id;
270
- this.SelectItemSet(id);
271
- var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
272
- if (searchValue!="" && this.searchActive) // something was found -> do a search
273
- {
274
- this.Search();
275
- }
276
- }
277
-
278
- this.OnSearchSelectKey = function(evt)
279
- {
280
- var e = (evt) ? evt : window.event; // for IE
281
- if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
282
- {
283
- this.searchIndex++;
284
- this.OnSelectItem(this.searchIndex);
285
- }
286
- else if (e.keyCode==38 && this.searchIndex>0) // Up
287
- {
288
- this.searchIndex--;
289
- this.OnSelectItem(this.searchIndex);
290
- }
291
- else if (e.keyCode==13 || e.keyCode==27)
292
- {
293
- e.stopPropagation();
294
- this.OnSelectItem(this.searchIndex);
295
- this.CloseSelectionWindow();
296
- this.DOMSearchField().focus();
297
- }
298
- return false;
299
- }
300
-
301
- // --------- Actions
302
-
303
- // Closes the results window.
304
- this.CloseResultsWindow = function()
305
- {
306
- this.DOMPopupSearchResultsWindow().style.display = 'none';
307
- this.DOMSearchClose().style.display = 'none';
308
- this.Activate(false);
309
- }
310
-
311
- this.CloseSelectionWindow = function()
312
- {
313
- this.DOMSearchSelectWindow().style.display = 'none';
314
- }
315
-
316
- // Performs a search.
317
- this.Search = function()
318
- {
319
- this.keyTimeout = 0;
320
-
321
- // strip leading whitespace
322
- var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
323
-
324
- var code = searchValue.toLowerCase().charCodeAt(0);
325
- var idxChar = searchValue.substr(0, 1).toLowerCase();
326
- if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
327
- {
328
- idxChar = searchValue.substr(0, 2);
329
- }
330
-
331
- var jsFile;
332
-
333
- var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
334
- if (idx!=-1)
335
- {
336
- var hexCode=idx.toString(16);
337
- jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
338
- }
339
-
340
- var loadJS = function(url, impl, loc){
341
- var scriptTag = document.createElement('script');
342
- scriptTag.src = url;
343
- scriptTag.onload = impl;
344
- scriptTag.onreadystatechange = impl;
345
- loc.appendChild(scriptTag);
346
- }
347
-
348
- var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
349
- var domSearchBox = this.DOMSearchBox();
350
- var domPopupSearchResults = this.DOMPopupSearchResults();
351
- var domSearchClose = this.DOMSearchClose();
352
- var resultsPath = this.resultsPath;
353
-
354
- var handleResults = function() {
355
- document.getElementById("Loading").style.display="none";
356
- if (typeof searchData !== 'undefined') {
357
- createResults(resultsPath);
358
- document.getElementById("NoMatches").style.display="none";
359
- }
360
-
361
- if (idx!=-1) {
362
- searchResults.Search(searchValue);
363
- } else { // no file with search results => force empty search results
364
- searchResults.Search('====');
365
- }
366
-
367
- if (domPopupSearchResultsWindow.style.display!='block')
368
- {
369
- domSearchClose.style.display = 'inline-block';
370
- var left = getXPos(domSearchBox) + 150;
371
- var top = getYPos(domSearchBox) + 20;
372
- domPopupSearchResultsWindow.style.display = 'block';
373
- left -= domPopupSearchResults.offsetWidth;
374
- var maxWidth = document.body.clientWidth;
375
- var maxHeight = document.body.clientHeight;
376
- var width = 300;
377
- if (left<10) left=10;
378
- if (width+left+8>maxWidth) width=maxWidth-left-8;
379
- var height = 400;
380
- if (height+top+8>maxHeight) height=maxHeight-top-8;
381
- domPopupSearchResultsWindow.style.top = top + 'px';
382
- domPopupSearchResultsWindow.style.left = left + 'px';
383
- domPopupSearchResultsWindow.style.width = width + 'px';
384
- domPopupSearchResultsWindow.style.height = height + 'px';
385
- }
386
- }
387
-
388
- if (jsFile) {
389
- loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow());
390
- } else {
391
- handleResults();
392
- }
393
-
394
- this.lastSearchValue = searchValue;
395
- }
396
-
397
- // -------- Activation Functions
398
-
399
- // Activates or deactivates the search panel, resetting things to
400
- // their default values if necessary.
401
- this.Activate = function(isActive)
402
- {
403
- if (isActive || // open it
404
- this.DOMPopupSearchResultsWindow().style.display == 'block'
405
- )
406
- {
407
- this.DOMSearchBox().className = 'MSearchBoxActive';
408
- this.searchActive = true;
409
- }
410
- else if (!isActive) // directly remove the panel
411
- {
412
- this.DOMSearchBox().className = 'MSearchBoxInactive';
413
- this.searchActive = false;
414
- this.lastSearchValue = ''
415
- this.lastResultsPage = '';
416
- this.DOMSearchField().value = '';
417
- }
418
- }
419
- }
420
-
421
- // -----------------------------------------------------------------------
422
-
423
- // The class that handles everything on the search results page.
424
- function SearchResults(name)
425
- {
426
- // The number of matches from the last run of <Search()>.
427
- this.lastMatchCount = 0;
428
- this.lastKey = 0;
429
- this.repeatOn = false;
430
-
431
- // Toggles the visibility of the passed element ID.
432
- this.FindChildElement = function(id)
433
- {
434
- var parentElement = document.getElementById(id);
435
- var element = parentElement.firstChild;
436
-
437
- while (element && element!=parentElement)
438
- {
439
- if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
440
- {
441
- return element;
442
- }
443
-
444
- if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
445
- {
446
- element = element.firstChild;
447
- }
448
- else if (element.nextSibling)
449
- {
450
- element = element.nextSibling;
451
- }
452
- else
453
- {
454
- do
455
- {
456
- element = element.parentNode;
457
- }
458
- while (element && element!=parentElement && !element.nextSibling);
459
-
460
- if (element && element!=parentElement)
461
- {
462
- element = element.nextSibling;
463
- }
464
- }
465
- }
466
- }
467
-
468
- this.Toggle = function(id)
469
- {
470
- var element = this.FindChildElement(id);
471
- if (element)
472
- {
473
- if (element.style.display == 'block')
474
- {
475
- element.style.display = 'none';
476
- }
477
- else
478
- {
479
- element.style.display = 'block';
480
- }
481
- }
482
- }
483
-
484
- // Searches for the passed string. If there is no parameter,
485
- // it takes it from the URL query.
486
- //
487
- // Always returns true, since other documents may try to call it
488
- // and that may or may not be possible.
489
- this.Search = function(search)
490
- {
491
- if (!search) // get search word from URL
492
- {
493
- search = window.location.search;
494
- search = search.substring(1); // Remove the leading '?'
495
- search = unescape(search);
496
- }
497
-
498
- search = search.replace(/^ +/, ""); // strip leading spaces
499
- search = search.replace(/ +$/, ""); // strip trailing spaces
500
- search = search.toLowerCase();
501
- search = convertToId(search);
502
-
503
- var resultRows = document.getElementsByTagName("div");
504
- var matches = 0;
505
-
506
- var i = 0;
507
- while (i < resultRows.length)
508
- {
509
- var row = resultRows.item(i);
510
- if (row.className == "SRResult")
511
- {
512
- var rowMatchName = row.id.toLowerCase();
513
- rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
514
-
515
- if (search.length<=rowMatchName.length &&
516
- rowMatchName.substr(0, search.length)==search)
517
- {
518
- row.style.display = 'block';
519
- matches++;
520
- }
521
- else
522
- {
523
- row.style.display = 'none';
524
- }
525
- }
526
- i++;
527
- }
528
- document.getElementById("Searching").style.display='none';
529
- if (matches == 0) // no results
530
- {
531
- document.getElementById("NoMatches").style.display='block';
532
- }
533
- else // at least one result
534
- {
535
- document.getElementById("NoMatches").style.display='none';
536
- }
537
- this.lastMatchCount = matches;
538
- return true;
539
- }
540
-
541
- // return the first item with index index or higher that is visible
542
- this.NavNext = function(index)
543
- {
544
- var focusItem;
545
- while (1)
546
- {
547
- var focusName = 'Item'+index;
548
- focusItem = document.getElementById(focusName);
549
- if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
550
- {
551
- break;
552
- }
553
- else if (!focusItem) // last element
554
- {
555
- break;
556
- }
557
- focusItem=null;
558
- index++;
559
- }
560
- return focusItem;
561
- }
562
-
563
- this.NavPrev = function(index)
564
- {
565
- var focusItem;
566
- while (1)
567
- {
568
- var focusName = 'Item'+index;
569
- focusItem = document.getElementById(focusName);
570
- if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
571
- {
572
- break;
573
- }
574
- else if (!focusItem) // last element
575
- {
576
- break;
577
- }
578
- focusItem=null;
579
- index--;
580
- }
581
- return focusItem;
582
- }
583
-
584
- this.ProcessKeys = function(e)
585
- {
586
- if (e.type == "keydown")
587
- {
588
- this.repeatOn = false;
589
- this.lastKey = e.keyCode;
590
- }
591
- else if (e.type == "keypress")
592
- {
593
- if (!this.repeatOn)
594
- {
595
- if (this.lastKey) this.repeatOn = true;
596
- return false; // ignore first keypress after keydown
597
- }
598
- }
599
- else if (e.type == "keyup")
600
- {
601
- this.lastKey = 0;
602
- this.repeatOn = false;
603
- }
604
- return this.lastKey!=0;
605
- }
606
-
607
- this.Nav = function(evt,itemIndex)
608
- {
609
- var e = (evt) ? evt : window.event; // for IE
610
- if (e.keyCode==13) return true;
611
- if (!this.ProcessKeys(e)) return false;
612
-
613
- if (this.lastKey==38) // Up
614
- {
615
- var newIndex = itemIndex-1;
616
- var focusItem = this.NavPrev(newIndex);
617
- if (focusItem)
618
- {
619
- var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
620
- if (child && child.style.display == 'block') // children visible
621
- {
622
- var n=0;
623
- var tmpElem;
624
- while (1) // search for last child
625
- {
626
- tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
627
- if (tmpElem)
628
- {
629
- focusItem = tmpElem;
630
- }
631
- else // found it!
632
- {
633
- break;
634
- }
635
- n++;
636
- }
637
- }
638
- }
639
- if (focusItem)
640
- {
641
- focusItem.focus();
642
- }
643
- else // return focus to search field
644
- {
645
- document.getElementById("MSearchField").focus();
646
- }
647
- }
648
- else if (this.lastKey==40) // Down
649
- {
650
- var newIndex = itemIndex+1;
651
- var focusItem;
652
- var item = document.getElementById('Item'+itemIndex);
653
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
654
- if (elem && elem.style.display == 'block') // children visible
655
- {
656
- focusItem = document.getElementById('Item'+itemIndex+'_c0');
657
- }
658
- if (!focusItem) focusItem = this.NavNext(newIndex);
659
- if (focusItem) focusItem.focus();
660
- }
661
- else if (this.lastKey==39) // Right
662
- {
663
- var item = document.getElementById('Item'+itemIndex);
664
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
665
- if (elem) elem.style.display = 'block';
666
- }
667
- else if (this.lastKey==37) // Left
668
- {
669
- var item = document.getElementById('Item'+itemIndex);
670
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
671
- if (elem) elem.style.display = 'none';
672
- }
673
- else if (this.lastKey==27) // Escape
674
- {
675
- e.stopPropagation();
676
- searchBox.CloseResultsWindow();
677
- document.getElementById("MSearchField").focus();
678
- }
679
- else if (this.lastKey==13) // Enter
680
- {
681
- return true;
682
- }
683
- return false;
684
- }
685
-
686
- this.NavChild = function(evt,itemIndex,childIndex)
687
- {
688
- var e = (evt) ? evt : window.event; // for IE
689
- if (e.keyCode==13) return true;
690
- if (!this.ProcessKeys(e)) return false;
691
-
692
- if (this.lastKey==38) // Up
693
- {
694
- if (childIndex>0)
695
- {
696
- var newIndex = childIndex-1;
697
- document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
698
- }
699
- else // already at first child, jump to parent
700
- {
701
- document.getElementById('Item'+itemIndex).focus();
702
- }
703
- }
704
- else if (this.lastKey==40) // Down
705
- {
706
- var newIndex = childIndex+1;
707
- var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
708
- if (!elem) // last child, jump to parent next parent
709
- {
710
- elem = this.NavNext(itemIndex+1);
711
- }
712
- if (elem)
713
- {
714
- elem.focus();
715
- }
716
- }
717
- else if (this.lastKey==27) // Escape
718
- {
719
- e.stopPropagation();
720
- searchBox.CloseResultsWindow();
721
- document.getElementById("MSearchField").focus();
722
- }
723
- else if (this.lastKey==13) // Enter
724
- {
725
- return true;
726
- }
727
- return false;
728
- }
729
- }
730
-
731
- function setKeyActions(elem,action)
732
- {
733
- elem.setAttribute('onkeydown',action);
734
- elem.setAttribute('onkeypress',action);
735
- elem.setAttribute('onkeyup',action);
736
- }
737
-
738
- function setClassAttr(elem,attr)
739
- {
740
- elem.setAttribute('class',attr);
741
- elem.setAttribute('className',attr);
742
- }
743
-
744
- function createResults(resultsPath)
745
- {
746
- var results = document.getElementById("SRResults");
747
- results.innerHTML = '';
748
- for (var e=0; e<searchData.length; e++)
749
- {
750
- var id = searchData[e][0];
751
- var srResult = document.createElement('div');
752
- srResult.setAttribute('id','SR_'+id);
753
- setClassAttr(srResult,'SRResult');
754
- var srEntry = document.createElement('div');
755
- setClassAttr(srEntry,'SREntry');
756
- var srLink = document.createElement('a');
757
- srLink.setAttribute('id','Item'+e);
758
- setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
759
- setClassAttr(srLink,'SRSymbol');
760
- srLink.innerHTML = searchData[e][1][0];
761
- srEntry.appendChild(srLink);
762
- if (searchData[e][1].length==2) // single result
763
- {
764
- srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]);
765
- srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
766
- if (searchData[e][1][1][1])
767
- {
768
- srLink.setAttribute('target','_parent');
769
- }
770
- else
771
- {
772
- srLink.setAttribute('target','_blank');
773
- }
774
- var srScope = document.createElement('span');
775
- setClassAttr(srScope,'SRScope');
776
- srScope.innerHTML = searchData[e][1][1][2];
777
- srEntry.appendChild(srScope);
778
- }
779
- else // multiple results
780
- {
781
- srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
782
- var srChildren = document.createElement('div');
783
- setClassAttr(srChildren,'SRChildren');
784
- for (var c=0; c<searchData[e][1].length-1; c++)
785
- {
786
- var srChild = document.createElement('a');
787
- srChild.setAttribute('id','Item'+e+'_c'+c);
788
- setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
789
- setClassAttr(srChild,'SRScope');
790
- srChild.setAttribute('href',resultsPath+searchData[e][1][c+1][0]);
791
- srChild.setAttribute('onclick','searchBox.CloseResultsWindow()');
792
- if (searchData[e][1][c+1][1])
793
- {
794
- srChild.setAttribute('target','_parent');
795
- }
796
- else
797
- {
798
- srChild.setAttribute('target','_blank');
799
- }
800
- srChild.innerHTML = searchData[e][1][c+1][2];
801
- srChildren.appendChild(srChild);
802
- }
803
- srEntry.appendChild(srChildren);
804
- }
805
- srResult.appendChild(srEntry);
806
- results.appendChild(srResult);
807
- }
808
- }
809
-
810
- function init_search()
811
- {
812
- var results = document.getElementById("MSearchSelectWindow");
813
- results.tabIndex=0;
814
- for (var key in indexSectionLabels)
815
- {
816
- var link = document.createElement('a');
817
- link.setAttribute('class','SelectItem');
818
- link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
819
- link.href='javascript:void(0)';
820
- link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
821
- results.appendChild(link);
822
- }
823
- searchBox.OnSelectItem(0);
824
-
825
- var input = document.getElementById("MSearchSelect");
826
- var searchSelectWindow = document.getElementById("MSearchSelectWindow");
827
- input.tabIndex=0;
828
- input.addEventListener("keydown", function(event) {
829
- if (event.keyCode==13 || event.keyCode==40) {
830
- event.preventDefault();
831
- if (searchSelectWindow.style.display == 'block') {
832
- searchBox.CloseSelectionWindow();
833
- } else {
834
- searchBox.OnSearchSelectShow();
835
- searchBox.DOMSearchSelectWindow().focus();
836
- }
837
- }
838
- });
839
- }
840
- /* @license-end */