pixo 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 (1454) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +74 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +23 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +43 -0
  7. data/Rakefile +8 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/ext/CMakeLists.txt +35 -0
  11. data/ext/libpixgem/extconf.rb +29 -0
  12. data/ext/libpixgem/include/opengl.h +4 -0
  13. data/ext/libpixgem/src/application.cpp +135 -0
  14. data/ext/libpixgem/src/application.hpp +28 -0
  15. data/ext/libpixgem/src/camera.cpp +28 -0
  16. data/ext/libpixgem/src/camera.hpp +22 -0
  17. data/ext/libpixgem/src/fade_candy.cpp +32 -0
  18. data/ext/libpixgem/src/fade_candy.hpp +22 -0
  19. data/ext/libpixgem/src/gem.cpp +58 -0
  20. data/ext/libpixgem/src/holder.cpp +9 -0
  21. data/ext/libpixgem/src/holder.hpp +8 -0
  22. data/ext/libpixgem/src/pattern.cpp +57 -0
  23. data/ext/libpixgem/src/pattern.hpp +25 -0
  24. data/ext/pixo/CMakeLists.txt +57 -0
  25. data/ext/pixo/README.md +3 -0
  26. data/ext/pixo/ext/glew/CMakeLists.txt +118 -0
  27. data/ext/pixo/ext/glew/LICENSE.txt +73 -0
  28. data/ext/pixo/ext/glew/Makefile +347 -0
  29. data/ext/pixo/ext/glew/README.md +192 -0
  30. data/ext/pixo/ext/glew/auto/Makefile +357 -0
  31. data/ext/pixo/ext/glew/auto/bin/filter_gl_ext.sh +523 -0
  32. data/ext/pixo/ext/glew/auto/bin/filter_gles_ext.sh +19 -0
  33. data/ext/pixo/ext/glew/auto/bin/filter_spec.py +38 -0
  34. data/ext/pixo/ext/glew/auto/bin/make.pl +223 -0
  35. data/ext/pixo/ext/glew/auto/bin/make_def_fun.pl +35 -0
  36. data/ext/pixo/ext/glew/auto/bin/make_def_var.pl +31 -0
  37. data/ext/pixo/ext/glew/auto/bin/make_enable_index.pl +45 -0
  38. data/ext/pixo/ext/glew/auto/bin/make_header.pl +71 -0
  39. data/ext/pixo/ext/glew/auto/bin/make_html.pl +55 -0
  40. data/ext/pixo/ext/glew/auto/bin/make_index.pl +38 -0
  41. data/ext/pixo/ext/glew/auto/bin/make_info.pl +59 -0
  42. data/ext/pixo/ext/glew/auto/bin/make_info_list.pl +47 -0
  43. data/ext/pixo/ext/glew/auto/bin/make_init.pl +59 -0
  44. data/ext/pixo/ext/glew/auto/bin/make_initd.pl +43 -0
  45. data/ext/pixo/ext/glew/auto/bin/make_list.pl +73 -0
  46. data/ext/pixo/ext/glew/auto/bin/make_list2.pl +44 -0
  47. data/ext/pixo/ext/glew/auto/bin/make_str.pl +53 -0
  48. data/ext/pixo/ext/glew/auto/bin/make_struct_fun.pl +36 -0
  49. data/ext/pixo/ext/glew/auto/bin/make_struct_var.pl +31 -0
  50. data/ext/pixo/ext/glew/auto/bin/parse_spec.pl +393 -0
  51. data/ext/pixo/ext/glew/auto/bin/parse_xml.py +131 -0
  52. data/ext/pixo/ext/glew/auto/bin/update_ext.sh +25 -0
  53. data/ext/pixo/ext/glew/auto/blacklist +14 -0
  54. data/ext/pixo/ext/glew/auto/core/gl/GLX_AMD_gpu_association +23 -0
  55. data/ext/pixo/ext/glew/auto/core/gl/GLX_ARB_get_proc_address +5 -0
  56. data/ext/pixo/ext/glew/auto/core/gl/GLX_ATI_pixel_format_float +5 -0
  57. data/ext/pixo/ext/glew/auto/core/gl/GLX_ATI_render_texture +42 -0
  58. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_create_context_es2_profile +5 -0
  59. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_create_context_es_profile +5 -0
  60. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_fbconfig_packed_float +6 -0
  61. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_framebuffer_sRGB +5 -0
  62. data/ext/pixo/ext/glew/auto/core/gl/GLX_MESA_swap_control +6 -0
  63. data/ext/pixo/ext/glew/auto/core/gl/GLX_NV_float_buffer +5 -0
  64. data/ext/pixo/ext/glew/auto/core/gl/GLX_NV_vertex_array_range +6 -0
  65. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIS_shared_multisample +6 -0
  66. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIX_hyperpipe +26 -0
  67. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIX_swap_barrier +6 -0
  68. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIX_swap_group +5 -0
  69. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGI_video_sync +6 -0
  70. data/ext/pixo/ext/glew/auto/core/gl/GLX_SUN_video_resize +8 -0
  71. data/ext/pixo/ext/glew/auto/core/gl/GLX_VERSION_1_2 +5 -0
  72. data/ext/pixo/ext/glew/auto/core/gl/GLX_VERSION_1_3 +83 -0
  73. data/ext/pixo/ext/glew/auto/core/gl/GLX_VERSION_1_4 +7 -0
  74. data/ext/pixo/ext/glew/auto/core/gl/GL_APPLE_float_pixels +18 -0
  75. data/ext/pixo/ext/glew/auto/core/gl/GL_APPLE_pixel_buffer +5 -0
  76. data/ext/pixo/ext/glew/auto/core/gl/GL_APPLE_texture_range +13 -0
  77. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_draw_instanced +4 -0
  78. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_imaging +113 -0
  79. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_instanced_arrays +8 -0
  80. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_internalformat_query2 +104 -0
  81. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_matrix_palette +19 -0
  82. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_multitexture +73 -0
  83. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_robustness +31 -0
  84. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_separate_shader_objects +73 -0
  85. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_vertex_attrib_64bit +14 -0
  86. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_vertex_blend +56 -0
  87. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_point_sprites +10 -0
  88. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_texture_env_combine3 +7 -0
  89. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_texture_env_route +7 -0
  90. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_vertex_shader_output_point_size +5 -0
  91. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_envmap_bumpmap +16 -0
  92. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_map_object_buffer +6 -0
  93. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_pn_triangles +15 -0
  94. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_separate_stencil +10 -0
  95. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_shader_texture_lod +4 -0
  96. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_texture_compression_3dc +5 -0
  97. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_vertex_streams +59 -0
  98. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_Cg_shader +6 -0
  99. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_bindable_uniform +13 -0
  100. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_debug_marker +7 -0
  101. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_depth_bounds_test +7 -0
  102. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_draw_instanced +6 -0
  103. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_draw_range_elements +7 -0
  104. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_fog_coord +17 -0
  105. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_framebuffer_sRGB +6 -0
  106. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_geometry_shader4 +27 -0
  107. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_gpu_program_parameters +6 -0
  108. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_gpu_shader4 +64 -0
  109. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_packed_float +7 -0
  110. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_pixel_buffer_object +8 -0
  111. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_secondary_color +28 -0
  112. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_array +13 -0
  113. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_buffer_object +10 -0
  114. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_compression_latc +8 -0
  115. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_compression_rgtc +8 -0
  116. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_cube_map +16 -0
  117. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_edge_clamp +5 -0
  118. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_integer +57 -0
  119. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_rectangle +8 -0
  120. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_shared_exponent +7 -0
  121. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_timer_query +7 -0
  122. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_vertex_shader +157 -0
  123. data/ext/pixo/ext/glew/auto/core/gl/GL_KTX_buffer_region +13 -0
  124. data/ext/pixo/ext/glew/auto/core/gl/GL_NVX_gpu_memory_info +9 -0
  125. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_depth_buffer_float +11 -0
  126. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_depth_range_unclamped +9 -0
  127. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_fragment_program2 +9 -0
  128. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_fragment_program4 +4 -0
  129. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_fragment_program_option +4 -0
  130. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_framebuffer_multisample_coverage +9 -0
  131. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_geometry_program4 +8 -0
  132. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_geometry_shader4 +4 -0
  133. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_gpu_program4 +24 -0
  134. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_gpu_program5 +10 -0
  135. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_parameter_buffer_object +12 -0
  136. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_present_video +16 -0
  137. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_tessellation_program5 +9 -0
  138. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_transform_feedback +40 -0
  139. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vdpau_interop +19 -0
  140. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vertex_program2_option +6 -0
  141. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vertex_program3 +5 -0
  142. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vertex_program4 +5 -0
  143. data/ext/pixo/ext/glew/auto/core/gl/GL_SGIX_shadow +8 -0
  144. data/ext/pixo/ext/glew/auto/core/gl/GL_SUN_read_video_pixels +5 -0
  145. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_2 +50 -0
  146. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_2_1 +4 -0
  147. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_3 +147 -0
  148. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_4 +90 -0
  149. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_5 +75 -0
  150. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_2_0 +181 -0
  151. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_2_1 +33 -0
  152. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_0 +164 -0
  153. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_1 +42 -0
  154. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_2 +29 -0
  155. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_3 +7 -0
  156. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_0 +21 -0
  157. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_1 +3 -0
  158. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_2 +13 -0
  159. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_3 +6 -0
  160. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_4 +8 -0
  161. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_5 +9 -0
  162. data/ext/pixo/ext/glew/auto/core/gl/GL_WIN_swap_hint +5 -0
  163. data/ext/pixo/ext/glew/auto/core/gl/WGL_ARB_create_context +13 -0
  164. data/ext/pixo/ext/glew/auto/core/gl/WGL_ATI_render_texture_rectangle +5 -0
  165. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_create_context_es2_profile +5 -0
  166. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_create_context_es_profile +5 -0
  167. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_framebuffer_sRGB +5 -0
  168. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_pixel_format_packed_float +5 -0
  169. data/ext/pixo/ext/glew/auto/core/gl/WGL_NV_gpu_affinity +13 -0
  170. data/ext/pixo/ext/glew/auto/core/gl/WGL_NV_vertex_array_range +6 -0
  171. data/ext/pixo/ext/glew/auto/custom.txt +7 -0
  172. data/ext/pixo/ext/glew/auto/doc/advanced.html +130 -0
  173. data/ext/pixo/ext/glew/auto/doc/basic.html +180 -0
  174. data/ext/pixo/ext/glew/auto/doc/build.html +49 -0
  175. data/ext/pixo/ext/glew/auto/doc/credits.html +2 -0
  176. data/ext/pixo/ext/glew/auto/doc/index.html +111 -0
  177. data/ext/pixo/ext/glew/auto/doc/install.html +126 -0
  178. data/ext/pixo/ext/glew/auto/doc/log.html +1073 -0
  179. data/ext/pixo/ext/glew/auto/src/eglew_head.h +88 -0
  180. data/ext/pixo/ext/glew/auto/src/eglew_mid.h +4 -0
  181. data/ext/pixo/ext/glew/auto/src/eglew_tail.h +15 -0
  182. data/ext/pixo/ext/glew/auto/src/footer.html +4 -0
  183. data/ext/pixo/ext/glew/auto/src/glew.rc +135 -0
  184. data/ext/pixo/ext/glew/auto/src/glew_head.c +285 -0
  185. data/ext/pixo/ext/glew/auto/src/glew_head.h +1129 -0
  186. data/ext/pixo/ext/glew/auto/src/glew_init_egl.c +45 -0
  187. data/ext/pixo/ext/glew/auto/src/glew_init_gl.c +206 -0
  188. data/ext/pixo/ext/glew/auto/src/glew_init_glx.c +53 -0
  189. data/ext/pixo/ext/glew/auto/src/glew_init_tail.c +67 -0
  190. data/ext/pixo/ext/glew/auto/src/glew_init_wgl.c +41 -0
  191. data/ext/pixo/ext/glew/auto/src/glew_license.h +32 -0
  192. data/ext/pixo/ext/glew/auto/src/glew_str_egl.c +17 -0
  193. data/ext/pixo/ext/glew/auto/src/glew_str_glx.c +17 -0
  194. data/ext/pixo/ext/glew/auto/src/glew_str_head.c +9 -0
  195. data/ext/pixo/ext/glew/auto/src/glew_str_tail.c +7 -0
  196. data/ext/pixo/ext/glew/auto/src/glew_str_wgl.c +17 -0
  197. data/ext/pixo/ext/glew/auto/src/glew_tail.h +67 -0
  198. data/ext/pixo/ext/glew/auto/src/glewinfo.rc +123 -0
  199. data/ext/pixo/ext/glew/auto/src/glewinfo_egl.c +6 -0
  200. data/ext/pixo/ext/glew/auto/src/glewinfo_gl.c +7 -0
  201. data/ext/pixo/ext/glew/auto/src/glewinfo_glx.c +6 -0
  202. data/ext/pixo/ext/glew/auto/src/glewinfo_head.c +89 -0
  203. data/ext/pixo/ext/glew/auto/src/glewinfo_tail.c +598 -0
  204. data/ext/pixo/ext/glew/auto/src/glewinfo_wgl.c +8 -0
  205. data/ext/pixo/ext/glew/auto/src/glxew_head.h +106 -0
  206. data/ext/pixo/ext/glew/auto/src/glxew_mid.h +4 -0
  207. data/ext/pixo/ext/glew/auto/src/glxew_tail.h +20 -0
  208. data/ext/pixo/ext/glew/auto/src/header.html +98 -0
  209. data/ext/pixo/ext/glew/auto/src/khronos_license.h +23 -0
  210. data/ext/pixo/ext/glew/auto/src/mesa_license.h +24 -0
  211. data/ext/pixo/ext/glew/auto/src/visualinfo.rc +123 -0
  212. data/ext/pixo/ext/glew/auto/src/wglew_head.h +36 -0
  213. data/ext/pixo/ext/glew/auto/src/wglew_mid.h +4 -0
  214. data/ext/pixo/ext/glew/auto/src/wglew_tail.h +22 -0
  215. data/ext/pixo/ext/glew/build/cmake/CMakeLists.txt +215 -0
  216. data/ext/pixo/ext/glew/build/cmake/CopyImportedTargetProperties.cmake +88 -0
  217. data/ext/pixo/ext/glew/build/cmake/glew-config.cmake +60 -0
  218. data/ext/pixo/ext/glew/build/cmake/testbuild/CMakeLists.txt +25 -0
  219. data/ext/pixo/ext/glew/build/cmake/testbuild/main.c +23 -0
  220. data/ext/pixo/ext/glew/build/glew.rc +135 -0
  221. data/ext/pixo/ext/glew/build/glewinfo.rc +123 -0
  222. data/ext/pixo/ext/glew/build/vc10/common.props +29 -0
  223. data/ext/pixo/ext/glew/build/vc10/glew.sln +56 -0
  224. data/ext/pixo/ext/glew/build/vc10/glew_shared.vcxproj +254 -0
  225. data/ext/pixo/ext/glew/build/vc10/glew_static.vcxproj +228 -0
  226. data/ext/pixo/ext/glew/build/vc10/glewinfo.vcxproj +252 -0
  227. data/ext/pixo/ext/glew/build/vc10/visualinfo.vcxproj +251 -0
  228. data/ext/pixo/ext/glew/build/vc12/common.props +29 -0
  229. data/ext/pixo/ext/glew/build/vc12/glew.sln +56 -0
  230. data/ext/pixo/ext/glew/build/vc12/glew_shared.vcxproj +258 -0
  231. data/ext/pixo/ext/glew/build/vc12/glew_static.vcxproj +232 -0
  232. data/ext/pixo/ext/glew/build/vc12/glewinfo.vcxproj +259 -0
  233. data/ext/pixo/ext/glew/build/vc12/visualinfo.vcxproj +258 -0
  234. data/ext/pixo/ext/glew/build/vc6/Makefile +21 -0
  235. data/ext/pixo/ext/glew/build/vc6/glew.dsw +71 -0
  236. data/ext/pixo/ext/glew/build/vc6/glew_shared.dsp +122 -0
  237. data/ext/pixo/ext/glew/build/vc6/glew_static.dsp +112 -0
  238. data/ext/pixo/ext/glew/build/vc6/glewinfo.dsp +103 -0
  239. data/ext/pixo/ext/glew/build/vc6/visualinfo.dsp +103 -0
  240. data/ext/pixo/ext/glew/build/visualinfo.rc +123 -0
  241. data/ext/pixo/ext/glew/cmake-testbuild.sh +71 -0
  242. data/ext/pixo/ext/glew/config/Makefile.cygming +21 -0
  243. data/ext/pixo/ext/glew/config/Makefile.cygwin +19 -0
  244. data/ext/pixo/ext/glew/config/Makefile.darwin +25 -0
  245. data/ext/pixo/ext/glew/config/Makefile.darwin-ppc +24 -0
  246. data/ext/pixo/ext/glew/config/Makefile.darwin-universal +27 -0
  247. data/ext/pixo/ext/glew/config/Makefile.darwin-x86_64 +24 -0
  248. data/ext/pixo/ext/glew/config/Makefile.fedora-mingw32 +12 -0
  249. data/ext/pixo/ext/glew/config/Makefile.freebsd +17 -0
  250. data/ext/pixo/ext/glew/config/Makefile.gnu +17 -0
  251. data/ext/pixo/ext/glew/config/Makefile.haiku +20 -0
  252. data/ext/pixo/ext/glew/config/Makefile.irix +17 -0
  253. data/ext/pixo/ext/glew/config/Makefile.kfreebsd +17 -0
  254. data/ext/pixo/ext/glew/config/Makefile.linux +34 -0
  255. data/ext/pixo/ext/glew/config/Makefile.linux-clang +34 -0
  256. data/ext/pixo/ext/glew/config/Makefile.linux-clang-egl +4 -0
  257. data/ext/pixo/ext/glew/config/Makefile.linux-egl +4 -0
  258. data/ext/pixo/ext/glew/config/Makefile.linux-mingw-w64 +22 -0
  259. data/ext/pixo/ext/glew/config/Makefile.linux-mingw32 +22 -0
  260. data/ext/pixo/ext/glew/config/Makefile.linux-mingw64 +22 -0
  261. data/ext/pixo/ext/glew/config/Makefile.linux-osmesa +4 -0
  262. data/ext/pixo/ext/glew/config/Makefile.mingw +17 -0
  263. data/ext/pixo/ext/glew/config/Makefile.mingw-win32 +5 -0
  264. data/ext/pixo/ext/glew/config/Makefile.msys +19 -0
  265. data/ext/pixo/ext/glew/config/Makefile.msys-win32 +5 -0
  266. data/ext/pixo/ext/glew/config/Makefile.msys-win64 +5 -0
  267. data/ext/pixo/ext/glew/config/Makefile.nacl-32 +31 -0
  268. data/ext/pixo/ext/glew/config/Makefile.nacl-64 +31 -0
  269. data/ext/pixo/ext/glew/config/Makefile.netbsd +17 -0
  270. data/ext/pixo/ext/glew/config/Makefile.openbsd +17 -0
  271. data/ext/pixo/ext/glew/config/Makefile.solaris +14 -0
  272. data/ext/pixo/ext/glew/config/Makefile.solaris-gcc +15 -0
  273. data/ext/pixo/ext/glew/config/config.guess +1456 -0
  274. data/ext/pixo/ext/glew/config/version +7 -0
  275. data/ext/pixo/ext/glew/doc/advanced.html +232 -0
  276. data/ext/pixo/ext/glew/doc/basic.html +282 -0
  277. data/ext/pixo/ext/glew/doc/build.html +151 -0
  278. data/ext/pixo/ext/glew/doc/credits.html +104 -0
  279. data/ext/pixo/ext/glew/doc/github.png +0 -0
  280. data/ext/pixo/ext/glew/doc/glew.css +187 -0
  281. data/ext/pixo/ext/glew/doc/glew.html +724 -0
  282. data/ext/pixo/ext/glew/doc/glew.png +0 -0
  283. data/ext/pixo/ext/glew/doc/glew.txt +29 -0
  284. data/ext/pixo/ext/glew/doc/glxew.html +185 -0
  285. data/ext/pixo/ext/glew/doc/gpl.txt +340 -0
  286. data/ext/pixo/ext/glew/doc/index.html +213 -0
  287. data/ext/pixo/ext/glew/doc/install.html +228 -0
  288. data/ext/pixo/ext/glew/doc/khronos.txt +20 -0
  289. data/ext/pixo/ext/glew/doc/log.html +1175 -0
  290. data/ext/pixo/ext/glew/doc/mesa.txt +21 -0
  291. data/ext/pixo/ext/glew/doc/new.png +0 -0
  292. data/ext/pixo/ext/glew/doc/ogl_sm.jpg +0 -0
  293. data/ext/pixo/ext/glew/doc/travis.png +0 -0
  294. data/ext/pixo/ext/glew/doc/wglew.html +168 -0
  295. data/ext/pixo/ext/glew/glew.pc.in +11 -0
  296. data/ext/pixo/ext/glew/include/GL/eglew.h +2261 -0
  297. data/ext/pixo/ext/glew/include/GL/glew.h +20113 -0
  298. data/ext/pixo/ext/glew/include/GL/glxew.h +1769 -0
  299. data/ext/pixo/ext/glew/include/GL/wglew.h +1427 -0
  300. data/ext/pixo/ext/glew/maintain.sh +142 -0
  301. data/ext/pixo/ext/glew/src/glew.c +23960 -0
  302. data/ext/pixo/ext/glew/src/glewinfo.c +13912 -0
  303. data/ext/pixo/ext/glew/src/visualinfo.c +1297 -0
  304. data/ext/pixo/ext/glfw/CMake/MacOSXBundleInfo.plist.in +38 -0
  305. data/ext/pixo/ext/glfw/CMake/amd64-mingw32msvc.cmake +13 -0
  306. data/ext/pixo/ext/glfw/CMake/i586-mingw32msvc.cmake +13 -0
  307. data/ext/pixo/ext/glfw/CMake/i686-pc-mingw32.cmake +13 -0
  308. data/ext/pixo/ext/glfw/CMake/i686-w64-mingw32.cmake +13 -0
  309. data/ext/pixo/ext/glfw/CMake/modules/FindMir.cmake +18 -0
  310. data/ext/pixo/ext/glfw/CMake/modules/FindVulkan.cmake +34 -0
  311. data/ext/pixo/ext/glfw/CMake/modules/FindWaylandProtocols.cmake +26 -0
  312. data/ext/pixo/ext/glfw/CMake/modules/FindXKBCommon.cmake +34 -0
  313. data/ext/pixo/ext/glfw/CMake/x86_64-w64-mingw32.cmake +13 -0
  314. data/ext/pixo/ext/glfw/CMakeLists.txt +419 -0
  315. data/ext/pixo/ext/glfw/COPYING.txt +22 -0
  316. data/ext/pixo/ext/glfw/README.md +274 -0
  317. data/ext/pixo/ext/glfw/cmake_uninstall.cmake.in +29 -0
  318. data/ext/pixo/ext/glfw/deps/KHR/khrplatform.h +282 -0
  319. data/ext/pixo/ext/glfw/deps/getopt.c +230 -0
  320. data/ext/pixo/ext/glfw/deps/getopt.h +57 -0
  321. data/ext/pixo/ext/glfw/deps/glad/glad.h +3520 -0
  322. data/ext/pixo/ext/glfw/deps/glad.c +1555 -0
  323. data/ext/pixo/ext/glfw/deps/linmath.h +574 -0
  324. data/ext/pixo/ext/glfw/deps/mingw/_mingw_dxhelper.h +117 -0
  325. data/ext/pixo/ext/glfw/deps/mingw/dinput.h +2467 -0
  326. data/ext/pixo/ext/glfw/deps/mingw/xinput.h +239 -0
  327. data/ext/pixo/ext/glfw/deps/tinycthread.c +594 -0
  328. data/ext/pixo/ext/glfw/deps/tinycthread.h +441 -0
  329. data/ext/pixo/ext/glfw/deps/vulkan/vk_platform.h +120 -0
  330. data/ext/pixo/ext/glfw/deps/vulkan/vulkan.h +3835 -0
  331. data/ext/pixo/ext/glfw/docs/CMakeLists.txt +32 -0
  332. data/ext/pixo/ext/glfw/docs/Doxyfile.in +1859 -0
  333. data/ext/pixo/ext/glfw/docs/DoxygenLayout.xml +188 -0
  334. data/ext/pixo/ext/glfw/docs/build.dox +347 -0
  335. data/ext/pixo/ext/glfw/docs/compat.dox +224 -0
  336. data/ext/pixo/ext/glfw/docs/compile.dox +284 -0
  337. data/ext/pixo/ext/glfw/docs/context.dox +345 -0
  338. data/ext/pixo/ext/glfw/docs/extra.css +1 -0
  339. data/ext/pixo/ext/glfw/docs/extra.less +370 -0
  340. data/ext/pixo/ext/glfw/docs/footer.html +7 -0
  341. data/ext/pixo/ext/glfw/docs/header.html +34 -0
  342. data/ext/pixo/ext/glfw/docs/input.dox +665 -0
  343. data/ext/pixo/ext/glfw/docs/internal.dox +116 -0
  344. data/ext/pixo/ext/glfw/docs/intro.dox +372 -0
  345. data/ext/pixo/ext/glfw/docs/main.dox +47 -0
  346. data/ext/pixo/ext/glfw/docs/monitor.dox +216 -0
  347. data/ext/pixo/ext/glfw/docs/moving.dox +506 -0
  348. data/ext/pixo/ext/glfw/docs/news.dox +376 -0
  349. data/ext/pixo/ext/glfw/docs/quick.dox +364 -0
  350. data/ext/pixo/ext/glfw/docs/spaces.svg +872 -0
  351. data/ext/pixo/ext/glfw/docs/vulkan.dox +211 -0
  352. data/ext/pixo/ext/glfw/docs/window.dox +1008 -0
  353. data/ext/pixo/ext/glfw/examples/CMakeLists.txt +67 -0
  354. data/ext/pixo/ext/glfw/examples/boing.c +678 -0
  355. data/ext/pixo/ext/glfw/examples/gears.c +357 -0
  356. data/ext/pixo/ext/glfw/examples/glfw.icns +0 -0
  357. data/ext/pixo/ext/glfw/examples/glfw.ico +0 -0
  358. data/ext/pixo/ext/glfw/examples/glfw.rc +3 -0
  359. data/ext/pixo/ext/glfw/examples/heightmap.c +511 -0
  360. data/ext/pixo/ext/glfw/examples/particles.c +1068 -0
  361. data/ext/pixo/ext/glfw/examples/simple.c +163 -0
  362. data/ext/pixo/ext/glfw/examples/splitview.c +545 -0
  363. data/ext/pixo/ext/glfw/examples/wave.c +460 -0
  364. data/ext/pixo/ext/glfw/include/GLFW/glfw3.h +4248 -0
  365. data/ext/pixo/ext/glfw/include/GLFW/glfw3native.h +456 -0
  366. data/ext/pixo/ext/glfw/src/CMakeLists.txt +120 -0
  367. data/ext/pixo/ext/glfw/src/cocoa_init.m +398 -0
  368. data/ext/pixo/ext/glfw/src/cocoa_joystick.h +60 -0
  369. data/ext/pixo/ext/glfw/src/cocoa_joystick.m +511 -0
  370. data/ext/pixo/ext/glfw/src/cocoa_monitor.m +413 -0
  371. data/ext/pixo/ext/glfw/src/cocoa_platform.h +150 -0
  372. data/ext/pixo/ext/glfw/src/cocoa_time.c +60 -0
  373. data/ext/pixo/ext/glfw/src/cocoa_window.m +1653 -0
  374. data/ext/pixo/ext/glfw/src/context.c +720 -0
  375. data/ext/pixo/ext/glfw/src/egl_context.c +746 -0
  376. data/ext/pixo/ext/glfw/src/egl_context.h +213 -0
  377. data/ext/pixo/ext/glfw/src/glfw3.pc.in +13 -0
  378. data/ext/pixo/ext/glfw/src/glfw3Config.cmake.in +1 -0
  379. data/ext/pixo/ext/glfw/src/glfw_config.h.in +65 -0
  380. data/ext/pixo/ext/glfw/src/glx_context.c +677 -0
  381. data/ext/pixo/ext/glfw/src/glx_context.h +182 -0
  382. data/ext/pixo/ext/glfw/src/init.c +200 -0
  383. data/ext/pixo/ext/glfw/src/input.c +659 -0
  384. data/ext/pixo/ext/glfw/src/internal.h +1055 -0
  385. data/ext/pixo/ext/glfw/src/linux_joystick.c +341 -0
  386. data/ext/pixo/ext/glfw/src/linux_joystick.h +68 -0
  387. data/ext/pixo/ext/glfw/src/mir_init.c +238 -0
  388. data/ext/pixo/ext/glfw/src/mir_monitor.c +182 -0
  389. data/ext/pixo/ext/glfw/src/mir_platform.h +130 -0
  390. data/ext/pixo/ext/glfw/src/mir_window.c +848 -0
  391. data/ext/pixo/ext/glfw/src/monitor.c +477 -0
  392. data/ext/pixo/ext/glfw/src/nsgl_context.h +60 -0
  393. data/ext/pixo/ext/glfw/src/nsgl_context.m +308 -0
  394. data/ext/pixo/ext/glfw/src/posix_time.c +85 -0
  395. data/ext/pixo/ext/glfw/src/posix_time.h +48 -0
  396. data/ext/pixo/ext/glfw/src/posix_tls.c +68 -0
  397. data/ext/pixo/ext/glfw/src/posix_tls.h +49 -0
  398. data/ext/pixo/ext/glfw/src/vulkan.c +302 -0
  399. data/ext/pixo/ext/glfw/src/wgl_context.c +718 -0
  400. data/ext/pixo/ext/glfw/src/wgl_context.h +157 -0
  401. data/ext/pixo/ext/glfw/src/win32_init.c +473 -0
  402. data/ext/pixo/ext/glfw/src/win32_joystick.c +763 -0
  403. data/ext/pixo/ext/glfw/src/win32_joystick.h +64 -0
  404. data/ext/pixo/ext/glfw/src/win32_monitor.c +401 -0
  405. data/ext/pixo/ext/glfw/src/win32_platform.h +350 -0
  406. data/ext/pixo/ext/glfw/src/win32_time.c +74 -0
  407. data/ext/pixo/ext/glfw/src/win32_tls.c +69 -0
  408. data/ext/pixo/ext/glfw/src/win32_window.c +1724 -0
  409. data/ext/pixo/ext/glfw/src/window.c +904 -0
  410. data/ext/pixo/ext/glfw/src/wl_init.c +658 -0
  411. data/ext/pixo/ext/glfw/src/wl_monitor.c +269 -0
  412. data/ext/pixo/ext/glfw/src/wl_platform.h +179 -0
  413. data/ext/pixo/ext/glfw/src/wl_window.c +1050 -0
  414. data/ext/pixo/ext/glfw/src/x11_init.c +833 -0
  415. data/ext/pixo/ext/glfw/src/x11_monitor.c +491 -0
  416. data/ext/pixo/ext/glfw/src/x11_platform.h +296 -0
  417. data/ext/pixo/ext/glfw/src/x11_window.c +2475 -0
  418. data/ext/pixo/ext/glfw/src/xkb_unicode.c +889 -0
  419. data/ext/pixo/ext/glfw/src/xkb_unicode.h +33 -0
  420. data/ext/pixo/ext/glfw/tests/CMakeLists.txt +80 -0
  421. data/ext/pixo/ext/glfw/tests/clipboard.c +157 -0
  422. data/ext/pixo/ext/glfw/tests/cursor.c +317 -0
  423. data/ext/pixo/ext/glfw/tests/empty.c +131 -0
  424. data/ext/pixo/ext/glfw/tests/events.c +620 -0
  425. data/ext/pixo/ext/glfw/tests/gamma.c +188 -0
  426. data/ext/pixo/ext/glfw/tests/glfwinfo.c +899 -0
  427. data/ext/pixo/ext/glfw/tests/icon.c +148 -0
  428. data/ext/pixo/ext/glfw/tests/iconify.c +298 -0
  429. data/ext/pixo/ext/glfw/tests/joysticks.c +216 -0
  430. data/ext/pixo/ext/glfw/tests/monitors.c +243 -0
  431. data/ext/pixo/ext/glfw/tests/msaa.c +163 -0
  432. data/ext/pixo/ext/glfw/tests/reopen.c +192 -0
  433. data/ext/pixo/ext/glfw/tests/sharing.c +186 -0
  434. data/ext/pixo/ext/glfw/tests/tearing.c +214 -0
  435. data/ext/pixo/ext/glfw/tests/threads.c +143 -0
  436. data/ext/pixo/ext/glfw/tests/timeout.c +97 -0
  437. data/ext/pixo/ext/glfw/tests/title.c +78 -0
  438. data/ext/pixo/ext/glfw/tests/vulkan.c +2245 -0
  439. data/ext/pixo/ext/glfw/tests/windows.c +166 -0
  440. data/ext/pixo/ext/glm/CMakeLists.txt +227 -0
  441. data/ext/pixo/ext/glm/cmake/CMakePackageConfigHelpers.cmake +227 -0
  442. data/ext/pixo/ext/glm/cmake/GNUInstallDirs.cmake +188 -0
  443. data/ext/pixo/ext/glm/cmake/glm.pc.in +7 -0
  444. data/ext/pixo/ext/glm/cmake/glmBuildConfig.cmake.in +6 -0
  445. data/ext/pixo/ext/glm/cmake/glmConfig.cmake.in +9 -0
  446. data/ext/pixo/ext/glm/copying.txt +54 -0
  447. data/ext/pixo/ext/glm/doc/api/a00001.html +66 -0
  448. data/ext/pixo/ext/glm/doc/api/a00001_source.html +457 -0
  449. data/ext/pixo/ext/glm/doc/api/a00002.html +66 -0
  450. data/ext/pixo/ext/glm/doc/api/a00002_source.html +83 -0
  451. data/ext/pixo/ext/glm/doc/api/a00003.html +66 -0
  452. data/ext/pixo/ext/glm/doc/api/a00003_source.html +167 -0
  453. data/ext/pixo/ext/glm/doc/api/a00004.html +66 -0
  454. data/ext/pixo/ext/glm/doc/api/a00004_source.html +857 -0
  455. data/ext/pixo/ext/glm/doc/api/a00005.html +66 -0
  456. data/ext/pixo/ext/glm/doc/api/a00005_source.html +754 -0
  457. data/ext/pixo/ext/glm/doc/api/a00006.html +66 -0
  458. data/ext/pixo/ext/glm/doc/api/a00006_source.html +194 -0
  459. data/ext/pixo/ext/glm/doc/api/a00007.html +141 -0
  460. data/ext/pixo/ext/glm/doc/api/a00007_source.html +207 -0
  461. data/ext/pixo/ext/glm/doc/api/a00008.html +102 -0
  462. data/ext/pixo/ext/glm/doc/api/a00008_source.html +111 -0
  463. data/ext/pixo/ext/glm/doc/api/a00009.html +137 -0
  464. data/ext/pixo/ext/glm/doc/api/a00009_source.html +149 -0
  465. data/ext/pixo/ext/glm/doc/api/a00010.html +80 -0
  466. data/ext/pixo/ext/glm/doc/api/a00010_source.html +90 -0
  467. data/ext/pixo/ext/glm/doc/api/a00011.html +88 -0
  468. data/ext/pixo/ext/glm/doc/api/a00011_source.html +97 -0
  469. data/ext/pixo/ext/glm/doc/api/a00012.html +91 -0
  470. data/ext/pixo/ext/glm/doc/api/a00012_source.html +107 -0
  471. data/ext/pixo/ext/glm/doc/api/a00013.html +85 -0
  472. data/ext/pixo/ext/glm/doc/api/a00013_source.html +98 -0
  473. data/ext/pixo/ext/glm/doc/api/a00014.html +66 -0
  474. data/ext/pixo/ext/glm/doc/api/a00014_source.html +65 -0
  475. data/ext/pixo/ext/glm/doc/api/a00015.html +81 -0
  476. data/ext/pixo/ext/glm/doc/api/a00015_source.html +88 -0
  477. data/ext/pixo/ext/glm/doc/api/a00016.html +327 -0
  478. data/ext/pixo/ext/glm/doc/api/a00016_source.html +239 -0
  479. data/ext/pixo/ext/glm/doc/api/a00017.html +93 -0
  480. data/ext/pixo/ext/glm/doc/api/a00017_source.html +102 -0
  481. data/ext/pixo/ext/glm/doc/api/a00018.html +162 -0
  482. data/ext/pixo/ext/glm/doc/api/a00018_source.html +193 -0
  483. data/ext/pixo/ext/glm/doc/api/a00019.html +129 -0
  484. data/ext/pixo/ext/glm/doc/api/a00019_source.html +271 -0
  485. data/ext/pixo/ext/glm/doc/api/a00020.html +89 -0
  486. data/ext/pixo/ext/glm/doc/api/a00020_source.html +105 -0
  487. data/ext/pixo/ext/glm/doc/api/a00021.html +126 -0
  488. data/ext/pixo/ext/glm/doc/api/a00021_source.html +175 -0
  489. data/ext/pixo/ext/glm/doc/api/a00022.html +66 -0
  490. data/ext/pixo/ext/glm/doc/api/a00022_source.html +65 -0
  491. data/ext/pixo/ext/glm/doc/api/a00023.html +66 -0
  492. data/ext/pixo/ext/glm/doc/api/a00023_source.html +219 -0
  493. data/ext/pixo/ext/glm/doc/api/a00024.html +76 -0
  494. data/ext/pixo/ext/glm/doc/api/a00024_source.html +84 -0
  495. data/ext/pixo/ext/glm/doc/api/a00025.html +111 -0
  496. data/ext/pixo/ext/glm/doc/api/a00025_source.html +157 -0
  497. data/ext/pixo/ext/glm/doc/api/a00026.html +111 -0
  498. data/ext/pixo/ext/glm/doc/api/a00026_source.html +118 -0
  499. data/ext/pixo/ext/glm/doc/api/a00027.html +100 -0
  500. data/ext/pixo/ext/glm/doc/api/a00027_source.html +111 -0
  501. data/ext/pixo/ext/glm/doc/api/a00028.html +97 -0
  502. data/ext/pixo/ext/glm/doc/api/a00028_source.html +109 -0
  503. data/ext/pixo/ext/glm/doc/api/a00029.html +168 -0
  504. data/ext/pixo/ext/glm/doc/api/a00029_source.html +238 -0
  505. data/ext/pixo/ext/glm/doc/api/a00030.html +94 -0
  506. data/ext/pixo/ext/glm/doc/api/a00030_source.html +110 -0
  507. data/ext/pixo/ext/glm/doc/api/a00031.html +97 -0
  508. data/ext/pixo/ext/glm/doc/api/a00031_source.html +121 -0
  509. data/ext/pixo/ext/glm/doc/api/a00032.html +112 -0
  510. data/ext/pixo/ext/glm/doc/api/a00032_source.html +149 -0
  511. data/ext/pixo/ext/glm/doc/api/a00033.html +85 -0
  512. data/ext/pixo/ext/glm/doc/api/a00033_source.html +165 -0
  513. data/ext/pixo/ext/glm/doc/api/a00034.html +99 -0
  514. data/ext/pixo/ext/glm/doc/api/a00034_source.html +115 -0
  515. data/ext/pixo/ext/glm/doc/api/a00035.html +118 -0
  516. data/ext/pixo/ext/glm/doc/api/a00035_source.html +135 -0
  517. data/ext/pixo/ext/glm/doc/api/a00036.html +100 -0
  518. data/ext/pixo/ext/glm/doc/api/a00036_source.html +111 -0
  519. data/ext/pixo/ext/glm/doc/api/a00037.html +83 -0
  520. data/ext/pixo/ext/glm/doc/api/a00037_source.html +93 -0
  521. data/ext/pixo/ext/glm/doc/api/a00038.html +979 -0
  522. data/ext/pixo/ext/glm/doc/api/a00038_source.html +1716 -0
  523. data/ext/pixo/ext/glm/doc/api/a00039.html +66 -0
  524. data/ext/pixo/ext/glm/doc/api/a00039_source.html +65 -0
  525. data/ext/pixo/ext/glm/doc/api/a00040.html +66 -0
  526. data/ext/pixo/ext/glm/doc/api/a00040_source.html +119 -0
  527. data/ext/pixo/ext/glm/doc/api/a00041.html +81 -0
  528. data/ext/pixo/ext/glm/doc/api/a00041_source.html +93 -0
  529. data/ext/pixo/ext/glm/doc/api/a00042.html +79 -0
  530. data/ext/pixo/ext/glm/doc/api/a00042_source.html +91 -0
  531. data/ext/pixo/ext/glm/doc/api/a00043.html +67 -0
  532. data/ext/pixo/ext/glm/doc/api/a00043_source.html +185 -0
  533. data/ext/pixo/ext/glm/doc/api/a00044.html +93 -0
  534. data/ext/pixo/ext/glm/doc/api/a00044_source.html +104 -0
  535. data/ext/pixo/ext/glm/doc/api/a00045.html +98 -0
  536. data/ext/pixo/ext/glm/doc/api/a00045_source.html +107 -0
  537. data/ext/pixo/ext/glm/doc/api/a00046.html +66 -0
  538. data/ext/pixo/ext/glm/doc/api/a00046_source.html +65 -0
  539. data/ext/pixo/ext/glm/doc/api/a00047.html +93 -0
  540. data/ext/pixo/ext/glm/doc/api/a00047_source.html +124 -0
  541. data/ext/pixo/ext/glm/doc/api/a00048.html +72 -0
  542. data/ext/pixo/ext/glm/doc/api/a00048_source.html +237 -0
  543. data/ext/pixo/ext/glm/doc/api/a00049.html +79 -0
  544. data/ext/pixo/ext/glm/doc/api/a00049_source.html +89 -0
  545. data/ext/pixo/ext/glm/doc/api/a00050_source.html +2457 -0
  546. data/ext/pixo/ext/glm/doc/api/a00051.html +66 -0
  547. data/ext/pixo/ext/glm/doc/api/a00051_source.html +88 -0
  548. data/ext/pixo/ext/glm/doc/api/a00052.html +66 -0
  549. data/ext/pixo/ext/glm/doc/api/a00052_source.html +80 -0
  550. data/ext/pixo/ext/glm/doc/api/a00053.html +66 -0
  551. data/ext/pixo/ext/glm/doc/api/a00053_source.html +79 -0
  552. data/ext/pixo/ext/glm/doc/api/a00054.html +66 -0
  553. data/ext/pixo/ext/glm/doc/api/a00054_source.html +79 -0
  554. data/ext/pixo/ext/glm/doc/api/a00055.html +66 -0
  555. data/ext/pixo/ext/glm/doc/api/a00055_source.html +88 -0
  556. data/ext/pixo/ext/glm/doc/api/a00056.html +66 -0
  557. data/ext/pixo/ext/glm/doc/api/a00056_source.html +79 -0
  558. data/ext/pixo/ext/glm/doc/api/a00057.html +66 -0
  559. data/ext/pixo/ext/glm/doc/api/a00057_source.html +79 -0
  560. data/ext/pixo/ext/glm/doc/api/a00058_source.html +79 -0
  561. data/ext/pixo/ext/glm/doc/api/a00059.html +66 -0
  562. data/ext/pixo/ext/glm/doc/api/a00059_source.html +88 -0
  563. data/ext/pixo/ext/glm/doc/api/a00060.html +66 -0
  564. data/ext/pixo/ext/glm/doc/api/a00060_source.html +65 -0
  565. data/ext/pixo/ext/glm/doc/api/a00061.html +85 -0
  566. data/ext/pixo/ext/glm/doc/api/a00061_source.html +101 -0
  567. data/ext/pixo/ext/glm/doc/api/a00062.html +81 -0
  568. data/ext/pixo/ext/glm/doc/api/a00062_source.html +87 -0
  569. data/ext/pixo/ext/glm/doc/api/a00063.html +76 -0
  570. data/ext/pixo/ext/glm/doc/api/a00063_source.html +91 -0
  571. data/ext/pixo/ext/glm/doc/api/a00064.html +265 -0
  572. data/ext/pixo/ext/glm/doc/api/a00064_source.html +438 -0
  573. data/ext/pixo/ext/glm/doc/api/a00065.html +86 -0
  574. data/ext/pixo/ext/glm/doc/api/a00065_source.html +104 -0
  575. data/ext/pixo/ext/glm/doc/api/a00066.html +79 -0
  576. data/ext/pixo/ext/glm/doc/api/a00066_source.html +89 -0
  577. data/ext/pixo/ext/glm/doc/api/a00067.html +111 -0
  578. data/ext/pixo/ext/glm/doc/api/a00067_source.html +143 -0
  579. data/ext/pixo/ext/glm/doc/api/a00068.html +100 -0
  580. data/ext/pixo/ext/glm/doc/api/a00068_source.html +122 -0
  581. data/ext/pixo/ext/glm/doc/api/a00069.html +99 -0
  582. data/ext/pixo/ext/glm/doc/api/a00069_source.html +108 -0
  583. data/ext/pixo/ext/glm/doc/api/a00070.html +158 -0
  584. data/ext/pixo/ext/glm/doc/api/a00070_source.html +289 -0
  585. data/ext/pixo/ext/glm/doc/api/a00071.html +89 -0
  586. data/ext/pixo/ext/glm/doc/api/a00071_source.html +110 -0
  587. data/ext/pixo/ext/glm/doc/api/a00072.html +77 -0
  588. data/ext/pixo/ext/glm/doc/api/a00072_source.html +84 -0
  589. data/ext/pixo/ext/glm/doc/api/a00073.html +82 -0
  590. data/ext/pixo/ext/glm/doc/api/a00073_source.html +100 -0
  591. data/ext/pixo/ext/glm/doc/api/a00074.html +99 -0
  592. data/ext/pixo/ext/glm/doc/api/a00074_source.html +121 -0
  593. data/ext/pixo/ext/glm/doc/api/a00075.html +78 -0
  594. data/ext/pixo/ext/glm/doc/api/a00075_source.html +84 -0
  595. data/ext/pixo/ext/glm/doc/api/a00076.html +81 -0
  596. data/ext/pixo/ext/glm/doc/api/a00076_source.html +85 -0
  597. data/ext/pixo/ext/glm/doc/api/a00077.html +107 -0
  598. data/ext/pixo/ext/glm/doc/api/a00077_source.html +115 -0
  599. data/ext/pixo/ext/glm/doc/api/a00078.html +82 -0
  600. data/ext/pixo/ext/glm/doc/api/a00078_source.html +91 -0
  601. data/ext/pixo/ext/glm/doc/api/a00079.html +81 -0
  602. data/ext/pixo/ext/glm/doc/api/a00079_source.html +86 -0
  603. data/ext/pixo/ext/glm/doc/api/a00080.html +175 -0
  604. data/ext/pixo/ext/glm/doc/api/a00080_source.html +233 -0
  605. data/ext/pixo/ext/glm/doc/api/a00081.html +66 -0
  606. data/ext/pixo/ext/glm/doc/api/a00081_source.html +65 -0
  607. data/ext/pixo/ext/glm/doc/api/a00082_source.html +61 -0
  608. data/ext/pixo/ext/glm/doc/api/a00083.html +78 -0
  609. data/ext/pixo/ext/glm/doc/api/a00083_source.html +84 -0
  610. data/ext/pixo/ext/glm/doc/api/a00084.html +79 -0
  611. data/ext/pixo/ext/glm/doc/api/a00084_source.html +87 -0
  612. data/ext/pixo/ext/glm/doc/api/a00085.html +66 -0
  613. data/ext/pixo/ext/glm/doc/api/a00085_source.html +123 -0
  614. data/ext/pixo/ext/glm/doc/api/a00086.html +76 -0
  615. data/ext/pixo/ext/glm/doc/api/a00086_source.html +81 -0
  616. data/ext/pixo/ext/glm/doc/api/a00087.html +161 -0
  617. data/ext/pixo/ext/glm/doc/api/a00087_source.html +329 -0
  618. data/ext/pixo/ext/glm/doc/api/a00088.html +129 -0
  619. data/ext/pixo/ext/glm/doc/api/a00088_source.html +189 -0
  620. data/ext/pixo/ext/glm/doc/api/a00089.html +98 -0
  621. data/ext/pixo/ext/glm/doc/api/a00089_source.html +115 -0
  622. data/ext/pixo/ext/glm/doc/api/a00090.html +67 -0
  623. data/ext/pixo/ext/glm/doc/api/a00090_source.html +133 -0
  624. data/ext/pixo/ext/glm/doc/api/a00091.html +81 -0
  625. data/ext/pixo/ext/glm/doc/api/a00091_source.html +90 -0
  626. data/ext/pixo/ext/glm/doc/api/a00092.html +109 -0
  627. data/ext/pixo/ext/glm/doc/api/a00092_source.html +126 -0
  628. data/ext/pixo/ext/glm/doc/api/a00093.html +83 -0
  629. data/ext/pixo/ext/glm/doc/api/a00093_source.html +94 -0
  630. data/ext/pixo/ext/glm/doc/api/a00094.html +108 -0
  631. data/ext/pixo/ext/glm/doc/api/a00094_source.html +143 -0
  632. data/ext/pixo/ext/glm/doc/api/a00095.html +126 -0
  633. data/ext/pixo/ext/glm/doc/api/a00095_source.html +149 -0
  634. data/ext/pixo/ext/glm/doc/api/a00096.html +69 -0
  635. data/ext/pixo/ext/glm/doc/api/a00096_source.html +131 -0
  636. data/ext/pixo/ext/glm/doc/api/a00097.html +67 -0
  637. data/ext/pixo/ext/glm/doc/api/a00097_source.html +79 -0
  638. data/ext/pixo/ext/glm/doc/api/a00098.html +66 -0
  639. data/ext/pixo/ext/glm/doc/api/a00098_source.html +827 -0
  640. data/ext/pixo/ext/glm/doc/api/a00099.html +67 -0
  641. data/ext/pixo/ext/glm/doc/api/a00099_source.html +219 -0
  642. data/ext/pixo/ext/glm/doc/api/a00100.html +67 -0
  643. data/ext/pixo/ext/glm/doc/api/a00100_source.html +282 -0
  644. data/ext/pixo/ext/glm/doc/api/a00101.html +67 -0
  645. data/ext/pixo/ext/glm/doc/api/a00101_source.html +402 -0
  646. data/ext/pixo/ext/glm/doc/api/a00102.html +82 -0
  647. data/ext/pixo/ext/glm/doc/api/a00102_source.html +105 -0
  648. data/ext/pixo/ext/glm/doc/api/a00103.html +91 -0
  649. data/ext/pixo/ext/glm/doc/api/a00103_source.html +102 -0
  650. data/ext/pixo/ext/glm/doc/api/a00104.html +82 -0
  651. data/ext/pixo/ext/glm/doc/api/a00104_source.html +89 -0
  652. data/ext/pixo/ext/glm/doc/api/a00105.html +88 -0
  653. data/ext/pixo/ext/glm/doc/api/a00105_source.html +95 -0
  654. data/ext/pixo/ext/glm/doc/api/a00106.html +102 -0
  655. data/ext/pixo/ext/glm/doc/api/a00106_source.html +144 -0
  656. data/ext/pixo/ext/glm/doc/api/a00107.html +66 -0
  657. data/ext/pixo/ext/glm/doc/api/a00107_source.html +65 -0
  658. data/ext/pixo/ext/glm/doc/api/a00108.html +241 -0
  659. data/ext/pixo/ext/glm/doc/api/a00108_source.html +383 -0
  660. data/ext/pixo/ext/glm/doc/api/a00109.html +493 -0
  661. data/ext/pixo/ext/glm/doc/api/a00109_source.html +769 -0
  662. data/ext/pixo/ext/glm/doc/api/a00110.html +82 -0
  663. data/ext/pixo/ext/glm/doc/api/a00110_source.html +113 -0
  664. data/ext/pixo/ext/glm/doc/api/a00111.html +66 -0
  665. data/ext/pixo/ext/glm/doc/api/a00111_source.html +248 -0
  666. data/ext/pixo/ext/glm/doc/api/a00112.html +66 -0
  667. data/ext/pixo/ext/glm/doc/api/a00112_source.html +79 -0
  668. data/ext/pixo/ext/glm/doc/api/a00113.html +102 -0
  669. data/ext/pixo/ext/glm/doc/api/a00113_source.html +352 -0
  670. data/ext/pixo/ext/glm/doc/api/a00114.html +271 -0
  671. data/ext/pixo/ext/glm/doc/api/a00114_source.html +469 -0
  672. data/ext/pixo/ext/glm/doc/api/a00115.html +66 -0
  673. data/ext/pixo/ext/glm/doc/api/a00115_source.html +245 -0
  674. data/ext/pixo/ext/glm/doc/api/a00116.html +66 -0
  675. data/ext/pixo/ext/glm/doc/api/a00116_source.html +228 -0
  676. data/ext/pixo/ext/glm/doc/api/a00117.html +66 -0
  677. data/ext/pixo/ext/glm/doc/api/a00117_source.html +230 -0
  678. data/ext/pixo/ext/glm/doc/api/a00118.html +66 -0
  679. data/ext/pixo/ext/glm/doc/api/a00118_source.html +236 -0
  680. data/ext/pixo/ext/glm/doc/api/a00119.html +66 -0
  681. data/ext/pixo/ext/glm/doc/api/a00119_source.html +252 -0
  682. data/ext/pixo/ext/glm/doc/api/a00120.html +66 -0
  683. data/ext/pixo/ext/glm/doc/api/a00120_source.html +235 -0
  684. data/ext/pixo/ext/glm/doc/api/a00121.html +66 -0
  685. data/ext/pixo/ext/glm/doc/api/a00121_source.html +240 -0
  686. data/ext/pixo/ext/glm/doc/api/a00122.html +66 -0
  687. data/ext/pixo/ext/glm/doc/api/a00122_source.html +240 -0
  688. data/ext/pixo/ext/glm/doc/api/a00123.html +66 -0
  689. data/ext/pixo/ext/glm/doc/api/a00123_source.html +257 -0
  690. data/ext/pixo/ext/glm/doc/api/a00124.html +71 -0
  691. data/ext/pixo/ext/glm/doc/api/a00124_source.html +692 -0
  692. data/ext/pixo/ext/glm/doc/api/a00125.html +128 -0
  693. data/ext/pixo/ext/glm/doc/api/a00125_source.html +158 -0
  694. data/ext/pixo/ext/glm/doc/api/a00126.html +67 -0
  695. data/ext/pixo/ext/glm/doc/api/a00126_source.html +299 -0
  696. data/ext/pixo/ext/glm/doc/api/a00127.html +192 -0
  697. data/ext/pixo/ext/glm/doc/api/a00127_source.html +435 -0
  698. data/ext/pixo/ext/glm/doc/api/a00128.html +66 -0
  699. data/ext/pixo/ext/glm/doc/api/a00128_source.html +357 -0
  700. data/ext/pixo/ext/glm/doc/api/a00129.html +66 -0
  701. data/ext/pixo/ext/glm/doc/api/a00129_source.html +443 -0
  702. data/ext/pixo/ext/glm/doc/api/a00130.html +66 -0
  703. data/ext/pixo/ext/glm/doc/api/a00130_source.html +461 -0
  704. data/ext/pixo/ext/glm/doc/api/a00131.html +66 -0
  705. data/ext/pixo/ext/glm/doc/api/a00131_source.html +500 -0
  706. data/ext/pixo/ext/glm/doc/api/a00132.html +91 -0
  707. data/ext/pixo/ext/glm/doc/api/a00132_source.html +101 -0
  708. data/ext/pixo/ext/glm/doc/api/a00133.html +107 -0
  709. data/ext/pixo/ext/glm/doc/api/a00133_source.html +159 -0
  710. data/ext/pixo/ext/glm/doc/api/a00134.html +66 -0
  711. data/ext/pixo/ext/glm/doc/api/a00134_source.html +65 -0
  712. data/ext/pixo/ext/glm/doc/api/a00135.html +66 -0
  713. data/ext/pixo/ext/glm/doc/api/a00135_source.html +65 -0
  714. data/ext/pixo/ext/glm/doc/api/a00136.html +66 -0
  715. data/ext/pixo/ext/glm/doc/api/a00136_source.html +65 -0
  716. data/ext/pixo/ext/glm/doc/api/a00137.html +86 -0
  717. data/ext/pixo/ext/glm/doc/api/a00137_source.html +98 -0
  718. data/ext/pixo/ext/glm/doc/api/a00138.html +91 -0
  719. data/ext/pixo/ext/glm/doc/api/a00138_source.html +104 -0
  720. data/ext/pixo/ext/glm/doc/api/a00139.html +66 -0
  721. data/ext/pixo/ext/glm/doc/api/a00139_source.html +65 -0
  722. data/ext/pixo/ext/glm/doc/api/a00140.html +85 -0
  723. data/ext/pixo/ext/glm/doc/api/a00140_source.html +94 -0
  724. data/ext/pixo/ext/glm/doc/api/a00146.html +1123 -0
  725. data/ext/pixo/ext/glm/doc/api/a00147.html +325 -0
  726. data/ext/pixo/ext/glm/doc/api/a00148.html +367 -0
  727. data/ext/pixo/ext/glm/doc/api/a00149.html +577 -0
  728. data/ext/pixo/ext/glm/doc/api/a00150.html +210 -0
  729. data/ext/pixo/ext/glm/doc/api/a00151.html +364 -0
  730. data/ext/pixo/ext/glm/doc/api/a00152.html +532 -0
  731. data/ext/pixo/ext/glm/doc/api/a00153.html +393 -0
  732. data/ext/pixo/ext/glm/doc/api/a00154.html +103 -0
  733. data/ext/pixo/ext/glm/doc/api/a00155.html +177 -0
  734. data/ext/pixo/ext/glm/doc/api/a00156.html +84 -0
  735. data/ext/pixo/ext/glm/doc/api/a00157.html +808 -0
  736. data/ext/pixo/ext/glm/doc/api/a00158.html +2827 -0
  737. data/ext/pixo/ext/glm/doc/api/a00159.html +53 -0
  738. data/ext/pixo/ext/glm/doc/api/a00160.html +985 -0
  739. data/ext/pixo/ext/glm/doc/api/a00161.html +141 -0
  740. data/ext/pixo/ext/glm/doc/api/a00162.html +670 -0
  741. data/ext/pixo/ext/glm/doc/api/a00163.html +217 -0
  742. data/ext/pixo/ext/glm/doc/api/a00164.html +137 -0
  743. data/ext/pixo/ext/glm/doc/api/a00165.html +290 -0
  744. data/ext/pixo/ext/glm/doc/api/a00166.html +201 -0
  745. data/ext/pixo/ext/glm/doc/api/a00167.html +1885 -0
  746. data/ext/pixo/ext/glm/doc/api/a00168.html +129 -0
  747. data/ext/pixo/ext/glm/doc/api/a00169.html +1690 -0
  748. data/ext/pixo/ext/glm/doc/api/a00170.html +136 -0
  749. data/ext/pixo/ext/glm/doc/api/a00171.html +1406 -0
  750. data/ext/pixo/ext/glm/doc/api/a00172.html +939 -0
  751. data/ext/pixo/ext/glm/doc/api/a00173.html +303 -0
  752. data/ext/pixo/ext/glm/doc/api/a00174.html +406 -0
  753. data/ext/pixo/ext/glm/doc/api/a00175.html +603 -0
  754. data/ext/pixo/ext/glm/doc/api/a00176.html +688 -0
  755. data/ext/pixo/ext/glm/doc/api/a00177.html +3678 -0
  756. data/ext/pixo/ext/glm/doc/api/a00178.html +445 -0
  757. data/ext/pixo/ext/glm/doc/api/a00179.html +233 -0
  758. data/ext/pixo/ext/glm/doc/api/a00180.html +53 -0
  759. data/ext/pixo/ext/glm/doc/api/a00181.html +1293 -0
  760. data/ext/pixo/ext/glm/doc/api/a00182.html +273 -0
  761. data/ext/pixo/ext/glm/doc/api/a00183.html +103 -0
  762. data/ext/pixo/ext/glm/doc/api/a00184.html +213 -0
  763. data/ext/pixo/ext/glm/doc/api/a00185.html +153 -0
  764. data/ext/pixo/ext/glm/doc/api/a00186.html +117 -0
  765. data/ext/pixo/ext/glm/doc/api/a00187.html +312 -0
  766. data/ext/pixo/ext/glm/doc/api/a00188.html +193 -0
  767. data/ext/pixo/ext/glm/doc/api/a00189.html +464 -0
  768. data/ext/pixo/ext/glm/doc/api/a00190.html +565 -0
  769. data/ext/pixo/ext/glm/doc/api/a00191.html +99 -0
  770. data/ext/pixo/ext/glm/doc/api/a00192.html +553 -0
  771. data/ext/pixo/ext/glm/doc/api/a00193.html +355 -0
  772. data/ext/pixo/ext/glm/doc/api/a00194.html +282 -0
  773. data/ext/pixo/ext/glm/doc/api/a00195.html +246 -0
  774. data/ext/pixo/ext/glm/doc/api/a00196.html +143 -0
  775. data/ext/pixo/ext/glm/doc/api/a00197.html +137 -0
  776. data/ext/pixo/ext/glm/doc/api/a00198.html +53 -0
  777. data/ext/pixo/ext/glm/doc/api/a00199.html +314 -0
  778. data/ext/pixo/ext/glm/doc/api/a00200.html +397 -0
  779. data/ext/pixo/ext/glm/doc/api/a00201.html +55 -0
  780. data/ext/pixo/ext/glm/doc/api/a00202.html +126 -0
  781. data/ext/pixo/ext/glm/doc/api/a00203.html +105 -0
  782. data/ext/pixo/ext/glm/doc/api/a00204.html +117 -0
  783. data/ext/pixo/ext/glm/doc/api/a00205.html +191 -0
  784. data/ext/pixo/ext/glm/doc/api/a00206.html +421 -0
  785. data/ext/pixo/ext/glm/doc/api/a00207.html +259 -0
  786. data/ext/pixo/ext/glm/doc/api/a00208.html +317 -0
  787. data/ext/pixo/ext/glm/doc/api/a00209.html +251 -0
  788. data/ext/pixo/ext/glm/doc/api/a00210.html +64 -0
  789. data/ext/pixo/ext/glm/doc/api/a00211.html +293 -0
  790. data/ext/pixo/ext/glm/doc/api/a00212.html +99 -0
  791. data/ext/pixo/ext/glm/doc/api/a00213.html +127 -0
  792. data/ext/pixo/ext/glm/doc/api/a00214.html +90 -0
  793. data/ext/pixo/ext/glm/doc/api/a00215.html +127 -0
  794. data/ext/pixo/ext/glm/doc/api/a00216.html +115 -0
  795. data/ext/pixo/ext/glm/doc/api/a00217.html +93 -0
  796. data/ext/pixo/ext/glm/doc/api/a00218.html +105 -0
  797. data/ext/pixo/ext/glm/doc/api/a00219.html +93 -0
  798. data/ext/pixo/ext/glm/doc/api/a00220.html +613 -0
  799. data/ext/pixo/ext/glm/doc/api/a00221.html +55 -0
  800. data/ext/pixo/ext/glm/doc/api/a00222.html +137 -0
  801. data/ext/pixo/ext/glm/doc/api/a00223.html +165 -0
  802. data/ext/pixo/ext/glm/doc/api/a00224.html +439 -0
  803. data/ext/pixo/ext/glm/doc/api/a00225.html +53 -0
  804. data/ext/pixo/ext/glm/doc/api/a00226.html +53 -0
  805. data/ext/pixo/ext/glm/doc/api/a00227.html +53 -0
  806. data/ext/pixo/ext/glm/doc/api/a00228.html +53 -0
  807. data/ext/pixo/ext/glm/doc/api/a00229.html +211 -0
  808. data/ext/pixo/ext/glm/doc/api/a00230.html +213 -0
  809. data/ext/pixo/ext/glm/doc/api/a00231.html +83 -0
  810. data/ext/pixo/ext/glm/doc/api/a00232.html +143 -0
  811. data/ext/pixo/ext/glm/doc/api/a00233.html +372 -0
  812. data/ext/pixo/ext/glm/doc/api/a00234.html +7811 -0
  813. data/ext/pixo/ext/glm/doc/api/a00235.html +54 -0
  814. data/ext/pixo/ext/glm/doc/api/a00236.html +163 -0
  815. data/ext/pixo/ext/glm/doc/api/a00237.html +271 -0
  816. data/ext/pixo/ext/glm/doc/api/a00238.html +149 -0
  817. data/ext/pixo/ext/glm/doc/api/arrowdown.png +0 -0
  818. data/ext/pixo/ext/glm/doc/api/arrowright.png +0 -0
  819. data/ext/pixo/ext/glm/doc/api/bc_s.png +0 -0
  820. data/ext/pixo/ext/glm/doc/api/bdwn.png +0 -0
  821. data/ext/pixo/ext/glm/doc/api/closed.png +0 -0
  822. data/ext/pixo/ext/glm/doc/api/dir_1f76e953200861345293ade84ac7fb6c.html +61 -0
  823. data/ext/pixo/ext/glm/doc/api/dir_275089585c7fc1b5fd5d7d42c69cb1da.html +61 -0
  824. data/ext/pixo/ext/glm/doc/api/dir_577c788b67d63fb3b3b5752bd495d0f2.html +63 -0
  825. data/ext/pixo/ext/glm/doc/api/dir_5ce58d942b2d0776e17a9a58abc01e04.html +114 -0
  826. data/ext/pixo/ext/glm/doc/api/dir_7b98f88bffbed4b390b5f8f520d9c08e.html +61 -0
  827. data/ext/pixo/ext/glm/doc/api/dir_8d176b5b7dd0ae42ea6876078f2bde49.html +177 -0
  828. data/ext/pixo/ext/glm/doc/api/dir_9440d7c11b99dcd7e5d369c7cf9802fe.html +101 -0
  829. data/ext/pixo/ext/glm/doc/api/dir_e29b03b892e0e25920d021a614d4db9b.html +63 -0
  830. data/ext/pixo/ext/glm/doc/api/dir_e529a619cfdec1fa4c331fb042fd332f.html +129 -0
  831. data/ext/pixo/ext/glm/doc/api/doc.png +0 -0
  832. data/ext/pixo/ext/glm/doc/api/doxygen.css +865 -0
  833. data/ext/pixo/ext/glm/doc/api/doxygen.png +0 -0
  834. data/ext/pixo/ext/glm/doc/api/dynsections.js +104 -0
  835. data/ext/pixo/ext/glm/doc/api/files.html +200 -0
  836. data/ext/pixo/ext/glm/doc/api/folderclosed.png +0 -0
  837. data/ext/pixo/ext/glm/doc/api/folderopen.png +0 -0
  838. data/ext/pixo/ext/glm/doc/api/index.html +68 -0
  839. data/ext/pixo/ext/glm/doc/api/jquery.js +68 -0
  840. data/ext/pixo/ext/glm/doc/api/logo.png +0 -0
  841. data/ext/pixo/ext/glm/doc/api/modules.html +149 -0
  842. data/ext/pixo/ext/glm/doc/api/nav_f.png +0 -0
  843. data/ext/pixo/ext/glm/doc/api/nav_g.png +0 -0
  844. data/ext/pixo/ext/glm/doc/api/nav_h.png +0 -0
  845. data/ext/pixo/ext/glm/doc/api/open.png +0 -0
  846. data/ext/pixo/ext/glm/doc/api/splitbar.png +0 -0
  847. data/ext/pixo/ext/glm/doc/api/sync_off.png +0 -0
  848. data/ext/pixo/ext/glm/doc/api/sync_on.png +0 -0
  849. data/ext/pixo/ext/glm/doc/api/tab_a.png +0 -0
  850. data/ext/pixo/ext/glm/doc/api/tab_b.png +0 -0
  851. data/ext/pixo/ext/glm/doc/api/tab_h.png +0 -0
  852. data/ext/pixo/ext/glm/doc/api/tab_s.png +0 -0
  853. data/ext/pixo/ext/glm/doc/api/tabs.css +79 -0
  854. data/ext/pixo/ext/glm/doc/glm.docx +0 -0
  855. data/ext/pixo/ext/glm/doc/glm.pdf +0 -0
  856. data/ext/pixo/ext/glm/doc/logo.png +0 -0
  857. data/ext/pixo/ext/glm/doc/man.doxy +2396 -0
  858. data/ext/pixo/ext/glm/doc/pages.doxy +32 -0
  859. data/ext/pixo/ext/glm/doc/theme/doxygen.css +865 -0
  860. data/ext/pixo/ext/glm/doc/theme/tabs.css +79 -0
  861. data/ext/pixo/ext/glm/glm/CMakeLists.txt +67 -0
  862. data/ext/pixo/ext/glm/glm/common.hpp +6 -0
  863. data/ext/pixo/ext/glm/glm/detail/_features.hpp +399 -0
  864. data/ext/pixo/ext/glm/glm/detail/_fixes.hpp +30 -0
  865. data/ext/pixo/ext/glm/glm/detail/_noise.hpp +107 -0
  866. data/ext/pixo/ext/glm/glm/detail/_swizzle.hpp +797 -0
  867. data/ext/pixo/ext/glm/glm/detail/_swizzle_func.hpp +696 -0
  868. data/ext/pixo/ext/glm/glm/detail/_vectorize.hpp +131 -0
  869. data/ext/pixo/ext/glm/glm/detail/dummy.cpp +207 -0
  870. data/ext/pixo/ext/glm/glm/detail/func_common.hpp +427 -0
  871. data/ext/pixo/ext/glm/glm/detail/func_common.inl +848 -0
  872. data/ext/pixo/ext/glm/glm/detail/func_common_simd.inl +231 -0
  873. data/ext/pixo/ext/glm/glm/detail/func_exponential.hpp +103 -0
  874. data/ext/pixo/ext/glm/glm/detail/func_exponential.inl +146 -0
  875. data/ext/pixo/ext/glm/glm/detail/func_exponential_simd.inl +35 -0
  876. data/ext/pixo/ext/glm/glm/detail/func_geometric.hpp +113 -0
  877. data/ext/pixo/ext/glm/glm/detail/func_geometric.inl +247 -0
  878. data/ext/pixo/ext/glm/glm/detail/func_geometric_simd.inl +99 -0
  879. data/ext/pixo/ext/glm/glm/detail/func_integer.hpp +203 -0
  880. data/ext/pixo/ext/glm/glm/detail/func_integer.inl +375 -0
  881. data/ext/pixo/ext/glm/glm/detail/func_integer_simd.inl +66 -0
  882. data/ext/pixo/ext/glm/glm/detail/func_matrix.hpp +149 -0
  883. data/ext/pixo/ext/glm/glm/detail/func_matrix.inl +401 -0
  884. data/ext/pixo/ext/glm/glm/detail/func_matrix_simd.inl +88 -0
  885. data/ext/pixo/ext/glm/glm/detail/func_packing.hpp +168 -0
  886. data/ext/pixo/ext/glm/glm/detail/func_packing.inl +190 -0
  887. data/ext/pixo/ext/glm/glm/detail/func_packing_simd.inl +9 -0
  888. data/ext/pixo/ext/glm/glm/detail/func_trigonometric.hpp +176 -0
  889. data/ext/pixo/ext/glm/glm/detail/func_trigonometric.inl +200 -0
  890. data/ext/pixo/ext/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  891. data/ext/pixo/ext/glm/glm/detail/func_vector_relational.hpp +111 -0
  892. data/ext/pixo/ext/glm/glm/detail/func_vector_relational.inl +105 -0
  893. data/ext/pixo/ext/glm/glm/detail/func_vector_relational_simd.inl +9 -0
  894. data/ext/pixo/ext/glm/glm/detail/glm.cpp +257 -0
  895. data/ext/pixo/ext/glm/glm/detail/precision.hpp +63 -0
  896. data/ext/pixo/ext/glm/glm/detail/setup.hpp +777 -0
  897. data/ext/pixo/ext/glm/glm/detail/type_float.hpp +67 -0
  898. data/ext/pixo/ext/glm/glm/detail/type_gentype.hpp +195 -0
  899. data/ext/pixo/ext/glm/glm/detail/type_gentype.inl +341 -0
  900. data/ext/pixo/ext/glm/glm/detail/type_half.hpp +19 -0
  901. data/ext/pixo/ext/glm/glm/detail/type_half.inl +244 -0
  902. data/ext/pixo/ext/glm/glm/detail/type_int.hpp +306 -0
  903. data/ext/pixo/ext/glm/glm/detail/type_mat.hpp +767 -0
  904. data/ext/pixo/ext/glm/glm/detail/type_mat.inl +3 -0
  905. data/ext/pixo/ext/glm/glm/detail/type_mat2x2.hpp +183 -0
  906. data/ext/pixo/ext/glm/glm/detail/type_mat2x2.inl +490 -0
  907. data/ext/pixo/ext/glm/glm/detail/type_mat2x3.hpp +165 -0
  908. data/ext/pixo/ext/glm/glm/detail/type_mat2x3.inl +464 -0
  909. data/ext/pixo/ext/glm/glm/detail/type_mat2x4.hpp +167 -0
  910. data/ext/pixo/ext/glm/glm/detail/type_mat2x4.inl +473 -0
  911. data/ext/pixo/ext/glm/glm/detail/type_mat3x2.hpp +173 -0
  912. data/ext/pixo/ext/glm/glm/detail/type_mat3x2.inl +498 -0
  913. data/ext/pixo/ext/glm/glm/detail/type_mat3x3.hpp +190 -0
  914. data/ext/pixo/ext/glm/glm/detail/type_mat3x3.inl +567 -0
  915. data/ext/pixo/ext/glm/glm/detail/type_mat3x4.hpp +172 -0
  916. data/ext/pixo/ext/glm/glm/detail/type_mat3x4.inl +538 -0
  917. data/ext/pixo/ext/glm/glm/detail/type_mat4x2.hpp +177 -0
  918. data/ext/pixo/ext/glm/glm/detail/type_mat4x2.inl +551 -0
  919. data/ext/pixo/ext/glm/glm/detail/type_mat4x3.hpp +177 -0
  920. data/ext/pixo/ext/glm/glm/detail/type_mat4x3.inl +568 -0
  921. data/ext/pixo/ext/glm/glm/detail/type_mat4x4.hpp +195 -0
  922. data/ext/pixo/ext/glm/glm/detail/type_mat4x4.inl +677 -0
  923. data/ext/pixo/ext/glm/glm/detail/type_mat4x4_simd.inl +7 -0
  924. data/ext/pixo/ext/glm/glm/detail/type_vec.hpp +576 -0
  925. data/ext/pixo/ext/glm/glm/detail/type_vec.inl +2 -0
  926. data/ext/pixo/ext/glm/glm/detail/type_vec1.hpp +299 -0
  927. data/ext/pixo/ext/glm/glm/detail/type_vec1.inl +564 -0
  928. data/ext/pixo/ext/glm/glm/detail/type_vec2.hpp +385 -0
  929. data/ext/pixo/ext/glm/glm/detail/type_vec2.inl +900 -0
  930. data/ext/pixo/ext/glm/glm/detail/type_vec3.hpp +406 -0
  931. data/ext/pixo/ext/glm/glm/detail/type_vec3.inl +1028 -0
  932. data/ext/pixo/ext/glm/glm/detail/type_vec4.hpp +451 -0
  933. data/ext/pixo/ext/glm/glm/detail/type_vec4.inl +975 -0
  934. data/ext/pixo/ext/glm/glm/detail/type_vec4_simd.inl +481 -0
  935. data/ext/pixo/ext/glm/glm/exponential.hpp +6 -0
  936. data/ext/pixo/ext/glm/glm/ext.hpp +117 -0
  937. data/ext/pixo/ext/glm/glm/fwd.hpp +2570 -0
  938. data/ext/pixo/ext/glm/glm/geometric.hpp +6 -0
  939. data/ext/pixo/ext/glm/glm/glm.hpp +88 -0
  940. data/ext/pixo/ext/glm/glm/gtc/bitfield.hpp +207 -0
  941. data/ext/pixo/ext/glm/glm/gtc/bitfield.inl +515 -0
  942. data/ext/pixo/ext/glm/glm/gtc/color_encoding.hpp +50 -0
  943. data/ext/pixo/ext/glm/glm/gtc/color_encoding.inl +65 -0
  944. data/ext/pixo/ext/glm/glm/gtc/color_space.hpp +56 -0
  945. data/ext/pixo/ext/glm/glm/gtc/color_space.inl +75 -0
  946. data/ext/pixo/ext/glm/glm/gtc/constants.hpp +176 -0
  947. data/ext/pixo/ext/glm/glm/gtc/constants.inl +181 -0
  948. data/ext/pixo/ext/glm/glm/gtc/epsilon.hpp +73 -0
  949. data/ext/pixo/ext/glm/glm/gtc/epsilon.inl +125 -0
  950. data/ext/pixo/ext/glm/glm/gtc/functions.hpp +53 -0
  951. data/ext/pixo/ext/glm/glm/gtc/functions.inl +31 -0
  952. data/ext/pixo/ext/glm/glm/gtc/integer.hpp +102 -0
  953. data/ext/pixo/ext/glm/glm/gtc/integer.inl +71 -0
  954. data/ext/pixo/ext/glm/glm/gtc/matrix_access.hpp +59 -0
  955. data/ext/pixo/ext/glm/glm/gtc/matrix_access.inl +63 -0
  956. data/ext/pixo/ext/glm/glm/gtc/matrix_integer.hpp +486 -0
  957. data/ext/pixo/ext/glm/glm/gtc/matrix_inverse.hpp +49 -0
  958. data/ext/pixo/ext/glm/glm/gtc/matrix_inverse.inl +120 -0
  959. data/ext/pixo/ext/glm/glm/gtc/matrix_transform.hpp +465 -0
  960. data/ext/pixo/ext/glm/glm/gtc/matrix_transform.inl +575 -0
  961. data/ext/pixo/ext/glm/glm/gtc/noise.hpp +60 -0
  962. data/ext/pixo/ext/glm/glm/gtc/noise.inl +808 -0
  963. data/ext/pixo/ext/glm/glm/gtc/packing.hpp +579 -0
  964. data/ext/pixo/ext/glm/glm/gtc/packing.inl +781 -0
  965. data/ext/pixo/ext/glm/glm/gtc/quaternion.hpp +397 -0
  966. data/ext/pixo/ext/glm/glm/gtc/quaternion.inl +801 -0
  967. data/ext/pixo/ext/glm/glm/gtc/quaternion_simd.inl +198 -0
  968. data/ext/pixo/ext/glm/glm/gtc/random.hpp +98 -0
  969. data/ext/pixo/ext/glm/glm/gtc/random.inl +350 -0
  970. data/ext/pixo/ext/glm/glm/gtc/reciprocal.hpp +135 -0
  971. data/ext/pixo/ext/glm/glm/gtc/reciprocal.inl +192 -0
  972. data/ext/pixo/ext/glm/glm/gtc/round.hpp +174 -0
  973. data/ext/pixo/ext/glm/glm/gtc/round.inl +344 -0
  974. data/ext/pixo/ext/glm/glm/gtc/type_aligned.hpp +362 -0
  975. data/ext/pixo/ext/glm/glm/gtc/type_precision.hpp +861 -0
  976. data/ext/pixo/ext/glm/glm/gtc/type_precision.inl +7 -0
  977. data/ext/pixo/ext/glm/glm/gtc/type_ptr.hpp +149 -0
  978. data/ext/pixo/ext/glm/glm/gtc/type_ptr.inl +450 -0
  979. data/ext/pixo/ext/glm/glm/gtc/ulp.hpp +63 -0
  980. data/ext/pixo/ext/glm/glm/gtc/ulp.inl +321 -0
  981. data/ext/pixo/ext/glm/glm/gtc/vec1.hpp +164 -0
  982. data/ext/pixo/ext/glm/glm/gtc/vec1.inl +2 -0
  983. data/ext/pixo/ext/glm/glm/gtx/associated_min_max.hpp +202 -0
  984. data/ext/pixo/ext/glm/glm/gtx/associated_min_max.inl +355 -0
  985. data/ext/pixo/ext/glm/glm/gtx/bit.hpp +95 -0
  986. data/ext/pixo/ext/glm/glm/gtx/bit.inl +93 -0
  987. data/ext/pixo/ext/glm/glm/gtx/closest_point.hpp +45 -0
  988. data/ext/pixo/ext/glm/glm/gtx/closest_point.inl +46 -0
  989. data/ext/pixo/ext/glm/glm/gtx/color_space.hpp +68 -0
  990. data/ext/pixo/ext/glm/glm/gtx/color_space.inl +143 -0
  991. data/ext/pixo/ext/glm/glm/gtx/color_space_YCoCg.hpp +56 -0
  992. data/ext/pixo/ext/glm/glm/gtx/color_space_YCoCg.inl +108 -0
  993. data/ext/pixo/ext/glm/glm/gtx/common.hpp +53 -0
  994. data/ext/pixo/ext/glm/glm/gtx/common.inl +112 -0
  995. data/ext/pixo/ext/glm/glm/gtx/compatibility.hpp +130 -0
  996. data/ext/pixo/ext/glm/glm/gtx/compatibility.inl +65 -0
  997. data/ext/pixo/ext/glm/glm/gtx/component_wise.hpp +65 -0
  998. data/ext/pixo/ext/glm/glm/gtx/component_wise.inl +128 -0
  999. data/ext/pixo/ext/glm/glm/gtx/dual_quaternion.hpp +266 -0
  1000. data/ext/pixo/ext/glm/glm/gtx/dual_quaternion.inl +357 -0
  1001. data/ext/pixo/ext/glm/glm/gtx/euler_angles.hpp +143 -0
  1002. data/ext/pixo/ext/glm/glm/gtx/euler_angles.inl +312 -0
  1003. data/ext/pixo/ext/glm/glm/gtx/extend.hpp +38 -0
  1004. data/ext/pixo/ext/glm/glm/gtx/extend.inl +49 -0
  1005. data/ext/pixo/ext/glm/glm/gtx/extended_min_max.hpp +133 -0
  1006. data/ext/pixo/ext/glm/glm/gtx/extended_min_max.inl +140 -0
  1007. data/ext/pixo/ext/glm/glm/gtx/fast_exponential.hpp +91 -0
  1008. data/ext/pixo/ext/glm/glm/gtx/fast_exponential.inl +137 -0
  1009. data/ext/pixo/ext/glm/glm/gtx/fast_square_root.hpp +88 -0
  1010. data/ext/pixo/ext/glm/glm/gtx/fast_square_root.inl +81 -0
  1011. data/ext/pixo/ext/glm/glm/gtx/fast_trigonometry.hpp +75 -0
  1012. data/ext/pixo/ext/glm/glm/gtx/fast_trigonometry.inl +143 -0
  1013. data/ext/pixo/ext/glm/glm/gtx/float_notmalize.inl +14 -0
  1014. data/ext/pixo/ext/glm/glm/gtx/gradient_paint.hpp +48 -0
  1015. data/ext/pixo/ext/glm/glm/gtx/gradient_paint.inl +37 -0
  1016. data/ext/pixo/ext/glm/glm/gtx/handed_coordinate_space.hpp +46 -0
  1017. data/ext/pixo/ext/glm/glm/gtx/handed_coordinate_space.inl +27 -0
  1018. data/ext/pixo/ext/glm/glm/gtx/hash.hpp +134 -0
  1019. data/ext/pixo/ext/glm/glm/gtx/hash.inl +185 -0
  1020. data/ext/pixo/ext/glm/glm/gtx/integer.hpp +72 -0
  1021. data/ext/pixo/ext/glm/glm/gtx/integer.inl +182 -0
  1022. data/ext/pixo/ext/glm/glm/gtx/intersect.hpp +87 -0
  1023. data/ext/pixo/ext/glm/glm/gtx/intersect.inl +170 -0
  1024. data/ext/pixo/ext/glm/glm/gtx/io.hpp +197 -0
  1025. data/ext/pixo/ext/glm/glm/gtx/io.inl +441 -0
  1026. data/ext/pixo/ext/glm/glm/gtx/log_base.hpp +44 -0
  1027. data/ext/pixo/ext/glm/glm/gtx/log_base.inl +18 -0
  1028. data/ext/pixo/ext/glm/glm/gtx/matrix_cross_product.hpp +43 -0
  1029. data/ext/pixo/ext/glm/glm/gtx/matrix_cross_product.inl +38 -0
  1030. data/ext/pixo/ext/glm/glm/gtx/matrix_decompose.hpp +42 -0
  1031. data/ext/pixo/ext/glm/glm/gtx/matrix_decompose.inl +194 -0
  1032. data/ext/pixo/ext/glm/glm/gtx/matrix_interpolation.hpp +61 -0
  1033. data/ext/pixo/ext/glm/glm/gtx/matrix_interpolation.inl +134 -0
  1034. data/ext/pixo/ext/glm/glm/gtx/matrix_major_storage.hpp +115 -0
  1035. data/ext/pixo/ext/glm/glm/gtx/matrix_major_storage.inl +167 -0
  1036. data/ext/pixo/ext/glm/glm/gtx/matrix_operation.hpp +84 -0
  1037. data/ext/pixo/ext/glm/glm/gtx/matrix_operation.inl +118 -0
  1038. data/ext/pixo/ext/glm/glm/gtx/matrix_query.hpp +73 -0
  1039. data/ext/pixo/ext/glm/glm/gtx/matrix_query.inl +114 -0
  1040. data/ext/pixo/ext/glm/glm/gtx/matrix_transform_2d.hpp +78 -0
  1041. data/ext/pixo/ext/glm/glm/gtx/matrix_transform_2d.inl +69 -0
  1042. data/ext/pixo/ext/glm/glm/gtx/mixed_product.hpp +37 -0
  1043. data/ext/pixo/ext/glm/glm/gtx/mixed_product.inl +16 -0
  1044. data/ext/pixo/ext/glm/glm/gtx/norm.hpp +86 -0
  1045. data/ext/pixo/ext/glm/glm/gtx/norm.inl +106 -0
  1046. data/ext/pixo/ext/glm/glm/gtx/normal.hpp +39 -0
  1047. data/ext/pixo/ext/glm/glm/gtx/normal.inl +16 -0
  1048. data/ext/pixo/ext/glm/glm/gtx/normalize_dot.hpp +45 -0
  1049. data/ext/pixo/ext/glm/glm/gtx/normalize_dot.inl +17 -0
  1050. data/ext/pixo/ext/glm/glm/gtx/number_precision.hpp +57 -0
  1051. data/ext/pixo/ext/glm/glm/gtx/number_precision.inl +7 -0
  1052. data/ext/pixo/ext/glm/glm/gtx/optimum_pow.hpp +50 -0
  1053. data/ext/pixo/ext/glm/glm/gtx/optimum_pow.inl +23 -0
  1054. data/ext/pixo/ext/glm/glm/gtx/orthonormalize.hpp +45 -0
  1055. data/ext/pixo/ext/glm/glm/gtx/orthonormalize.inl +30 -0
  1056. data/ext/pixo/ext/glm/glm/gtx/perpendicular.hpp +39 -0
  1057. data/ext/pixo/ext/glm/glm/gtx/perpendicular.inl +15 -0
  1058. data/ext/pixo/ext/glm/glm/gtx/polar_coordinates.hpp +44 -0
  1059. data/ext/pixo/ext/glm/glm/gtx/polar_coordinates.inl +37 -0
  1060. data/ext/pixo/ext/glm/glm/gtx/projection.hpp +36 -0
  1061. data/ext/pixo/ext/glm/glm/gtx/projection.inl +11 -0
  1062. data/ext/pixo/ext/glm/glm/gtx/quaternion.hpp +185 -0
  1063. data/ext/pixo/ext/glm/glm/gtx/quaternion.inl +212 -0
  1064. data/ext/pixo/ext/glm/glm/gtx/range.hpp +85 -0
  1065. data/ext/pixo/ext/glm/glm/gtx/raw_data.hpp +47 -0
  1066. data/ext/pixo/ext/glm/glm/gtx/raw_data.inl +2 -0
  1067. data/ext/pixo/ext/glm/glm/gtx/rotate_normalized_axis.hpp +64 -0
  1068. data/ext/pixo/ext/glm/glm/gtx/rotate_normalized_axis.inl +59 -0
  1069. data/ext/pixo/ext/glm/glm/gtx/rotate_vector.hpp +117 -0
  1070. data/ext/pixo/ext/glm/glm/gtx/rotate_vector.inl +188 -0
  1071. data/ext/pixo/ext/glm/glm/gtx/scalar_multiplication.hpp +69 -0
  1072. data/ext/pixo/ext/glm/glm/gtx/scalar_relational.hpp +32 -0
  1073. data/ext/pixo/ext/glm/glm/gtx/scalar_relational.inl +89 -0
  1074. data/ext/pixo/ext/glm/glm/gtx/spline.hpp +61 -0
  1075. data/ext/pixo/ext/glm/glm/gtx/spline.inl +63 -0
  1076. data/ext/pixo/ext/glm/glm/gtx/std_based_type.hpp +63 -0
  1077. data/ext/pixo/ext/glm/glm/gtx/std_based_type.inl +7 -0
  1078. data/ext/pixo/ext/glm/glm/gtx/string_cast.hpp +47 -0
  1079. data/ext/pixo/ext/glm/glm/gtx/string_cast.inl +458 -0
  1080. data/ext/pixo/ext/glm/glm/gtx/transform.hpp +56 -0
  1081. data/ext/pixo/ext/glm/glm/gtx/transform.inl +24 -0
  1082. data/ext/pixo/ext/glm/glm/gtx/transform2.hpp +107 -0
  1083. data/ext/pixo/ext/glm/glm/gtx/transform2.inl +126 -0
  1084. data/ext/pixo/ext/glm/glm/gtx/type_aligned.hpp +966 -0
  1085. data/ext/pixo/ext/glm/glm/gtx/type_aligned.inl +7 -0
  1086. data/ext/pixo/ext/glm/glm/gtx/type_trait.hpp +252 -0
  1087. data/ext/pixo/ext/glm/glm/gtx/type_trait.inl +0 -0
  1088. data/ext/pixo/ext/glm/glm/gtx/vector_angle.hpp +60 -0
  1089. data/ext/pixo/ext/glm/glm/gtx/vector_angle.inl +58 -0
  1090. data/ext/pixo/ext/glm/glm/gtx/vector_query.hpp +62 -0
  1091. data/ext/pixo/ext/glm/glm/gtx/vector_query.inl +193 -0
  1092. data/ext/pixo/ext/glm/glm/gtx/wrap.hpp +51 -0
  1093. data/ext/pixo/ext/glm/glm/gtx/wrap.inl +58 -0
  1094. data/ext/pixo/ext/glm/glm/integer.hpp +6 -0
  1095. data/ext/pixo/ext/glm/glm/mat2x2.hpp +52 -0
  1096. data/ext/pixo/ext/glm/glm/mat2x3.hpp +32 -0
  1097. data/ext/pixo/ext/glm/glm/mat2x4.hpp +31 -0
  1098. data/ext/pixo/ext/glm/glm/mat3x2.hpp +31 -0
  1099. data/ext/pixo/ext/glm/glm/mat3x3.hpp +52 -0
  1100. data/ext/pixo/ext/glm/glm/mat3x4.hpp +31 -0
  1101. data/ext/pixo/ext/glm/glm/mat4x2.hpp +31 -0
  1102. data/ext/pixo/ext/glm/glm/mat4x3.hpp +31 -0
  1103. data/ext/pixo/ext/glm/glm/mat4x4.hpp +52 -0
  1104. data/ext/pixo/ext/glm/glm/matrix.hpp +6 -0
  1105. data/ext/pixo/ext/glm/glm/packing.hpp +6 -0
  1106. data/ext/pixo/ext/glm/glm/simd/common.h +240 -0
  1107. data/ext/pixo/ext/glm/glm/simd/exponential.h +20 -0
  1108. data/ext/pixo/ext/glm/glm/simd/geometric.h +124 -0
  1109. data/ext/pixo/ext/glm/glm/simd/integer.h +115 -0
  1110. data/ext/pixo/ext/glm/glm/simd/matrix.h +1028 -0
  1111. data/ext/pixo/ext/glm/glm/simd/packing.h +8 -0
  1112. data/ext/pixo/ext/glm/glm/simd/platform.h +437 -0
  1113. data/ext/pixo/ext/glm/glm/simd/trigonometric.h +9 -0
  1114. data/ext/pixo/ext/glm/glm/simd/vector_relational.h +8 -0
  1115. data/ext/pixo/ext/glm/glm/trigonometric.hpp +6 -0
  1116. data/ext/pixo/ext/glm/glm/vec2.hpp +6 -0
  1117. data/ext/pixo/ext/glm/glm/vec3.hpp +6 -0
  1118. data/ext/pixo/ext/glm/glm/vec4.hpp +6 -0
  1119. data/ext/pixo/ext/glm/glm/vector_relational.hpp +6 -0
  1120. data/ext/pixo/ext/glm/readme.md +962 -0
  1121. data/ext/pixo/ext/glm/test/CMakeLists.txt +17 -0
  1122. data/ext/pixo/ext/glm/test/bug/CMakeLists.txt +0 -0
  1123. data/ext/pixo/ext/glm/test/core/CMakeLists.txt +38 -0
  1124. data/ext/pixo/ext/glm/test/core/core_func_common.cpp +1272 -0
  1125. data/ext/pixo/ext/glm/test/core/core_func_exponential.cpp +128 -0
  1126. data/ext/pixo/ext/glm/test/core/core_func_geometric.cpp +193 -0
  1127. data/ext/pixo/ext/glm/test/core/core_func_integer.cpp +1554 -0
  1128. data/ext/pixo/ext/glm/test/core/core_func_integer_bit_count.cpp +291 -0
  1129. data/ext/pixo/ext/glm/test/core/core_func_integer_find_lsb.cpp +400 -0
  1130. data/ext/pixo/ext/glm/test/core/core_func_integer_find_msb.cpp +438 -0
  1131. data/ext/pixo/ext/glm/test/core/core_func_matrix.cpp +277 -0
  1132. data/ext/pixo/ext/glm/test/core/core_func_noise.cpp +7 -0
  1133. data/ext/pixo/ext/glm/test/core/core_func_packing.cpp +156 -0
  1134. data/ext/pixo/ext/glm/test/core/core_func_swizzle.cpp +78 -0
  1135. data/ext/pixo/ext/glm/test/core/core_func_trigonometric.cpp +10 -0
  1136. data/ext/pixo/ext/glm/test/core/core_func_vector_relational.cpp +42 -0
  1137. data/ext/pixo/ext/glm/test/core/core_setup_force_cxx98.cpp +10 -0
  1138. data/ext/pixo/ext/glm/test/core/core_setup_message.cpp +263 -0
  1139. data/ext/pixo/ext/glm/test/core/core_setup_precision.cpp +58 -0
  1140. data/ext/pixo/ext/glm/test/core/core_type_aligned.cpp +128 -0
  1141. data/ext/pixo/ext/glm/test/core/core_type_cast.cpp +144 -0
  1142. data/ext/pixo/ext/glm/test/core/core_type_ctor.cpp +358 -0
  1143. data/ext/pixo/ext/glm/test/core/core_type_float.cpp +31 -0
  1144. data/ext/pixo/ext/glm/test/core/core_type_int.cpp +43 -0
  1145. data/ext/pixo/ext/glm/test/core/core_type_length.cpp +79 -0
  1146. data/ext/pixo/ext/glm/test/core/core_type_mat2x2.cpp +145 -0
  1147. data/ext/pixo/ext/glm/test/core/core_type_mat2x3.cpp +118 -0
  1148. data/ext/pixo/ext/glm/test/core/core_type_mat2x4.cpp +121 -0
  1149. data/ext/pixo/ext/glm/test/core/core_type_mat3x2.cpp +124 -0
  1150. data/ext/pixo/ext/glm/test/core/core_type_mat3x3.cpp +184 -0
  1151. data/ext/pixo/ext/glm/test/core/core_type_mat3x4.cpp +123 -0
  1152. data/ext/pixo/ext/glm/test/core/core_type_mat4x2.cpp +127 -0
  1153. data/ext/pixo/ext/glm/test/core/core_type_mat4x3.cpp +128 -0
  1154. data/ext/pixo/ext/glm/test/core/core_type_mat4x4.cpp +313 -0
  1155. data/ext/pixo/ext/glm/test/core/core_type_vec1.cpp +147 -0
  1156. data/ext/pixo/ext/glm/test/core/core_type_vec2.cpp +312 -0
  1157. data/ext/pixo/ext/glm/test/core/core_type_vec3.cpp +486 -0
  1158. data/ext/pixo/ext/glm/test/core/core_type_vec4.cpp +559 -0
  1159. data/ext/pixo/ext/glm/test/external/gli/CMakeLists.txt +27 -0
  1160. data/ext/pixo/ext/glm/test/external/gli/core/dummy.cpp +4 -0
  1161. data/ext/pixo/ext/glm/test/external/gli/core/generate_mipmaps.hpp +25 -0
  1162. data/ext/pixo/ext/glm/test/external/gli/core/generate_mipmaps.inl +69 -0
  1163. data/ext/pixo/ext/glm/test/external/gli/core/image2d.hpp +169 -0
  1164. data/ext/pixo/ext/glm/test/external/gli/core/image2d.inl +229 -0
  1165. data/ext/pixo/ext/glm/test/external/gli/core/operation.hpp +82 -0
  1166. data/ext/pixo/ext/glm/test/external/gli/core/operation.inl +233 -0
  1167. data/ext/pixo/ext/glm/test/external/gli/core/operator.hpp +28 -0
  1168. data/ext/pixo/ext/glm/test/external/gli/core/operator.inl +210 -0
  1169. data/ext/pixo/ext/glm/test/external/gli/core/shared_array.hpp +48 -0
  1170. data/ext/pixo/ext/glm/test/external/gli/core/shared_array.inl +151 -0
  1171. data/ext/pixo/ext/glm/test/external/gli/core/shared_ptr.hpp +41 -0
  1172. data/ext/pixo/ext/glm/test/external/gli/core/shared_ptr.inl +125 -0
  1173. data/ext/pixo/ext/glm/test/external/gli/core/size.hpp +31 -0
  1174. data/ext/pixo/ext/glm/test/external/gli/core/size.inl +47 -0
  1175. data/ext/pixo/ext/glm/test/external/gli/core/texture2d.hpp +122 -0
  1176. data/ext/pixo/ext/glm/test/external/gli/core/texture2d.inl +304 -0
  1177. data/ext/pixo/ext/glm/test/external/gli/core/texture2d_array.hpp +59 -0
  1178. data/ext/pixo/ext/glm/test/external/gli/core/texture2d_array.inl +78 -0
  1179. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube.hpp +65 -0
  1180. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube.inl +70 -0
  1181. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube_array.hpp +59 -0
  1182. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube_array.inl +72 -0
  1183. data/ext/pixo/ext/glm/test/external/gli/gli.hpp +31 -0
  1184. data/ext/pixo/ext/glm/test/external/gli/gtx/compression.hpp +27 -0
  1185. data/ext/pixo/ext/glm/test/external/gli/gtx/compression.inl +8 -0
  1186. data/ext/pixo/ext/glm/test/external/gli/gtx/fetch.hpp +46 -0
  1187. data/ext/pixo/ext/glm/test/external/gli/gtx/fetch.inl +91 -0
  1188. data/ext/pixo/ext/glm/test/external/gli/gtx/gl_texture2d.hpp +33 -0
  1189. data/ext/pixo/ext/glm/test/external/gli/gtx/gl_texture2d.inl +210 -0
  1190. data/ext/pixo/ext/glm/test/external/gli/gtx/gradient.hpp +38 -0
  1191. data/ext/pixo/ext/glm/test/external/gli/gtx/gradient.inl +74 -0
  1192. data/ext/pixo/ext/glm/test/external/gli/gtx/loader.hpp +37 -0
  1193. data/ext/pixo/ext/glm/test/external/gli/gtx/loader.inl +46 -0
  1194. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds10.hpp +35 -0
  1195. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds10.inl +595 -0
  1196. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds9.hpp +39 -0
  1197. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds9.inl +790 -0
  1198. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_tga.hpp +36 -0
  1199. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_tga.inl +159 -0
  1200. data/ext/pixo/ext/glm/test/external/gli/gtx/wavelet.hpp +27 -0
  1201. data/ext/pixo/ext/glm/test/external/gli/gtx/wavelet.inl +8 -0
  1202. data/ext/pixo/ext/glm/test/glm.cppcheck +6 -0
  1203. data/ext/pixo/ext/glm/test/gtc/CMakeLists.txt +22 -0
  1204. data/ext/pixo/ext/glm/test/gtc/gtc_bitfield.cpp +642 -0
  1205. data/ext/pixo/ext/glm/test/gtc/gtc_color_encoding.cpp +51 -0
  1206. data/ext/pixo/ext/glm/test/gtc/gtc_color_space.cpp +50 -0
  1207. data/ext/pixo/ext/glm/test/gtc/gtc_constants.cpp +28 -0
  1208. data/ext/pixo/ext/glm/test/gtc/gtc_epsilon.cpp +77 -0
  1209. data/ext/pixo/ext/glm/test/gtc/gtc_functions.cpp +35 -0
  1210. data/ext/pixo/ext/glm/test/gtc/gtc_integer.cpp +232 -0
  1211. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_access.cpp +381 -0
  1212. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_integer.cpp +8 -0
  1213. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_inverse.cpp +51 -0
  1214. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_transform.cpp +54 -0
  1215. data/ext/pixo/ext/glm/test/gtc/gtc_noise.cpp +188 -0
  1216. data/ext/pixo/ext/glm/test/gtc/gtc_packing.cpp +682 -0
  1217. data/ext/pixo/ext/glm/test/gtc/gtc_quaternion.cpp +312 -0
  1218. data/ext/pixo/ext/glm/test/gtc/gtc_random.cpp +377 -0
  1219. data/ext/pixo/ext/glm/test/gtc/gtc_reciprocal.cpp +8 -0
  1220. data/ext/pixo/ext/glm/test/gtc/gtc_round.cpp +458 -0
  1221. data/ext/pixo/ext/glm/test/gtc/gtc_type_aligned.cpp +118 -0
  1222. data/ext/pixo/ext/glm/test/gtc/gtc_type_precision.cpp +890 -0
  1223. data/ext/pixo/ext/glm/test/gtc/gtc_type_ptr.cpp +252 -0
  1224. data/ext/pixo/ext/glm/test/gtc/gtc_ulp.cpp +96 -0
  1225. data/ext/pixo/ext/glm/test/gtc/gtc_user_defined_types.cpp +30 -0
  1226. data/ext/pixo/ext/glm/test/gtc/gtc_vec1.cpp +8 -0
  1227. data/ext/pixo/ext/glm/test/gtx/CMakeLists.txt +49 -0
  1228. data/ext/pixo/ext/glm/test/gtx/gtx_associated_min_max.cpp +9 -0
  1229. data/ext/pixo/ext/glm/test/gtx/gtx_closest_point.cpp +8 -0
  1230. data/ext/pixo/ext/glm/test/gtx/gtx_color_space.cpp +19 -0
  1231. data/ext/pixo/ext/glm/test/gtx/gtx_color_space_YCoCg.cpp +8 -0
  1232. data/ext/pixo/ext/glm/test/gtx/gtx_common.cpp +127 -0
  1233. data/ext/pixo/ext/glm/test/gtx/gtx_compatibility.cpp +18 -0
  1234. data/ext/pixo/ext/glm/test/gtx/gtx_component_wise.cpp +115 -0
  1235. data/ext/pixo/ext/glm/test/gtx/gtx_dual_quaternion.cpp +188 -0
  1236. data/ext/pixo/ext/glm/test/gtx/gtx_euler_angle.cpp +328 -0
  1237. data/ext/pixo/ext/glm/test/gtx/gtx_extend.cpp +8 -0
  1238. data/ext/pixo/ext/glm/test/gtx/gtx_extended_min_max.cpp +8 -0
  1239. data/ext/pixo/ext/glm/test/gtx/gtx_extented_min_max.cpp +39 -0
  1240. data/ext/pixo/ext/glm/test/gtx/gtx_fast_exponential.cpp +8 -0
  1241. data/ext/pixo/ext/glm/test/gtx/gtx_fast_square_root.cpp +45 -0
  1242. data/ext/pixo/ext/glm/test/gtx/gtx_fast_trigonometry.cpp +445 -0
  1243. data/ext/pixo/ext/glm/test/gtx/gtx_gradient_paint.cpp +33 -0
  1244. data/ext/pixo/ext/glm/test/gtx/gtx_handed_coordinate_space.cpp +8 -0
  1245. data/ext/pixo/ext/glm/test/gtx/gtx_int_10_10_10_2.cpp +18 -0
  1246. data/ext/pixo/ext/glm/test/gtx/gtx_integer.cpp +64 -0
  1247. data/ext/pixo/ext/glm/test/gtx/gtx_intersect.cpp +8 -0
  1248. data/ext/pixo/ext/glm/test/gtx/gtx_io.cpp +175 -0
  1249. data/ext/pixo/ext/glm/test/gtx/gtx_log_base.cpp +53 -0
  1250. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_cross_product.cpp +8 -0
  1251. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_decompose.cpp +18 -0
  1252. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_interpolation.cpp +10 -0
  1253. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_major_storage.cpp +8 -0
  1254. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_operation.cpp +8 -0
  1255. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_query.cpp +65 -0
  1256. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_transform_2d.cpp +8 -0
  1257. data/ext/pixo/ext/glm/test/gtx/gtx_mixed_product.cpp +18 -0
  1258. data/ext/pixo/ext/glm/test/gtx/gtx_norm.cpp +8 -0
  1259. data/ext/pixo/ext/glm/test/gtx/gtx_normal.cpp +8 -0
  1260. data/ext/pixo/ext/glm/test/gtx/gtx_normalize_dot.cpp +8 -0
  1261. data/ext/pixo/ext/glm/test/gtx/gtx_number_precision.cpp +8 -0
  1262. data/ext/pixo/ext/glm/test/gtx/gtx_optimum_pow.cpp +8 -0
  1263. data/ext/pixo/ext/glm/test/gtx/gtx_orthonormalize.cpp +8 -0
  1264. data/ext/pixo/ext/glm/test/gtx/gtx_perpendicular.cpp +8 -0
  1265. data/ext/pixo/ext/glm/test/gtx/gtx_polar_coordinates.cpp +8 -0
  1266. data/ext/pixo/ext/glm/test/gtx/gtx_projection.cpp +8 -0
  1267. data/ext/pixo/ext/glm/test/gtx/gtx_quaternion.cpp +102 -0
  1268. data/ext/pixo/ext/glm/test/gtx/gtx_random.cpp +99 -0
  1269. data/ext/pixo/ext/glm/test/gtx/gtx_range.cpp +52 -0
  1270. data/ext/pixo/ext/glm/test/gtx/gtx_rotate_normalized_axis.cpp +8 -0
  1271. data/ext/pixo/ext/glm/test/gtx/gtx_rotate_vector.cpp +75 -0
  1272. data/ext/pixo/ext/glm/test/gtx/gtx_scalar_multiplication.cpp +34 -0
  1273. data/ext/pixo/ext/glm/test/gtx/gtx_scalar_relational.cpp +170 -0
  1274. data/ext/pixo/ext/glm/test/gtx/gtx_simd_mat4.cpp +324 -0
  1275. data/ext/pixo/ext/glm/test/gtx/gtx_simd_vec4.cpp +71 -0
  1276. data/ext/pixo/ext/glm/test/gtx/gtx_spline.cpp +99 -0
  1277. data/ext/pixo/ext/glm/test/gtx/gtx_string_cast.cpp +128 -0
  1278. data/ext/pixo/ext/glm/test/gtx/gtx_type_aligned.cpp +113 -0
  1279. data/ext/pixo/ext/glm/test/gtx/gtx_type_trait.cpp +12 -0
  1280. data/ext/pixo/ext/glm/test/gtx/gtx_vector_angle.cpp +58 -0
  1281. data/ext/pixo/ext/glm/test/gtx/gtx_vector_query.cpp +81 -0
  1282. data/ext/pixo/ext/glm/test/gtx/gtx_wrap.cpp +189 -0
  1283. data/ext/pixo/ext/glm/util/autoexp.txt +28 -0
  1284. data/ext/pixo/ext/glm/util/autoexp.vc2010.dat +3896 -0
  1285. data/ext/pixo/ext/glm/util/glm.natvis +69 -0
  1286. data/ext/pixo/ext/glm/util/usertype.dat +407 -0
  1287. data/ext/pixo/ext/tinyobjloader/CMakeLists.txt +146 -0
  1288. data/ext/pixo/ext/tinyobjloader/LICENSE +21 -0
  1289. data/ext/pixo/ext/tinyobjloader/README.md +254 -0
  1290. data/ext/pixo/ext/tinyobjloader/appveyor.yml +22 -0
  1291. data/ext/pixo/ext/tinyobjloader/build.ninja +53 -0
  1292. data/ext/pixo/ext/tinyobjloader/deps/cpplint.py +6323 -0
  1293. data/ext/pixo/ext/tinyobjloader/examples/callback_api/Makefile +2 -0
  1294. data/ext/pixo/ext/tinyobjloader/examples/callback_api/main.cc +166 -0
  1295. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/obj_sticher.cc +110 -0
  1296. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/obj_writer.cc +176 -0
  1297. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/obj_writer.h +9 -0
  1298. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/premake4.lua +38 -0
  1299. data/ext/pixo/ext/tinyobjloader/examples/viewer/README.md +37 -0
  1300. data/ext/pixo/ext/tinyobjloader/examples/viewer/premake4.lua +44 -0
  1301. data/ext/pixo/ext/tinyobjloader/examples/viewer/stb_image.h +6755 -0
  1302. data/ext/pixo/ext/tinyobjloader/examples/viewer/trackball.cc +292 -0
  1303. data/ext/pixo/ext/tinyobjloader/examples/viewer/trackball.h +75 -0
  1304. data/ext/pixo/ext/tinyobjloader/examples/viewer/viewer.cc +698 -0
  1305. data/ext/pixo/ext/tinyobjloader/examples/voxelize/Makefile +2 -0
  1306. data/ext/pixo/ext/tinyobjloader/examples/voxelize/README.md +5 -0
  1307. data/ext/pixo/ext/tinyobjloader/examples/voxelize/main.cc +74 -0
  1308. data/ext/pixo/ext/tinyobjloader/examples/voxelize/voxelizer.h +764 -0
  1309. data/ext/pixo/ext/tinyobjloader/experimental/LICENSE.ltalloc +26 -0
  1310. data/ext/pixo/ext/tinyobjloader/experimental/README.md +5 -0
  1311. data/ext/pixo/ext/tinyobjloader/experimental/ltalloc.cc +973 -0
  1312. data/ext/pixo/ext/tinyobjloader/experimental/ltalloc.h +14 -0
  1313. data/ext/pixo/ext/tinyobjloader/experimental/ltalloc.hpp +59 -0
  1314. data/ext/pixo/ext/tinyobjloader/experimental/premake5.lua +95 -0
  1315. data/ext/pixo/ext/tinyobjloader/experimental/tinyobj_loader_opt.h +1678 -0
  1316. data/ext/pixo/ext/tinyobjloader/experimental/trackball.cc +292 -0
  1317. data/ext/pixo/ext/tinyobjloader/experimental/trackball.h +75 -0
  1318. data/ext/pixo/ext/tinyobjloader/experimental/viewer.cc +748 -0
  1319. data/ext/pixo/ext/tinyobjloader/images/rungholt.jpg +0 -0
  1320. data/ext/pixo/ext/tinyobjloader/images/sanmugel.png +0 -0
  1321. data/ext/pixo/ext/tinyobjloader/jni/Android.mk +12 -0
  1322. data/ext/pixo/ext/tinyobjloader/jni/Application.mk +2 -0
  1323. data/ext/pixo/ext/tinyobjloader/jni/Makefile +2 -0
  1324. data/ext/pixo/ext/tinyobjloader/jni/README +1 -0
  1325. data/ext/pixo/ext/tinyobjloader/loader_example.cc +419 -0
  1326. data/ext/pixo/ext/tinyobjloader/models/catmark_torus_creases0.obj +101 -0
  1327. data/ext/pixo/ext/tinyobjloader/models/cornell_box.mtl +24 -0
  1328. data/ext/pixo/ext/tinyobjloader/models/cornell_box.obj +145 -0
  1329. data/ext/pixo/ext/tinyobjloader/models/cornell_box_multimaterial.obj +146 -0
  1330. data/ext/pixo/ext/tinyobjloader/models/cube.mtl +24 -0
  1331. data/ext/pixo/ext/tinyobjloader/models/cube.obj +31 -0
  1332. data/ext/pixo/ext/tinyobjloader/models/issue-92.mtl +6 -0
  1333. data/ext/pixo/ext/tinyobjloader/models/issue-92.obj +7 -0
  1334. data/ext/pixo/ext/tinyobjloader/models/issue-95-2.mtl +5 -0
  1335. data/ext/pixo/ext/tinyobjloader/models/issue-95-2.obj +7 -0
  1336. data/ext/pixo/ext/tinyobjloader/models/issue-95.mtl +5 -0
  1337. data/ext/pixo/ext/tinyobjloader/models/issue-95.obj +7 -0
  1338. data/ext/pixo/ext/tinyobjloader/models/missing_material_file.obj +145 -0
  1339. data/ext/pixo/ext/tinyobjloader/models/mtllib-multiple-files-issue-112.mtl +6 -0
  1340. data/ext/pixo/ext/tinyobjloader/models/mtllib-multiple-files-issue-112.obj +7 -0
  1341. data/ext/pixo/ext/tinyobjloader/models/no_material.obj +133 -0
  1342. data/ext/pixo/ext/tinyobjloader/models/pbr-mat-ext.mtl +19 -0
  1343. data/ext/pixo/ext/tinyobjloader/models/pbr-mat-ext.obj +10 -0
  1344. data/ext/pixo/ext/tinyobjloader/models/test-nan.obj +145 -0
  1345. data/ext/pixo/ext/tinyobjloader/models/texture-options-issue-85.mtl +36 -0
  1346. data/ext/pixo/ext/tinyobjloader/models/texture-options-issue-85.obj +7 -0
  1347. data/ext/pixo/ext/tinyobjloader/models/tr-and-d-issue-43.mtl +13 -0
  1348. data/ext/pixo/ext/tinyobjloader/models/tr-and-d-issue-43.obj +817 -0
  1349. data/ext/pixo/ext/tinyobjloader/models/usemtl-issue-104.obj +30 -0
  1350. data/ext/pixo/ext/tinyobjloader/models/usemtl-issue-68.mtl +9 -0
  1351. data/ext/pixo/ext/tinyobjloader/models/usemtl-issue-68.obj +817 -0
  1352. data/ext/pixo/ext/tinyobjloader/premake4.lua +29 -0
  1353. data/ext/pixo/ext/tinyobjloader/python/TODO.md +2 -0
  1354. data/ext/pixo/ext/tinyobjloader/python/cornell_box_multimaterial_output.json +581 -0
  1355. data/ext/pixo/ext/tinyobjloader/python/howto.py +9 -0
  1356. data/ext/pixo/ext/tinyobjloader/python/main.cpp +203 -0
  1357. data/ext/pixo/ext/tinyobjloader/python/setup.py +13 -0
  1358. data/ext/pixo/ext/tinyobjloader/tests/Makefile +16 -0
  1359. data/ext/pixo/ext/tinyobjloader/tests/README.md +37 -0
  1360. data/ext/pixo/ext/tinyobjloader/tests/catch.hpp +10445 -0
  1361. data/ext/pixo/ext/tinyobjloader/tests/config-msvc.py +52 -0
  1362. data/ext/pixo/ext/tinyobjloader/tests/config-posix.py +53 -0
  1363. data/ext/pixo/ext/tinyobjloader/tests/kuroga.py +312 -0
  1364. data/ext/pixo/ext/tinyobjloader/tests/tester.cc +588 -0
  1365. data/ext/pixo/ext/tinyobjloader/tests/vcbuild.bat +4 -0
  1366. data/ext/pixo/ext/tinyobjloader/tiny_obj_loader.cc +2 -0
  1367. data/ext/pixo/ext/tinyobjloader/tiny_obj_loader.h +2029 -0
  1368. data/ext/pixo/ext/tinyobjloader/tinyobjloader-config.cmake.in +9 -0
  1369. data/ext/pixo/ext/tinyobjloader/tinyobjloader.pc.in +15 -0
  1370. data/ext/pixo/ext/tinyobjloader/tools/travis_postbuild.sh +12 -0
  1371. data/ext/pixo/ext/tinyobjloader/tools/windows/premake5.exe +0 -0
  1372. data/ext/pixo/ext/tinyobjloader/vcsetup.bat +1 -0
  1373. data/ext/pixo/ext/tinyobjloader/wercker.yml +10 -0
  1374. data/ext/pixo/fadecandy_configs/4x4x4.json +21 -0
  1375. data/ext/pixo/fadecandy_configs/8x8x8.json +18 -0
  1376. data/ext/pixo/patterns/basic.glsl +20 -0
  1377. data/ext/pixo/patterns/bendy_pipes.glsl +116 -0
  1378. data/ext/pixo/patterns/blades.glsl +69 -0
  1379. data/ext/pixo/patterns/blob_neon.glsl +71 -0
  1380. data/ext/pixo/patterns/bubbles.glsl +58 -0
  1381. data/ext/pixo/patterns/chevron.glsl +45 -0
  1382. data/ext/pixo/patterns/clouds.glsl +382 -0
  1383. data/ext/pixo/patterns/cnoise.glsl +162 -0
  1384. data/ext/pixo/patterns/corrente_continua.glsl +51 -0
  1385. data/ext/pixo/patterns/drain.glsl +32 -0
  1386. data/ext/pixo/patterns/dual_spiral.glsl +21 -0
  1387. data/ext/pixo/patterns/ether.glsl +35 -0
  1388. data/ext/pixo/patterns/fire.glsl +56 -0
  1389. data/ext/pixo/patterns/fireball.glsl +229 -0
  1390. data/ext/pixo/patterns/flame.glsl +101 -0
  1391. data/ext/pixo/patterns/flower.glsl +27 -0
  1392. data/ext/pixo/patterns/galaxy.glsl +50 -0
  1393. data/ext/pixo/patterns/goop.glsl +117 -0
  1394. data/ext/pixo/patterns/hypno_rings.glsl +13 -0
  1395. data/ext/pixo/patterns/lightning.glsl +111 -0
  1396. data/ext/pixo/patterns/paint.glsl +39 -0
  1397. data/ext/pixo/patterns/plad.glsl +22 -0
  1398. data/ext/pixo/patterns/plasam.glsl +30 -0
  1399. data/ext/pixo/patterns/plasma_globe.glsl +215 -0
  1400. data/ext/pixo/patterns/pulse.glsl +44 -0
  1401. data/ext/pixo/patterns/pulsing_circles.glsl +32 -0
  1402. data/ext/pixo/patterns/rainbow_ribbon.glsl +41 -0
  1403. data/ext/pixo/patterns/rings.glsl +62 -0
  1404. data/ext/pixo/patterns/sauron.glsl +220 -0
  1405. data/ext/pixo/patterns/scales.glsl +64 -0
  1406. data/ext/pixo/patterns/soccer.glsl +737 -0
  1407. data/ext/pixo/patterns/spherical_polyhedra.glsl +251 -0
  1408. data/ext/pixo/patterns/spiral.glsl +23 -0
  1409. data/ext/pixo/patterns/star.glsl +518 -0
  1410. data/ext/pixo/patterns/tiedy.glsl +39 -0
  1411. data/ext/pixo/patterns/tunnel.glsl +145 -0
  1412. data/ext/pixo/patterns/warping_grid.glsl +50 -0
  1413. data/ext/pixo/pixlib/CMakeLists.txt +34 -0
  1414. data/ext/pixo/pixlib/include/opc_client.h +205 -0
  1415. data/ext/pixo/pixlib/include/pixlib/app.hpp +41 -0
  1416. data/ext/pixo/pixlib/include/pixlib/camera.hpp +78 -0
  1417. data/ext/pixo/pixlib/include/pixlib/cube.hpp +46 -0
  1418. data/ext/pixo/pixlib/include/pixlib/drawable.hpp +11 -0
  1419. data/ext/pixo/pixlib/include/pixlib/fade_candy.hpp +38 -0
  1420. data/ext/pixo/pixlib/include/pixlib/led_cluster.hpp +58 -0
  1421. data/ext/pixo/pixlib/include/pixlib/led_mesh.hpp +60 -0
  1422. data/ext/pixo/pixlib/include/pixlib/led_renderer.hpp +36 -0
  1423. data/ext/pixo/pixlib/include/pixlib/mesh.hpp +56 -0
  1424. data/ext/pixo/pixlib/include/pixlib/pattern.hpp +21 -0
  1425. data/ext/pixo/pixlib/include/pixlib/pattern_renderer.hpp +28 -0
  1426. data/ext/pixo/pixlib/include/pixlib/renderer.hpp +32 -0
  1427. data/ext/pixo/pixlib/include/pixlib/scene.hpp +39 -0
  1428. data/ext/pixo/pixlib/include/pixlib/shader.hpp +19 -0
  1429. data/ext/pixo/pixlib/include/pixlib/texture.hpp +34 -0
  1430. data/ext/pixo/pixlib/include/pixlib/timer.hpp +19 -0
  1431. data/ext/pixo/pixlib/include/pixlib.hpp +6 -0
  1432. data/ext/pixo/pixlib/src/app.cpp +59 -0
  1433. data/ext/pixo/pixlib/src/camera.cpp +106 -0
  1434. data/ext/pixo/pixlib/src/cube.cpp +100 -0
  1435. data/ext/pixo/pixlib/src/fade_candy.cpp +70 -0
  1436. data/ext/pixo/pixlib/src/led_cluster.cpp +78 -0
  1437. data/ext/pixo/pixlib/src/led_mesh.cpp +123 -0
  1438. data/ext/pixo/pixlib/src/led_renderer.cpp +135 -0
  1439. data/ext/pixo/pixlib/src/mesh.cpp +146 -0
  1440. data/ext/pixo/pixlib/src/pattern.cpp +32 -0
  1441. data/ext/pixo/pixlib/src/pattern_renderer.cpp +103 -0
  1442. data/ext/pixo/pixlib/src/renderer.cpp +127 -0
  1443. data/ext/pixo/pixlib/src/scene.cpp +52 -0
  1444. data/ext/pixo/pixlib/src/shader.cpp +59 -0
  1445. data/ext/pixo/pixlib/src/texture.cpp +62 -0
  1446. data/ext/pixo/pixlib/src/timer.cpp +39 -0
  1447. data/ext/pixo/src/CMakeLists.txt +14 -0
  1448. data/ext/pixo/src/main.cpp +244 -0
  1449. data/ext/pixo/src/opengl.h +4 -0
  1450. data/lib/pixo/version.rb +3 -0
  1451. data/lib/pixo.rb +7 -0
  1452. data/pixo.gemspec +34 -0
  1453. data/pkg/pixo-0.1.0.gem +0 -0
  1454. metadata +1539 -0
@@ -0,0 +1,2467 @@
1
+ /*
2
+ * Copyright (C) the Wine project
3
+ *
4
+ * This library is free software; you can redistribute it and/or
5
+ * modify it under the terms of the GNU Lesser General Public
6
+ * License as published by the Free Software Foundation; either
7
+ * version 2.1 of the License, or (at your option) any later version.
8
+ *
9
+ * This library is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ * Lesser General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Lesser General Public
15
+ * License along with this library; if not, write to the Free Software
16
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17
+ */
18
+
19
+ #ifndef __DINPUT_INCLUDED__
20
+ #define __DINPUT_INCLUDED__
21
+
22
+ #define COM_NO_WINDOWS_H
23
+ #include <objbase.h>
24
+ #include <_mingw_dxhelper.h>
25
+
26
+ #ifndef DIRECTINPUT_VERSION
27
+ #define DIRECTINPUT_VERSION 0x0800
28
+ #endif
29
+
30
+ /* Classes */
31
+ DEFINE_GUID(CLSID_DirectInput, 0x25E609E0,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
32
+ DEFINE_GUID(CLSID_DirectInputDevice, 0x25E609E1,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
33
+
34
+ DEFINE_GUID(CLSID_DirectInput8, 0x25E609E4,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
35
+ DEFINE_GUID(CLSID_DirectInputDevice8, 0x25E609E5,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
36
+
37
+ /* Interfaces */
38
+ DEFINE_GUID(IID_IDirectInputA, 0x89521360,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
39
+ DEFINE_GUID(IID_IDirectInputW, 0x89521361,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
40
+ DEFINE_GUID(IID_IDirectInput2A, 0x5944E662,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
41
+ DEFINE_GUID(IID_IDirectInput2W, 0x5944E663,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
42
+ DEFINE_GUID(IID_IDirectInput7A, 0x9A4CB684,0x236D,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE);
43
+ DEFINE_GUID(IID_IDirectInput7W, 0x9A4CB685,0x236D,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE);
44
+ DEFINE_GUID(IID_IDirectInput8A, 0xBF798030,0x483A,0x4DA2,0xAA,0x99,0x5D,0x64,0xED,0x36,0x97,0x00);
45
+ DEFINE_GUID(IID_IDirectInput8W, 0xBF798031,0x483A,0x4DA2,0xAA,0x99,0x5D,0x64,0xED,0x36,0x97,0x00);
46
+ DEFINE_GUID(IID_IDirectInputDeviceA, 0x5944E680,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
47
+ DEFINE_GUID(IID_IDirectInputDeviceW, 0x5944E681,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
48
+ DEFINE_GUID(IID_IDirectInputDevice2A, 0x5944E682,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
49
+ DEFINE_GUID(IID_IDirectInputDevice2W, 0x5944E683,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
50
+ DEFINE_GUID(IID_IDirectInputDevice7A, 0x57D7C6BC,0x2356,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE);
51
+ DEFINE_GUID(IID_IDirectInputDevice7W, 0x57D7C6BD,0x2356,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE);
52
+ DEFINE_GUID(IID_IDirectInputDevice8A, 0x54D41080,0xDC15,0x4833,0xA4,0x1B,0x74,0x8F,0x73,0xA3,0x81,0x79);
53
+ DEFINE_GUID(IID_IDirectInputDevice8W, 0x54D41081,0xDC15,0x4833,0xA4,0x1B,0x74,0x8F,0x73,0xA3,0x81,0x79);
54
+ DEFINE_GUID(IID_IDirectInputEffect, 0xE7E1F7C0,0x88D2,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
55
+
56
+ /* Predefined object types */
57
+ DEFINE_GUID(GUID_XAxis, 0xA36D02E0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
58
+ DEFINE_GUID(GUID_YAxis, 0xA36D02E1,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
59
+ DEFINE_GUID(GUID_ZAxis, 0xA36D02E2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
60
+ DEFINE_GUID(GUID_RxAxis,0xA36D02F4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
61
+ DEFINE_GUID(GUID_RyAxis,0xA36D02F5,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
62
+ DEFINE_GUID(GUID_RzAxis,0xA36D02E3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
63
+ DEFINE_GUID(GUID_Slider,0xA36D02E4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
64
+ DEFINE_GUID(GUID_Button,0xA36D02F0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
65
+ DEFINE_GUID(GUID_Key, 0x55728220,0xD33C,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
66
+ DEFINE_GUID(GUID_POV, 0xA36D02F2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
67
+ DEFINE_GUID(GUID_Unknown,0xA36D02F3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
68
+
69
+ /* Predefined product GUIDs */
70
+ DEFINE_GUID(GUID_SysMouse, 0x6F1D2B60,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
71
+ DEFINE_GUID(GUID_SysKeyboard, 0x6F1D2B61,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
72
+ DEFINE_GUID(GUID_Joystick, 0x6F1D2B70,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
73
+ DEFINE_GUID(GUID_SysMouseEm, 0x6F1D2B80,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
74
+ DEFINE_GUID(GUID_SysMouseEm2, 0x6F1D2B81,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
75
+ DEFINE_GUID(GUID_SysKeyboardEm, 0x6F1D2B82,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
76
+ DEFINE_GUID(GUID_SysKeyboardEm2,0x6F1D2B83,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
77
+
78
+ /* predefined forcefeedback effects */
79
+ DEFINE_GUID(GUID_ConstantForce, 0x13541C20,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
80
+ DEFINE_GUID(GUID_RampForce, 0x13541C21,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
81
+ DEFINE_GUID(GUID_Square, 0x13541C22,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
82
+ DEFINE_GUID(GUID_Sine, 0x13541C23,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
83
+ DEFINE_GUID(GUID_Triangle, 0x13541C24,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
84
+ DEFINE_GUID(GUID_SawtoothUp, 0x13541C25,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
85
+ DEFINE_GUID(GUID_SawtoothDown, 0x13541C26,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
86
+ DEFINE_GUID(GUID_Spring, 0x13541C27,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
87
+ DEFINE_GUID(GUID_Damper, 0x13541C28,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
88
+ DEFINE_GUID(GUID_Inertia, 0x13541C29,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
89
+ DEFINE_GUID(GUID_Friction, 0x13541C2A,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
90
+ DEFINE_GUID(GUID_CustomForce, 0x13541C2B,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
91
+
92
+ typedef struct IDirectInputA *LPDIRECTINPUTA;
93
+ typedef struct IDirectInputW *LPDIRECTINPUTW;
94
+ typedef struct IDirectInput2A *LPDIRECTINPUT2A;
95
+ typedef struct IDirectInput2W *LPDIRECTINPUT2W;
96
+ typedef struct IDirectInput7A *LPDIRECTINPUT7A;
97
+ typedef struct IDirectInput7W *LPDIRECTINPUT7W;
98
+ #if DIRECTINPUT_VERSION >= 0x0800
99
+ typedef struct IDirectInput8A *LPDIRECTINPUT8A;
100
+ typedef struct IDirectInput8W *LPDIRECTINPUT8W;
101
+ #endif /* DI8 */
102
+ typedef struct IDirectInputDeviceA *LPDIRECTINPUTDEVICEA;
103
+ typedef struct IDirectInputDeviceW *LPDIRECTINPUTDEVICEW;
104
+ #if DIRECTINPUT_VERSION >= 0x0500
105
+ typedef struct IDirectInputDevice2A *LPDIRECTINPUTDEVICE2A;
106
+ typedef struct IDirectInputDevice2W *LPDIRECTINPUTDEVICE2W;
107
+ #endif /* DI5 */
108
+ #if DIRECTINPUT_VERSION >= 0x0700
109
+ typedef struct IDirectInputDevice7A *LPDIRECTINPUTDEVICE7A;
110
+ typedef struct IDirectInputDevice7W *LPDIRECTINPUTDEVICE7W;
111
+ #endif /* DI7 */
112
+ #if DIRECTINPUT_VERSION >= 0x0800
113
+ typedef struct IDirectInputDevice8A *LPDIRECTINPUTDEVICE8A;
114
+ typedef struct IDirectInputDevice8W *LPDIRECTINPUTDEVICE8W;
115
+ #endif /* DI8 */
116
+ #if DIRECTINPUT_VERSION >= 0x0500
117
+ typedef struct IDirectInputEffect *LPDIRECTINPUTEFFECT;
118
+ #endif /* DI5 */
119
+ typedef struct SysKeyboardA *LPSYSKEYBOARDA;
120
+ typedef struct SysMouseA *LPSYSMOUSEA;
121
+
122
+ #define IID_IDirectInput WINELIB_NAME_AW(IID_IDirectInput)
123
+ #define IDirectInput WINELIB_NAME_AW(IDirectInput)
124
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUT)
125
+ #define IID_IDirectInput2 WINELIB_NAME_AW(IID_IDirectInput2)
126
+ #define IDirectInput2 WINELIB_NAME_AW(IDirectInput2)
127
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUT2)
128
+ #define IID_IDirectInput7 WINELIB_NAME_AW(IID_IDirectInput7)
129
+ #define IDirectInput7 WINELIB_NAME_AW(IDirectInput7)
130
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUT7)
131
+ #if DIRECTINPUT_VERSION >= 0x0800
132
+ #define IID_IDirectInput8 WINELIB_NAME_AW(IID_IDirectInput8)
133
+ #define IDirectInput8 WINELIB_NAME_AW(IDirectInput8)
134
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUT8)
135
+ #endif /* DI8 */
136
+ #define IID_IDirectInputDevice WINELIB_NAME_AW(IID_IDirectInputDevice)
137
+ #define IDirectInputDevice WINELIB_NAME_AW(IDirectInputDevice)
138
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUTDEVICE)
139
+ #if DIRECTINPUT_VERSION >= 0x0500
140
+ #define IID_IDirectInputDevice2 WINELIB_NAME_AW(IID_IDirectInputDevice2)
141
+ #define IDirectInputDevice2 WINELIB_NAME_AW(IDirectInputDevice2)
142
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUTDEVICE2)
143
+ #endif /* DI5 */
144
+ #if DIRECTINPUT_VERSION >= 0x0700
145
+ #define IID_IDirectInputDevice7 WINELIB_NAME_AW(IID_IDirectInputDevice7)
146
+ #define IDirectInputDevice7 WINELIB_NAME_AW(IDirectInputDevice7)
147
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUTDEVICE7)
148
+ #endif /* DI7 */
149
+ #if DIRECTINPUT_VERSION >= 0x0800
150
+ #define IID_IDirectInputDevice8 WINELIB_NAME_AW(IID_IDirectInputDevice8)
151
+ #define IDirectInputDevice8 WINELIB_NAME_AW(IDirectInputDevice8)
152
+ DECL_WINELIB_TYPE_AW(LPDIRECTINPUTDEVICE8)
153
+ #endif /* DI8 */
154
+
155
+ #define DI_OK S_OK
156
+ #define DI_NOTATTACHED S_FALSE
157
+ #define DI_BUFFEROVERFLOW S_FALSE
158
+ #define DI_PROPNOEFFECT S_FALSE
159
+ #define DI_NOEFFECT S_FALSE
160
+ #define DI_POLLEDDEVICE ((HRESULT)0x00000002L)
161
+ #define DI_DOWNLOADSKIPPED ((HRESULT)0x00000003L)
162
+ #define DI_EFFECTRESTARTED ((HRESULT)0x00000004L)
163
+ #define DI_TRUNCATED ((HRESULT)0x00000008L)
164
+ #define DI_SETTINGSNOTSAVED ((HRESULT)0x0000000BL)
165
+ #define DI_TRUNCATEDANDRESTARTED ((HRESULT)0x0000000CL)
166
+ #define DI_WRITEPROTECT ((HRESULT)0x00000013L)
167
+
168
+ #define DIERR_OLDDIRECTINPUTVERSION \
169
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_OLD_WIN_VERSION)
170
+ #define DIERR_BETADIRECTINPUTVERSION \
171
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_RMODE_APP)
172
+ #define DIERR_BADDRIVERVER \
173
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_BAD_DRIVER_LEVEL)
174
+ #define DIERR_DEVICENOTREG REGDB_E_CLASSNOTREG
175
+ #define DIERR_NOTFOUND \
176
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND)
177
+ #define DIERR_OBJECTNOTFOUND \
178
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND)
179
+ #define DIERR_INVALIDPARAM E_INVALIDARG
180
+ #define DIERR_NOINTERFACE E_NOINTERFACE
181
+ #define DIERR_GENERIC E_FAIL
182
+ #define DIERR_OUTOFMEMORY E_OUTOFMEMORY
183
+ #define DIERR_UNSUPPORTED E_NOTIMPL
184
+ #define DIERR_NOTINITIALIZED \
185
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NOT_READY)
186
+ #define DIERR_ALREADYINITIALIZED \
187
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_ALREADY_INITIALIZED)
188
+ #define DIERR_NOAGGREGATION CLASS_E_NOAGGREGATION
189
+ #define DIERR_OTHERAPPHASPRIO E_ACCESSDENIED
190
+ #define DIERR_INPUTLOST \
191
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_READ_FAULT)
192
+ #define DIERR_ACQUIRED \
193
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_BUSY)
194
+ #define DIERR_NOTACQUIRED \
195
+ MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_INVALID_ACCESS)
196
+ #define DIERR_READONLY E_ACCESSDENIED
197
+ #define DIERR_HANDLEEXISTS E_ACCESSDENIED
198
+ #ifndef E_PENDING
199
+ #define E_PENDING 0x8000000AL
200
+ #endif
201
+ #define DIERR_INSUFFICIENTPRIVS 0x80040200L
202
+ #define DIERR_DEVICEFULL 0x80040201L
203
+ #define DIERR_MOREDATA 0x80040202L
204
+ #define DIERR_NOTDOWNLOADED 0x80040203L
205
+ #define DIERR_HASEFFECTS 0x80040204L
206
+ #define DIERR_NOTEXCLUSIVEACQUIRED 0x80040205L
207
+ #define DIERR_INCOMPLETEEFFECT 0x80040206L
208
+ #define DIERR_NOTBUFFERED 0x80040207L
209
+ #define DIERR_EFFECTPLAYING 0x80040208L
210
+ #define DIERR_UNPLUGGED 0x80040209L
211
+ #define DIERR_REPORTFULL 0x8004020AL
212
+ #define DIERR_MAPFILEFAIL 0x8004020BL
213
+
214
+ #define DIENUM_STOP 0
215
+ #define DIENUM_CONTINUE 1
216
+
217
+ #define DIEDFL_ALLDEVICES 0x00000000
218
+ #define DIEDFL_ATTACHEDONLY 0x00000001
219
+ #define DIEDFL_FORCEFEEDBACK 0x00000100
220
+ #define DIEDFL_INCLUDEALIASES 0x00010000
221
+ #define DIEDFL_INCLUDEPHANTOMS 0x00020000
222
+ #define DIEDFL_INCLUDEHIDDEN 0x00040000
223
+
224
+ #define DIDEVTYPE_DEVICE 1
225
+ #define DIDEVTYPE_MOUSE 2
226
+ #define DIDEVTYPE_KEYBOARD 3
227
+ #define DIDEVTYPE_JOYSTICK 4
228
+ #define DIDEVTYPE_HID 0x00010000
229
+
230
+ #define DI8DEVCLASS_ALL 0
231
+ #define DI8DEVCLASS_DEVICE 1
232
+ #define DI8DEVCLASS_POINTER 2
233
+ #define DI8DEVCLASS_KEYBOARD 3
234
+ #define DI8DEVCLASS_GAMECTRL 4
235
+
236
+ #define DI8DEVTYPE_DEVICE 0x11
237
+ #define DI8DEVTYPE_MOUSE 0x12
238
+ #define DI8DEVTYPE_KEYBOARD 0x13
239
+ #define DI8DEVTYPE_JOYSTICK 0x14
240
+ #define DI8DEVTYPE_GAMEPAD 0x15
241
+ #define DI8DEVTYPE_DRIVING 0x16
242
+ #define DI8DEVTYPE_FLIGHT 0x17
243
+ #define DI8DEVTYPE_1STPERSON 0x18
244
+ #define DI8DEVTYPE_DEVICECTRL 0x19
245
+ #define DI8DEVTYPE_SCREENPOINTER 0x1A
246
+ #define DI8DEVTYPE_REMOTE 0x1B
247
+ #define DI8DEVTYPE_SUPPLEMENTAL 0x1C
248
+
249
+ #define DIDEVTYPEMOUSE_UNKNOWN 1
250
+ #define DIDEVTYPEMOUSE_TRADITIONAL 2
251
+ #define DIDEVTYPEMOUSE_FINGERSTICK 3
252
+ #define DIDEVTYPEMOUSE_TOUCHPAD 4
253
+ #define DIDEVTYPEMOUSE_TRACKBALL 5
254
+
255
+ #define DIDEVTYPEKEYBOARD_UNKNOWN 0
256
+ #define DIDEVTYPEKEYBOARD_PCXT 1
257
+ #define DIDEVTYPEKEYBOARD_OLIVETTI 2
258
+ #define DIDEVTYPEKEYBOARD_PCAT 3
259
+ #define DIDEVTYPEKEYBOARD_PCENH 4
260
+ #define DIDEVTYPEKEYBOARD_NOKIA1050 5
261
+ #define DIDEVTYPEKEYBOARD_NOKIA9140 6
262
+ #define DIDEVTYPEKEYBOARD_NEC98 7
263
+ #define DIDEVTYPEKEYBOARD_NEC98LAPTOP 8
264
+ #define DIDEVTYPEKEYBOARD_NEC98106 9
265
+ #define DIDEVTYPEKEYBOARD_JAPAN106 10
266
+ #define DIDEVTYPEKEYBOARD_JAPANAX 11
267
+ #define DIDEVTYPEKEYBOARD_J3100 12
268
+
269
+ #define DIDEVTYPEJOYSTICK_UNKNOWN 1
270
+ #define DIDEVTYPEJOYSTICK_TRADITIONAL 2
271
+ #define DIDEVTYPEJOYSTICK_FLIGHTSTICK 3
272
+ #define DIDEVTYPEJOYSTICK_GAMEPAD 4
273
+ #define DIDEVTYPEJOYSTICK_RUDDER 5
274
+ #define DIDEVTYPEJOYSTICK_WHEEL 6
275
+ #define DIDEVTYPEJOYSTICK_HEADTRACKER 7
276
+
277
+ #define DI8DEVTYPEMOUSE_UNKNOWN 1
278
+ #define DI8DEVTYPEMOUSE_TRADITIONAL 2
279
+ #define DI8DEVTYPEMOUSE_FINGERSTICK 3
280
+ #define DI8DEVTYPEMOUSE_TOUCHPAD 4
281
+ #define DI8DEVTYPEMOUSE_TRACKBALL 5
282
+ #define DI8DEVTYPEMOUSE_ABSOLUTE 6
283
+
284
+ #define DI8DEVTYPEKEYBOARD_UNKNOWN 0
285
+ #define DI8DEVTYPEKEYBOARD_PCXT 1
286
+ #define DI8DEVTYPEKEYBOARD_OLIVETTI 2
287
+ #define DI8DEVTYPEKEYBOARD_PCAT 3
288
+ #define DI8DEVTYPEKEYBOARD_PCENH 4
289
+ #define DI8DEVTYPEKEYBOARD_NOKIA1050 5
290
+ #define DI8DEVTYPEKEYBOARD_NOKIA9140 6
291
+ #define DI8DEVTYPEKEYBOARD_NEC98 7
292
+ #define DI8DEVTYPEKEYBOARD_NEC98LAPTOP 8
293
+ #define DI8DEVTYPEKEYBOARD_NEC98106 9
294
+ #define DI8DEVTYPEKEYBOARD_JAPAN106 10
295
+ #define DI8DEVTYPEKEYBOARD_JAPANAX 11
296
+ #define DI8DEVTYPEKEYBOARD_J3100 12
297
+
298
+ #define DI8DEVTYPE_LIMITEDGAMESUBTYPE 1
299
+
300
+ #define DI8DEVTYPEJOYSTICK_LIMITED DI8DEVTYPE_LIMITEDGAMESUBTYPE
301
+ #define DI8DEVTYPEJOYSTICK_STANDARD 2
302
+
303
+ #define DI8DEVTYPEGAMEPAD_LIMITED DI8DEVTYPE_LIMITEDGAMESUBTYPE
304
+ #define DI8DEVTYPEGAMEPAD_STANDARD 2
305
+ #define DI8DEVTYPEGAMEPAD_TILT 3
306
+
307
+ #define DI8DEVTYPEDRIVING_LIMITED DI8DEVTYPE_LIMITEDGAMESUBTYPE
308
+ #define DI8DEVTYPEDRIVING_COMBINEDPEDALS 2
309
+ #define DI8DEVTYPEDRIVING_DUALPEDALS 3
310
+ #define DI8DEVTYPEDRIVING_THREEPEDALS 4
311
+ #define DI8DEVTYPEDRIVING_HANDHELD 5
312
+
313
+ #define DI8DEVTYPEFLIGHT_LIMITED DI8DEVTYPE_LIMITEDGAMESUBTYPE
314
+ #define DI8DEVTYPEFLIGHT_STICK 2
315
+ #define DI8DEVTYPEFLIGHT_YOKE 3
316
+ #define DI8DEVTYPEFLIGHT_RC 4
317
+
318
+ #define DI8DEVTYPE1STPERSON_LIMITED DI8DEVTYPE_LIMITEDGAMESUBTYPE
319
+ #define DI8DEVTYPE1STPERSON_UNKNOWN 2
320
+ #define DI8DEVTYPE1STPERSON_SIXDOF 3
321
+ #define DI8DEVTYPE1STPERSON_SHOOTER 4
322
+
323
+ #define DI8DEVTYPESCREENPTR_UNKNOWN 2
324
+ #define DI8DEVTYPESCREENPTR_LIGHTGUN 3
325
+ #define DI8DEVTYPESCREENPTR_LIGHTPEN 4
326
+ #define DI8DEVTYPESCREENPTR_TOUCH 5
327
+
328
+ #define DI8DEVTYPEREMOTE_UNKNOWN 2
329
+
330
+ #define DI8DEVTYPEDEVICECTRL_UNKNOWN 2
331
+ #define DI8DEVTYPEDEVICECTRL_COMMSSELECTION 3
332
+ #define DI8DEVTYPEDEVICECTRL_COMMSSELECTION_HARDWIRED 4
333
+
334
+ #define DI8DEVTYPESUPPLEMENTAL_UNKNOWN 2
335
+ #define DI8DEVTYPESUPPLEMENTAL_2NDHANDCONTROLLER 3
336
+ #define DI8DEVTYPESUPPLEMENTAL_HEADTRACKER 4
337
+ #define DI8DEVTYPESUPPLEMENTAL_HANDTRACKER 5
338
+ #define DI8DEVTYPESUPPLEMENTAL_SHIFTSTICKGATE 6
339
+ #define DI8DEVTYPESUPPLEMENTAL_SHIFTER 7
340
+ #define DI8DEVTYPESUPPLEMENTAL_THROTTLE 8
341
+ #define DI8DEVTYPESUPPLEMENTAL_SPLITTHROTTLE 9
342
+ #define DI8DEVTYPESUPPLEMENTAL_COMBINEDPEDALS 10
343
+ #define DI8DEVTYPESUPPLEMENTAL_DUALPEDALS 11
344
+ #define DI8DEVTYPESUPPLEMENTAL_THREEPEDALS 12
345
+ #define DI8DEVTYPESUPPLEMENTAL_RUDDERPEDALS 13
346
+
347
+ #define GET_DIDEVICE_TYPE(dwDevType) LOBYTE(dwDevType)
348
+ #define GET_DIDEVICE_SUBTYPE(dwDevType) HIBYTE(dwDevType)
349
+
350
+ typedef struct DIDEVICEOBJECTINSTANCE_DX3A {
351
+ DWORD dwSize;
352
+ GUID guidType;
353
+ DWORD dwOfs;
354
+ DWORD dwType;
355
+ DWORD dwFlags;
356
+ CHAR tszName[MAX_PATH];
357
+ } DIDEVICEOBJECTINSTANCE_DX3A, *LPDIDEVICEOBJECTINSTANCE_DX3A;
358
+ typedef const DIDEVICEOBJECTINSTANCE_DX3A *LPCDIDEVICEOBJECTINSTANCE_DX3A;
359
+ typedef struct DIDEVICEOBJECTINSTANCE_DX3W {
360
+ DWORD dwSize;
361
+ GUID guidType;
362
+ DWORD dwOfs;
363
+ DWORD dwType;
364
+ DWORD dwFlags;
365
+ WCHAR tszName[MAX_PATH];
366
+ } DIDEVICEOBJECTINSTANCE_DX3W, *LPDIDEVICEOBJECTINSTANCE_DX3W;
367
+ typedef const DIDEVICEOBJECTINSTANCE_DX3W *LPCDIDEVICEOBJECTINSTANCE_DX3W;
368
+
369
+ DECL_WINELIB_TYPE_AW(DIDEVICEOBJECTINSTANCE_DX3)
370
+ DECL_WINELIB_TYPE_AW(LPDIDEVICEOBJECTINSTANCE_DX3)
371
+ DECL_WINELIB_TYPE_AW(LPCDIDEVICEOBJECTINSTANCE_DX3)
372
+
373
+ typedef struct DIDEVICEOBJECTINSTANCEA {
374
+ DWORD dwSize;
375
+ GUID guidType;
376
+ DWORD dwOfs;
377
+ DWORD dwType;
378
+ DWORD dwFlags;
379
+ CHAR tszName[MAX_PATH];
380
+ #if(DIRECTINPUT_VERSION >= 0x0500)
381
+ DWORD dwFFMaxForce;
382
+ DWORD dwFFForceResolution;
383
+ WORD wCollectionNumber;
384
+ WORD wDesignatorIndex;
385
+ WORD wUsagePage;
386
+ WORD wUsage;
387
+ DWORD dwDimension;
388
+ WORD wExponent;
389
+ WORD wReserved;
390
+ #endif /* DIRECTINPUT_VERSION >= 0x0500 */
391
+ } DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA;
392
+ typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA;
393
+
394
+ typedef struct DIDEVICEOBJECTINSTANCEW {
395
+ DWORD dwSize;
396
+ GUID guidType;
397
+ DWORD dwOfs;
398
+ DWORD dwType;
399
+ DWORD dwFlags;
400
+ WCHAR tszName[MAX_PATH];
401
+ #if(DIRECTINPUT_VERSION >= 0x0500)
402
+ DWORD dwFFMaxForce;
403
+ DWORD dwFFForceResolution;
404
+ WORD wCollectionNumber;
405
+ WORD wDesignatorIndex;
406
+ WORD wUsagePage;
407
+ WORD wUsage;
408
+ DWORD dwDimension;
409
+ WORD wExponent;
410
+ WORD wReserved;
411
+ #endif /* DIRECTINPUT_VERSION >= 0x0500 */
412
+ } DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW;
413
+ typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW;
414
+
415
+ DECL_WINELIB_TYPE_AW(DIDEVICEOBJECTINSTANCE)
416
+ DECL_WINELIB_TYPE_AW(LPDIDEVICEOBJECTINSTANCE)
417
+ DECL_WINELIB_TYPE_AW(LPCDIDEVICEOBJECTINSTANCE)
418
+
419
+ typedef struct DIDEVICEINSTANCE_DX3A {
420
+ DWORD dwSize;
421
+ GUID guidInstance;
422
+ GUID guidProduct;
423
+ DWORD dwDevType;
424
+ CHAR tszInstanceName[MAX_PATH];
425
+ CHAR tszProductName[MAX_PATH];
426
+ } DIDEVICEINSTANCE_DX3A, *LPDIDEVICEINSTANCE_DX3A;
427
+ typedef const DIDEVICEINSTANCE_DX3A *LPCDIDEVICEINSTANCE_DX3A;
428
+ typedef struct DIDEVICEINSTANCE_DX3W {
429
+ DWORD dwSize;
430
+ GUID guidInstance;
431
+ GUID guidProduct;
432
+ DWORD dwDevType;
433
+ WCHAR tszInstanceName[MAX_PATH];
434
+ WCHAR tszProductName[MAX_PATH];
435
+ } DIDEVICEINSTANCE_DX3W, *LPDIDEVICEINSTANCE_DX3W;
436
+ typedef const DIDEVICEINSTANCE_DX3W *LPCDIDEVICEINSTANCE_DX3W;
437
+
438
+ DECL_WINELIB_TYPE_AW(DIDEVICEINSTANCE_DX3)
439
+ DECL_WINELIB_TYPE_AW(LPDIDEVICEINSTANCE_DX3)
440
+ DECL_WINELIB_TYPE_AW(LPCDIDEVICEINSTANCE_DX3)
441
+
442
+ typedef struct DIDEVICEINSTANCEA {
443
+ DWORD dwSize;
444
+ GUID guidInstance;
445
+ GUID guidProduct;
446
+ DWORD dwDevType;
447
+ CHAR tszInstanceName[MAX_PATH];
448
+ CHAR tszProductName[MAX_PATH];
449
+ #if(DIRECTINPUT_VERSION >= 0x0500)
450
+ GUID guidFFDriver;
451
+ WORD wUsagePage;
452
+ WORD wUsage;
453
+ #endif /* DIRECTINPUT_VERSION >= 0x0500 */
454
+ } DIDEVICEINSTANCEA, *LPDIDEVICEINSTANCEA;
455
+ typedef const DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA;
456
+
457
+ typedef struct DIDEVICEINSTANCEW {
458
+ DWORD dwSize;
459
+ GUID guidInstance;
460
+ GUID guidProduct;
461
+ DWORD dwDevType;
462
+ WCHAR tszInstanceName[MAX_PATH];
463
+ WCHAR tszProductName[MAX_PATH];
464
+ #if(DIRECTINPUT_VERSION >= 0x0500)
465
+ GUID guidFFDriver;
466
+ WORD wUsagePage;
467
+ WORD wUsage;
468
+ #endif /* DIRECTINPUT_VERSION >= 0x0500 */
469
+ } DIDEVICEINSTANCEW, *LPDIDEVICEINSTANCEW;
470
+ typedef const DIDEVICEINSTANCEW *LPCDIDEVICEINSTANCEW;
471
+
472
+ DECL_WINELIB_TYPE_AW(DIDEVICEINSTANCE)
473
+ DECL_WINELIB_TYPE_AW(LPDIDEVICEINSTANCE)
474
+ DECL_WINELIB_TYPE_AW(LPCDIDEVICEINSTANCE)
475
+
476
+ typedef BOOL (CALLBACK *LPDIENUMDEVICESCALLBACKA)(LPCDIDEVICEINSTANCEA,LPVOID);
477
+ typedef BOOL (CALLBACK *LPDIENUMDEVICESCALLBACKW)(LPCDIDEVICEINSTANCEW,LPVOID);
478
+ DECL_WINELIB_TYPE_AW(LPDIENUMDEVICESCALLBACK)
479
+
480
+ #define DIEDBS_MAPPEDPRI1 0x00000001
481
+ #define DIEDBS_MAPPEDPRI2 0x00000002
482
+ #define DIEDBS_RECENTDEVICE 0x00000010
483
+ #define DIEDBS_NEWDEVICE 0x00000020
484
+
485
+ #define DIEDBSFL_ATTACHEDONLY 0x00000000
486
+ #define DIEDBSFL_THISUSER 0x00000010
487
+ #define DIEDBSFL_FORCEFEEDBACK DIEDFL_FORCEFEEDBACK
488
+ #define DIEDBSFL_AVAILABLEDEVICES 0x00001000
489
+ #define DIEDBSFL_MULTIMICEKEYBOARDS 0x00002000
490
+ #define DIEDBSFL_NONGAMINGDEVICES 0x00004000
491
+ #define DIEDBSFL_VALID 0x00007110
492
+
493
+ #if DIRECTINPUT_VERSION >= 0x0800
494
+ typedef BOOL (CALLBACK *LPDIENUMDEVICESBYSEMANTICSCBA)(LPCDIDEVICEINSTANCEA,LPDIRECTINPUTDEVICE8A,DWORD,DWORD,LPVOID);
495
+ typedef BOOL (CALLBACK *LPDIENUMDEVICESBYSEMANTICSCBW)(LPCDIDEVICEINSTANCEW,LPDIRECTINPUTDEVICE8W,DWORD,DWORD,LPVOID);
496
+ DECL_WINELIB_TYPE_AW(LPDIENUMDEVICESBYSEMANTICSCB)
497
+ #endif
498
+
499
+ typedef BOOL (CALLBACK *LPDICONFIGUREDEVICESCALLBACK)(LPUNKNOWN,LPVOID);
500
+
501
+ typedef BOOL (CALLBACK *LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA,LPVOID);
502
+ typedef BOOL (CALLBACK *LPDIENUMDEVICEOBJECTSCALLBACKW)(LPCDIDEVICEOBJECTINSTANCEW,LPVOID);
503
+ DECL_WINELIB_TYPE_AW(LPDIENUMDEVICEOBJECTSCALLBACK)
504
+
505
+ #if DIRECTINPUT_VERSION >= 0x0500
506
+ typedef BOOL (CALLBACK *LPDIENUMCREATEDEFFECTOBJECTSCALLBACK)(LPDIRECTINPUTEFFECT, LPVOID);
507
+ #endif
508
+
509
+ #define DIK_ESCAPE 0x01
510
+ #define DIK_1 0x02
511
+ #define DIK_2 0x03
512
+ #define DIK_3 0x04
513
+ #define DIK_4 0x05
514
+ #define DIK_5 0x06
515
+ #define DIK_6 0x07
516
+ #define DIK_7 0x08
517
+ #define DIK_8 0x09
518
+ #define DIK_9 0x0A
519
+ #define DIK_0 0x0B
520
+ #define DIK_MINUS 0x0C /* - on main keyboard */
521
+ #define DIK_EQUALS 0x0D
522
+ #define DIK_BACK 0x0E /* backspace */
523
+ #define DIK_TAB 0x0F
524
+ #define DIK_Q 0x10
525
+ #define DIK_W 0x11
526
+ #define DIK_E 0x12
527
+ #define DIK_R 0x13
528
+ #define DIK_T 0x14
529
+ #define DIK_Y 0x15
530
+ #define DIK_U 0x16
531
+ #define DIK_I 0x17
532
+ #define DIK_O 0x18
533
+ #define DIK_P 0x19
534
+ #define DIK_LBRACKET 0x1A
535
+ #define DIK_RBRACKET 0x1B
536
+ #define DIK_RETURN 0x1C /* Enter on main keyboard */
537
+ #define DIK_LCONTROL 0x1D
538
+ #define DIK_A 0x1E
539
+ #define DIK_S 0x1F
540
+ #define DIK_D 0x20
541
+ #define DIK_F 0x21
542
+ #define DIK_G 0x22
543
+ #define DIK_H 0x23
544
+ #define DIK_J 0x24
545
+ #define DIK_K 0x25
546
+ #define DIK_L 0x26
547
+ #define DIK_SEMICOLON 0x27
548
+ #define DIK_APOSTROPHE 0x28
549
+ #define DIK_GRAVE 0x29 /* accent grave */
550
+ #define DIK_LSHIFT 0x2A
551
+ #define DIK_BACKSLASH 0x2B
552
+ #define DIK_Z 0x2C
553
+ #define DIK_X 0x2D
554
+ #define DIK_C 0x2E
555
+ #define DIK_V 0x2F
556
+ #define DIK_B 0x30
557
+ #define DIK_N 0x31
558
+ #define DIK_M 0x32
559
+ #define DIK_COMMA 0x33
560
+ #define DIK_PERIOD 0x34 /* . on main keyboard */
561
+ #define DIK_SLASH 0x35 /* / on main keyboard */
562
+ #define DIK_RSHIFT 0x36
563
+ #define DIK_MULTIPLY 0x37 /* * on numeric keypad */
564
+ #define DIK_LMENU 0x38 /* left Alt */
565
+ #define DIK_SPACE 0x39
566
+ #define DIK_CAPITAL 0x3A
567
+ #define DIK_F1 0x3B
568
+ #define DIK_F2 0x3C
569
+ #define DIK_F3 0x3D
570
+ #define DIK_F4 0x3E
571
+ #define DIK_F5 0x3F
572
+ #define DIK_F6 0x40
573
+ #define DIK_F7 0x41
574
+ #define DIK_F8 0x42
575
+ #define DIK_F9 0x43
576
+ #define DIK_F10 0x44
577
+ #define DIK_NUMLOCK 0x45
578
+ #define DIK_SCROLL 0x46 /* Scroll Lock */
579
+ #define DIK_NUMPAD7 0x47
580
+ #define DIK_NUMPAD8 0x48
581
+ #define DIK_NUMPAD9 0x49
582
+ #define DIK_SUBTRACT 0x4A /* - on numeric keypad */
583
+ #define DIK_NUMPAD4 0x4B
584
+ #define DIK_NUMPAD5 0x4C
585
+ #define DIK_NUMPAD6 0x4D
586
+ #define DIK_ADD 0x4E /* + on numeric keypad */
587
+ #define DIK_NUMPAD1 0x4F
588
+ #define DIK_NUMPAD2 0x50
589
+ #define DIK_NUMPAD3 0x51
590
+ #define DIK_NUMPAD0 0x52
591
+ #define DIK_DECIMAL 0x53 /* . on numeric keypad */
592
+ #define DIK_OEM_102 0x56 /* < > | on UK/Germany keyboards */
593
+ #define DIK_F11 0x57
594
+ #define DIK_F12 0x58
595
+ #define DIK_F13 0x64 /* (NEC PC98) */
596
+ #define DIK_F14 0x65 /* (NEC PC98) */
597
+ #define DIK_F15 0x66 /* (NEC PC98) */
598
+ #define DIK_KANA 0x70 /* (Japanese keyboard) */
599
+ #define DIK_ABNT_C1 0x73 /* / ? on Portugese (Brazilian) keyboards */
600
+ #define DIK_CONVERT 0x79 /* (Japanese keyboard) */
601
+ #define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */
602
+ #define DIK_YEN 0x7D /* (Japanese keyboard) */
603
+ #define DIK_ABNT_C2 0x7E /* Numpad . on Portugese (Brazilian) keyboards */
604
+ #define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
605
+ #define DIK_CIRCUMFLEX 0x90 /* (Japanese keyboard) */
606
+ #define DIK_AT 0x91 /* (NEC PC98) */
607
+ #define DIK_COLON 0x92 /* (NEC PC98) */
608
+ #define DIK_UNDERLINE 0x93 /* (NEC PC98) */
609
+ #define DIK_KANJI 0x94 /* (Japanese keyboard) */
610
+ #define DIK_STOP 0x95 /* (NEC PC98) */
611
+ #define DIK_AX 0x96 /* (Japan AX) */
612
+ #define DIK_UNLABELED 0x97 /* (J3100) */
613
+ #define DIK_NEXTTRACK 0x99 /* Next Track */
614
+ #define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
615
+ #define DIK_RCONTROL 0x9D
616
+ #define DIK_MUTE 0xA0 /* Mute */
617
+ #define DIK_CALCULATOR 0xA1 /* Calculator */
618
+ #define DIK_PLAYPAUSE 0xA2 /* Play / Pause */
619
+ #define DIK_MEDIASTOP 0xA4 /* Media Stop */
620
+ #define DIK_VOLUMEDOWN 0xAE /* Volume - */
621
+ #define DIK_VOLUMEUP 0xB0 /* Volume + */
622
+ #define DIK_WEBHOME 0xB2 /* Web home */
623
+ #define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
624
+ #define DIK_DIVIDE 0xB5 /* / on numeric keypad */
625
+ #define DIK_SYSRQ 0xB7
626
+ #define DIK_RMENU 0xB8 /* right Alt */
627
+ #define DIK_PAUSE 0xC5 /* Pause */
628
+ #define DIK_HOME 0xC7 /* Home on arrow keypad */
629
+ #define DIK_UP 0xC8 /* UpArrow on arrow keypad */
630
+ #define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
631
+ #define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
632
+ #define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
633
+ #define DIK_END 0xCF /* End on arrow keypad */
634
+ #define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
635
+ #define DIK_NEXT 0xD1 /* PgDn on arrow keypad */
636
+ #define DIK_INSERT 0xD2 /* Insert on arrow keypad */
637
+ #define DIK_DELETE 0xD3 /* Delete on arrow keypad */
638
+ #define DIK_LWIN 0xDB /* Left Windows key */
639
+ #define DIK_RWIN 0xDC /* Right Windows key */
640
+ #define DIK_APPS 0xDD /* AppMenu key */
641
+ #define DIK_POWER 0xDE
642
+ #define DIK_SLEEP 0xDF
643
+ #define DIK_WAKE 0xE3 /* System Wake */
644
+ #define DIK_WEBSEARCH 0xE5 /* Web Search */
645
+ #define DIK_WEBFAVORITES 0xE6 /* Web Favorites */
646
+ #define DIK_WEBREFRESH 0xE7 /* Web Refresh */
647
+ #define DIK_WEBSTOP 0xE8 /* Web Stop */
648
+ #define DIK_WEBFORWARD 0xE9 /* Web Forward */
649
+ #define DIK_WEBBACK 0xEA /* Web Back */
650
+ #define DIK_MYCOMPUTER 0xEB /* My Computer */
651
+ #define DIK_MAIL 0xEC /* Mail */
652
+ #define DIK_MEDIASELECT 0xED /* Media Select */
653
+
654
+ #define DIK_BACKSPACE DIK_BACK /* backspace */
655
+ #define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */
656
+ #define DIK_LALT DIK_LMENU /* left Alt */
657
+ #define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */
658
+ #define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */
659
+ #define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */
660
+ #define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */
661
+ #define DIK_NUMPADSLASH DIK_DIVIDE /* / on numeric keypad */
662
+ #define DIK_RALT DIK_RMENU /* right Alt */
663
+ #define DIK_UPARROW DIK_UP /* UpArrow on arrow keypad */
664
+ #define DIK_PGUP DIK_PRIOR /* PgUp on arrow keypad */
665
+ #define DIK_LEFTARROW DIK_LEFT /* LeftArrow on arrow keypad */
666
+ #define DIK_RIGHTARROW DIK_RIGHT /* RightArrow on arrow keypad */
667
+ #define DIK_DOWNARROW DIK_DOWN /* DownArrow on arrow keypad */
668
+ #define DIK_PGDN DIK_NEXT /* PgDn on arrow keypad */
669
+
670
+ #define DIDFT_ALL 0x00000000
671
+ #define DIDFT_RELAXIS 0x00000001
672
+ #define DIDFT_ABSAXIS 0x00000002
673
+ #define DIDFT_AXIS 0x00000003
674
+ #define DIDFT_PSHBUTTON 0x00000004
675
+ #define DIDFT_TGLBUTTON 0x00000008
676
+ #define DIDFT_BUTTON 0x0000000C
677
+ #define DIDFT_POV 0x00000010
678
+ #define DIDFT_COLLECTION 0x00000040
679
+ #define DIDFT_NODATA 0x00000080
680
+ #define DIDFT_ANYINSTANCE 0x00FFFF00
681
+ #define DIDFT_INSTANCEMASK DIDFT_ANYINSTANCE
682
+ #define DIDFT_MAKEINSTANCE(n) ((WORD)(n) << 8)
683
+ #define DIDFT_GETTYPE(n) LOBYTE(n)
684
+ #define DIDFT_GETINSTANCE(n) LOWORD((n) >> 8)
685
+ #define DIDFT_FFACTUATOR 0x01000000
686
+ #define DIDFT_FFEFFECTTRIGGER 0x02000000
687
+ #if DIRECTINPUT_VERSION >= 0x050a
688
+ #define DIDFT_OUTPUT 0x10000000
689
+ #define DIDFT_VENDORDEFINED 0x04000000
690
+ #define DIDFT_ALIAS 0x08000000
691
+ #endif /* DI5a */
692
+ #ifndef DIDFT_OPTIONAL
693
+ #define DIDFT_OPTIONAL 0x80000000
694
+ #endif
695
+ #define DIDFT_ENUMCOLLECTION(n) ((WORD)(n) << 8)
696
+ #define DIDFT_NOCOLLECTION 0x00FFFF00
697
+
698
+ #define DIDF_ABSAXIS 0x00000001
699
+ #define DIDF_RELAXIS 0x00000002
700
+
701
+ #define DIGDD_PEEK 0x00000001
702
+
703
+ #define DISEQUENCE_COMPARE(dwSq1,cmp,dwSq2) ((int)((dwSq1) - (dwSq2)) cmp 0)
704
+
705
+ typedef struct DIDEVICEOBJECTDATA_DX3 {
706
+ DWORD dwOfs;
707
+ DWORD dwData;
708
+ DWORD dwTimeStamp;
709
+ DWORD dwSequence;
710
+ } DIDEVICEOBJECTDATA_DX3,*LPDIDEVICEOBJECTDATA_DX3;
711
+ typedef const DIDEVICEOBJECTDATA_DX3 *LPCDIDEVICEOBJECTDATA_DX3;
712
+
713
+ typedef struct DIDEVICEOBJECTDATA {
714
+ DWORD dwOfs;
715
+ DWORD dwData;
716
+ DWORD dwTimeStamp;
717
+ DWORD dwSequence;
718
+ #if(DIRECTINPUT_VERSION >= 0x0800)
719
+ UINT_PTR uAppData;
720
+ #endif /* DIRECTINPUT_VERSION >= 0x0800 */
721
+ } DIDEVICEOBJECTDATA, *LPDIDEVICEOBJECTDATA;
722
+ typedef const DIDEVICEOBJECTDATA *LPCDIDEVICEOBJECTDATA;
723
+
724
+ typedef struct _DIOBJECTDATAFORMAT {
725
+ const GUID *pguid;
726
+ DWORD dwOfs;
727
+ DWORD dwType;
728
+ DWORD dwFlags;
729
+ } DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
730
+ typedef const DIOBJECTDATAFORMAT *LPCDIOBJECTDATAFORMAT;
731
+
732
+ typedef struct _DIDATAFORMAT {
733
+ DWORD dwSize;
734
+ DWORD dwObjSize;
735
+ DWORD dwFlags;
736
+ DWORD dwDataSize;
737
+ DWORD dwNumObjs;
738
+ LPDIOBJECTDATAFORMAT rgodf;
739
+ } DIDATAFORMAT, *LPDIDATAFORMAT;
740
+ typedef const DIDATAFORMAT *LPCDIDATAFORMAT;
741
+
742
+ #if DIRECTINPUT_VERSION >= 0x0500
743
+ #define DIDOI_FFACTUATOR 0x00000001
744
+ #define DIDOI_FFEFFECTTRIGGER 0x00000002
745
+ #define DIDOI_POLLED 0x00008000
746
+ #define DIDOI_ASPECTPOSITION 0x00000100
747
+ #define DIDOI_ASPECTVELOCITY 0x00000200
748
+ #define DIDOI_ASPECTACCEL 0x00000300
749
+ #define DIDOI_ASPECTFORCE 0x00000400
750
+ #define DIDOI_ASPECTMASK 0x00000F00
751
+ #endif /* DI5 */
752
+ #if DIRECTINPUT_VERSION >= 0x050a
753
+ #define DIDOI_GUIDISUSAGE 0x00010000
754
+ #endif /* DI5a */
755
+
756
+ typedef struct DIPROPHEADER {
757
+ DWORD dwSize;
758
+ DWORD dwHeaderSize;
759
+ DWORD dwObj;
760
+ DWORD dwHow;
761
+ } DIPROPHEADER,*LPDIPROPHEADER;
762
+ typedef const DIPROPHEADER *LPCDIPROPHEADER;
763
+
764
+ #define DIPH_DEVICE 0
765
+ #define DIPH_BYOFFSET 1
766
+ #define DIPH_BYID 2
767
+ #if DIRECTINPUT_VERSION >= 0x050a
768
+ #define DIPH_BYUSAGE 3
769
+
770
+ #define DIMAKEUSAGEDWORD(UsagePage, Usage) (DWORD)MAKELONG(Usage, UsagePage)
771
+ #endif /* DI5a */
772
+
773
+ typedef struct DIPROPDWORD {
774
+ DIPROPHEADER diph;
775
+ DWORD dwData;
776
+ } DIPROPDWORD, *LPDIPROPDWORD;
777
+ typedef const DIPROPDWORD *LPCDIPROPDWORD;
778
+
779
+ typedef struct DIPROPRANGE {
780
+ DIPROPHEADER diph;
781
+ LONG lMin;
782
+ LONG lMax;
783
+ } DIPROPRANGE, *LPDIPROPRANGE;
784
+ typedef const DIPROPRANGE *LPCDIPROPRANGE;
785
+
786
+ #define DIPROPRANGE_NOMIN ((LONG)0x80000000)
787
+ #define DIPROPRANGE_NOMAX ((LONG)0x7FFFFFFF)
788
+
789
+ #if DIRECTINPUT_VERSION >= 0x050a
790
+ typedef struct DIPROPCAL {
791
+ DIPROPHEADER diph;
792
+ LONG lMin;
793
+ LONG lCenter;
794
+ LONG lMax;
795
+ } DIPROPCAL, *LPDIPROPCAL;
796
+ typedef const DIPROPCAL *LPCDIPROPCAL;
797
+
798
+ typedef struct DIPROPCALPOV {
799
+ DIPROPHEADER diph;
800
+ LONG lMin[5];
801
+ LONG lMax[5];
802
+ } DIPROPCALPOV, *LPDIPROPCALPOV;
803
+ typedef const DIPROPCALPOV *LPCDIPROPCALPOV;
804
+
805
+ typedef struct DIPROPGUIDANDPATH {
806
+ DIPROPHEADER diph;
807
+ GUID guidClass;
808
+ WCHAR wszPath[MAX_PATH];
809
+ } DIPROPGUIDANDPATH, *LPDIPROPGUIDANDPATH;
810
+ typedef const DIPROPGUIDANDPATH *LPCDIPROPGUIDANDPATH;
811
+
812
+ typedef struct DIPROPSTRING {
813
+ DIPROPHEADER diph;
814
+ WCHAR wsz[MAX_PATH];
815
+ } DIPROPSTRING, *LPDIPROPSTRING;
816
+ typedef const DIPROPSTRING *LPCDIPROPSTRING;
817
+ #endif /* DI5a */
818
+
819
+ #if DIRECTINPUT_VERSION >= 0x0800
820
+ typedef struct DIPROPPOINTER {
821
+ DIPROPHEADER diph;
822
+ UINT_PTR uData;
823
+ } DIPROPPOINTER, *LPDIPROPPOINTER;
824
+ typedef const DIPROPPOINTER *LPCDIPROPPOINTER;
825
+ #endif /* DI8 */
826
+
827
+ /* special property GUIDs */
828
+ #ifdef __cplusplus
829
+ #define MAKEDIPROP(prop) (*(const GUID *)(prop))
830
+ #else
831
+ #define MAKEDIPROP(prop) ((REFGUID)(prop))
832
+ #endif
833
+ #define DIPROP_BUFFERSIZE MAKEDIPROP(1)
834
+ #define DIPROP_AXISMODE MAKEDIPROP(2)
835
+
836
+ #define DIPROPAXISMODE_ABS 0
837
+ #define DIPROPAXISMODE_REL 1
838
+
839
+ #define DIPROP_GRANULARITY MAKEDIPROP(3)
840
+ #define DIPROP_RANGE MAKEDIPROP(4)
841
+ #define DIPROP_DEADZONE MAKEDIPROP(5)
842
+ #define DIPROP_SATURATION MAKEDIPROP(6)
843
+ #define DIPROP_FFGAIN MAKEDIPROP(7)
844
+ #define DIPROP_FFLOAD MAKEDIPROP(8)
845
+ #define DIPROP_AUTOCENTER MAKEDIPROP(9)
846
+
847
+ #define DIPROPAUTOCENTER_OFF 0
848
+ #define DIPROPAUTOCENTER_ON 1
849
+
850
+ #define DIPROP_CALIBRATIONMODE MAKEDIPROP(10)
851
+
852
+ #define DIPROPCALIBRATIONMODE_COOKED 0
853
+ #define DIPROPCALIBRATIONMODE_RAW 1
854
+
855
+ #if DIRECTINPUT_VERSION >= 0x050a
856
+ #define DIPROP_CALIBRATION MAKEDIPROP(11)
857
+ #define DIPROP_GUIDANDPATH MAKEDIPROP(12)
858
+ #define DIPROP_INSTANCENAME MAKEDIPROP(13)
859
+ #define DIPROP_PRODUCTNAME MAKEDIPROP(14)
860
+ #endif
861
+
862
+ #if DIRECTINPUT_VERSION >= 0x5B2
863
+ #define DIPROP_JOYSTICKID MAKEDIPROP(15)
864
+ #define DIPROP_GETPORTDISPLAYNAME MAKEDIPROP(16)
865
+ #endif
866
+
867
+ #if DIRECTINPUT_VERSION >= 0x0700
868
+ #define DIPROP_PHYSICALRANGE MAKEDIPROP(18)
869
+ #define DIPROP_LOGICALRANGE MAKEDIPROP(19)
870
+ #endif
871
+
872
+ #if(DIRECTINPUT_VERSION >= 0x0800)
873
+ #define DIPROP_KEYNAME MAKEDIPROP(20)
874
+ #define DIPROP_CPOINTS MAKEDIPROP(21)
875
+ #define DIPROP_APPDATA MAKEDIPROP(22)
876
+ #define DIPROP_SCANCODE MAKEDIPROP(23)
877
+ #define DIPROP_VIDPID MAKEDIPROP(24)
878
+ #define DIPROP_USERNAME MAKEDIPROP(25)
879
+ #define DIPROP_TYPENAME MAKEDIPROP(26)
880
+
881
+ #define MAXCPOINTSNUM 8
882
+
883
+ typedef struct _CPOINT {
884
+ LONG lP;
885
+ DWORD dwLog;
886
+ } CPOINT, *PCPOINT;
887
+
888
+ typedef struct DIPROPCPOINTS {
889
+ DIPROPHEADER diph;
890
+ DWORD dwCPointsNum;
891
+ CPOINT cp[MAXCPOINTSNUM];
892
+ } DIPROPCPOINTS, *LPDIPROPCPOINTS;
893
+ typedef const DIPROPCPOINTS *LPCDIPROPCPOINTS;
894
+ #endif /* DI8 */
895
+
896
+
897
+ typedef struct DIDEVCAPS_DX3 {
898
+ DWORD dwSize;
899
+ DWORD dwFlags;
900
+ DWORD dwDevType;
901
+ DWORD dwAxes;
902
+ DWORD dwButtons;
903
+ DWORD dwPOVs;
904
+ } DIDEVCAPS_DX3, *LPDIDEVCAPS_DX3;
905
+
906
+ typedef struct DIDEVCAPS {
907
+ DWORD dwSize;
908
+ DWORD dwFlags;
909
+ DWORD dwDevType;
910
+ DWORD dwAxes;
911
+ DWORD dwButtons;
912
+ DWORD dwPOVs;
913
+ #if(DIRECTINPUT_VERSION >= 0x0500)
914
+ DWORD dwFFSamplePeriod;
915
+ DWORD dwFFMinTimeResolution;
916
+ DWORD dwFirmwareRevision;
917
+ DWORD dwHardwareRevision;
918
+ DWORD dwFFDriverVersion;
919
+ #endif /* DIRECTINPUT_VERSION >= 0x0500 */
920
+ } DIDEVCAPS,*LPDIDEVCAPS;
921
+
922
+ #define DIDC_ATTACHED 0x00000001
923
+ #define DIDC_POLLEDDEVICE 0x00000002
924
+ #define DIDC_EMULATED 0x00000004
925
+ #define DIDC_POLLEDDATAFORMAT 0x00000008
926
+ #define DIDC_FORCEFEEDBACK 0x00000100
927
+ #define DIDC_FFATTACK 0x00000200
928
+ #define DIDC_FFFADE 0x00000400
929
+ #define DIDC_SATURATION 0x00000800
930
+ #define DIDC_POSNEGCOEFFICIENTS 0x00001000
931
+ #define DIDC_POSNEGSATURATION 0x00002000
932
+ #define DIDC_DEADBAND 0x00004000
933
+ #define DIDC_STARTDELAY 0x00008000
934
+ #define DIDC_ALIAS 0x00010000
935
+ #define DIDC_PHANTOM 0x00020000
936
+ #define DIDC_HIDDEN 0x00040000
937
+
938
+
939
+ /* SetCooperativeLevel dwFlags */
940
+ #define DISCL_EXCLUSIVE 0x00000001
941
+ #define DISCL_NONEXCLUSIVE 0x00000002
942
+ #define DISCL_FOREGROUND 0x00000004
943
+ #define DISCL_BACKGROUND 0x00000008
944
+ #define DISCL_NOWINKEY 0x00000010
945
+
946
+ #if (DIRECTINPUT_VERSION >= 0x0500)
947
+ /* Device FF flags */
948
+ #define DISFFC_RESET 0x00000001
949
+ #define DISFFC_STOPALL 0x00000002
950
+ #define DISFFC_PAUSE 0x00000004
951
+ #define DISFFC_CONTINUE 0x00000008
952
+ #define DISFFC_SETACTUATORSON 0x00000010
953
+ #define DISFFC_SETACTUATORSOFF 0x00000020
954
+
955
+ #define DIGFFS_EMPTY 0x00000001
956
+ #define DIGFFS_STOPPED 0x00000002
957
+ #define DIGFFS_PAUSED 0x00000004
958
+ #define DIGFFS_ACTUATORSON 0x00000010
959
+ #define DIGFFS_ACTUATORSOFF 0x00000020
960
+ #define DIGFFS_POWERON 0x00000040
961
+ #define DIGFFS_POWEROFF 0x00000080
962
+ #define DIGFFS_SAFETYSWITCHON 0x00000100
963
+ #define DIGFFS_SAFETYSWITCHOFF 0x00000200
964
+ #define DIGFFS_USERFFSWITCHON 0x00000400
965
+ #define DIGFFS_USERFFSWITCHOFF 0x00000800
966
+ #define DIGFFS_DEVICELOST 0x80000000
967
+
968
+ /* Effect flags */
969
+ #define DIEFT_ALL 0x00000000
970
+
971
+ #define DIEFT_CONSTANTFORCE 0x00000001
972
+ #define DIEFT_RAMPFORCE 0x00000002
973
+ #define DIEFT_PERIODIC 0x00000003
974
+ #define DIEFT_CONDITION 0x00000004
975
+ #define DIEFT_CUSTOMFORCE 0x00000005
976
+ #define DIEFT_HARDWARE 0x000000FF
977
+ #define DIEFT_FFATTACK 0x00000200
978
+ #define DIEFT_FFFADE 0x00000400
979
+ #define DIEFT_SATURATION 0x00000800
980
+ #define DIEFT_POSNEGCOEFFICIENTS 0x00001000
981
+ #define DIEFT_POSNEGSATURATION 0x00002000
982
+ #define DIEFT_DEADBAND 0x00004000
983
+ #define DIEFT_STARTDELAY 0x00008000
984
+ #define DIEFT_GETTYPE(n) LOBYTE(n)
985
+
986
+ #define DIEFF_OBJECTIDS 0x00000001
987
+ #define DIEFF_OBJECTOFFSETS 0x00000002
988
+ #define DIEFF_CARTESIAN 0x00000010
989
+ #define DIEFF_POLAR 0x00000020
990
+ #define DIEFF_SPHERICAL 0x00000040
991
+
992
+ #define DIEP_DURATION 0x00000001
993
+ #define DIEP_SAMPLEPERIOD 0x00000002
994
+ #define DIEP_GAIN 0x00000004
995
+ #define DIEP_TRIGGERBUTTON 0x00000008
996
+ #define DIEP_TRIGGERREPEATINTERVAL 0x00000010
997
+ #define DIEP_AXES 0x00000020
998
+ #define DIEP_DIRECTION 0x00000040
999
+ #define DIEP_ENVELOPE 0x00000080
1000
+ #define DIEP_TYPESPECIFICPARAMS 0x00000100
1001
+ #if(DIRECTINPUT_VERSION >= 0x0600)
1002
+ #define DIEP_STARTDELAY 0x00000200
1003
+ #define DIEP_ALLPARAMS_DX5 0x000001FF
1004
+ #define DIEP_ALLPARAMS 0x000003FF
1005
+ #else
1006
+ #define DIEP_ALLPARAMS 0x000001FF
1007
+ #endif /* DIRECTINPUT_VERSION >= 0x0600 */
1008
+ #define DIEP_START 0x20000000
1009
+ #define DIEP_NORESTART 0x40000000
1010
+ #define DIEP_NODOWNLOAD 0x80000000
1011
+ #define DIEB_NOTRIGGER 0xFFFFFFFF
1012
+
1013
+ #define DIES_SOLO 0x00000001
1014
+ #define DIES_NODOWNLOAD 0x80000000
1015
+
1016
+ #define DIEGES_PLAYING 0x00000001
1017
+ #define DIEGES_EMULATED 0x00000002
1018
+
1019
+ #define DI_DEGREES 100
1020
+ #define DI_FFNOMINALMAX 10000
1021
+ #define DI_SECONDS 1000000
1022
+
1023
+ typedef struct DICONSTANTFORCE {
1024
+ LONG lMagnitude;
1025
+ } DICONSTANTFORCE, *LPDICONSTANTFORCE;
1026
+ typedef const DICONSTANTFORCE *LPCDICONSTANTFORCE;
1027
+
1028
+ typedef struct DIRAMPFORCE {
1029
+ LONG lStart;
1030
+ LONG lEnd;
1031
+ } DIRAMPFORCE, *LPDIRAMPFORCE;
1032
+ typedef const DIRAMPFORCE *LPCDIRAMPFORCE;
1033
+
1034
+ typedef struct DIPERIODIC {
1035
+ DWORD dwMagnitude;
1036
+ LONG lOffset;
1037
+ DWORD dwPhase;
1038
+ DWORD dwPeriod;
1039
+ } DIPERIODIC, *LPDIPERIODIC;
1040
+ typedef const DIPERIODIC *LPCDIPERIODIC;
1041
+
1042
+ typedef struct DICONDITION {
1043
+ LONG lOffset;
1044
+ LONG lPositiveCoefficient;
1045
+ LONG lNegativeCoefficient;
1046
+ DWORD dwPositiveSaturation;
1047
+ DWORD dwNegativeSaturation;
1048
+ LONG lDeadBand;
1049
+ } DICONDITION, *LPDICONDITION;
1050
+ typedef const DICONDITION *LPCDICONDITION;
1051
+
1052
+ typedef struct DICUSTOMFORCE {
1053
+ DWORD cChannels;
1054
+ DWORD dwSamplePeriod;
1055
+ DWORD cSamples;
1056
+ LPLONG rglForceData;
1057
+ } DICUSTOMFORCE, *LPDICUSTOMFORCE;
1058
+ typedef const DICUSTOMFORCE *LPCDICUSTOMFORCE;
1059
+
1060
+ typedef struct DIENVELOPE {
1061
+ DWORD dwSize;
1062
+ DWORD dwAttackLevel;
1063
+ DWORD dwAttackTime;
1064
+ DWORD dwFadeLevel;
1065
+ DWORD dwFadeTime;
1066
+ } DIENVELOPE, *LPDIENVELOPE;
1067
+ typedef const DIENVELOPE *LPCDIENVELOPE;
1068
+
1069
+ typedef struct DIEFFECT_DX5 {
1070
+ DWORD dwSize;
1071
+ DWORD dwFlags;
1072
+ DWORD dwDuration;
1073
+ DWORD dwSamplePeriod;
1074
+ DWORD dwGain;
1075
+ DWORD dwTriggerButton;
1076
+ DWORD dwTriggerRepeatInterval;
1077
+ DWORD cAxes;
1078
+ LPDWORD rgdwAxes;
1079
+ LPLONG rglDirection;
1080
+ LPDIENVELOPE lpEnvelope;
1081
+ DWORD cbTypeSpecificParams;
1082
+ LPVOID lpvTypeSpecificParams;
1083
+ } DIEFFECT_DX5, *LPDIEFFECT_DX5;
1084
+ typedef const DIEFFECT_DX5 *LPCDIEFFECT_DX5;
1085
+
1086
+ typedef struct DIEFFECT {
1087
+ DWORD dwSize;
1088
+ DWORD dwFlags;
1089
+ DWORD dwDuration;
1090
+ DWORD dwSamplePeriod;
1091
+ DWORD dwGain;
1092
+ DWORD dwTriggerButton;
1093
+ DWORD dwTriggerRepeatInterval;
1094
+ DWORD cAxes;
1095
+ LPDWORD rgdwAxes;
1096
+ LPLONG rglDirection;
1097
+ LPDIENVELOPE lpEnvelope;
1098
+ DWORD cbTypeSpecificParams;
1099
+ LPVOID lpvTypeSpecificParams;
1100
+ #if(DIRECTINPUT_VERSION >= 0x0600)
1101
+ DWORD dwStartDelay;
1102
+ #endif /* DIRECTINPUT_VERSION >= 0x0600 */
1103
+ } DIEFFECT, *LPDIEFFECT;
1104
+ typedef const DIEFFECT *LPCDIEFFECT;
1105
+ typedef DIEFFECT DIEFFECT_DX6;
1106
+ typedef LPDIEFFECT LPDIEFFECT_DX6;
1107
+
1108
+ typedef struct DIEFFECTINFOA {
1109
+ DWORD dwSize;
1110
+ GUID guid;
1111
+ DWORD dwEffType;
1112
+ DWORD dwStaticParams;
1113
+ DWORD dwDynamicParams;
1114
+ CHAR tszName[MAX_PATH];
1115
+ } DIEFFECTINFOA, *LPDIEFFECTINFOA;
1116
+ typedef const DIEFFECTINFOA *LPCDIEFFECTINFOA;
1117
+
1118
+ typedef struct DIEFFECTINFOW {
1119
+ DWORD dwSize;
1120
+ GUID guid;
1121
+ DWORD dwEffType;
1122
+ DWORD dwStaticParams;
1123
+ DWORD dwDynamicParams;
1124
+ WCHAR tszName[MAX_PATH];
1125
+ } DIEFFECTINFOW, *LPDIEFFECTINFOW;
1126
+ typedef const DIEFFECTINFOW *LPCDIEFFECTINFOW;
1127
+
1128
+ DECL_WINELIB_TYPE_AW(DIEFFECTINFO)
1129
+ DECL_WINELIB_TYPE_AW(LPDIEFFECTINFO)
1130
+ DECL_WINELIB_TYPE_AW(LPCDIEFFECTINFO)
1131
+
1132
+ typedef BOOL (CALLBACK *LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID);
1133
+ typedef BOOL (CALLBACK *LPDIENUMEFFECTSCALLBACKW)(LPCDIEFFECTINFOW, LPVOID);
1134
+
1135
+ typedef struct DIEFFESCAPE {
1136
+ DWORD dwSize;
1137
+ DWORD dwCommand;
1138
+ LPVOID lpvInBuffer;
1139
+ DWORD cbInBuffer;
1140
+ LPVOID lpvOutBuffer;
1141
+ DWORD cbOutBuffer;
1142
+ } DIEFFESCAPE, *LPDIEFFESCAPE;
1143
+
1144
+ typedef struct DIJOYSTATE {
1145
+ LONG lX;
1146
+ LONG lY;
1147
+ LONG lZ;
1148
+ LONG lRx;
1149
+ LONG lRy;
1150
+ LONG lRz;
1151
+ LONG rglSlider[2];
1152
+ DWORD rgdwPOV[4];
1153
+ BYTE rgbButtons[32];
1154
+ } DIJOYSTATE, *LPDIJOYSTATE;
1155
+
1156
+ typedef struct DIJOYSTATE2 {
1157
+ LONG lX;
1158
+ LONG lY;
1159
+ LONG lZ;
1160
+ LONG lRx;
1161
+ LONG lRy;
1162
+ LONG lRz;
1163
+ LONG rglSlider[2];
1164
+ DWORD rgdwPOV[4];
1165
+ BYTE rgbButtons[128];
1166
+ LONG lVX; /* 'v' as in velocity */
1167
+ LONG lVY;
1168
+ LONG lVZ;
1169
+ LONG lVRx;
1170
+ LONG lVRy;
1171
+ LONG lVRz;
1172
+ LONG rglVSlider[2];
1173
+ LONG lAX; /* 'a' as in acceleration */
1174
+ LONG lAY;
1175
+ LONG lAZ;
1176
+ LONG lARx;
1177
+ LONG lARy;
1178
+ LONG lARz;
1179
+ LONG rglASlider[2];
1180
+ LONG lFX; /* 'f' as in force */
1181
+ LONG lFY;
1182
+ LONG lFZ;
1183
+ LONG lFRx; /* 'fr' as in rotational force aka torque */
1184
+ LONG lFRy;
1185
+ LONG lFRz;
1186
+ LONG rglFSlider[2];
1187
+ } DIJOYSTATE2, *LPDIJOYSTATE2;
1188
+
1189
+ #define DIJOFS_X FIELD_OFFSET(DIJOYSTATE, lX)
1190
+ #define DIJOFS_Y FIELD_OFFSET(DIJOYSTATE, lY)
1191
+ #define DIJOFS_Z FIELD_OFFSET(DIJOYSTATE, lZ)
1192
+ #define DIJOFS_RX FIELD_OFFSET(DIJOYSTATE, lRx)
1193
+ #define DIJOFS_RY FIELD_OFFSET(DIJOYSTATE, lRy)
1194
+ #define DIJOFS_RZ FIELD_OFFSET(DIJOYSTATE, lRz)
1195
+ #define DIJOFS_SLIDER(n) (FIELD_OFFSET(DIJOYSTATE, rglSlider) + \
1196
+ (n) * sizeof(LONG))
1197
+ #define DIJOFS_POV(n) (FIELD_OFFSET(DIJOYSTATE, rgdwPOV) + \
1198
+ (n) * sizeof(DWORD))
1199
+ #define DIJOFS_BUTTON(n) (FIELD_OFFSET(DIJOYSTATE, rgbButtons) + (n))
1200
+ #define DIJOFS_BUTTON0 DIJOFS_BUTTON(0)
1201
+ #define DIJOFS_BUTTON1 DIJOFS_BUTTON(1)
1202
+ #define DIJOFS_BUTTON2 DIJOFS_BUTTON(2)
1203
+ #define DIJOFS_BUTTON3 DIJOFS_BUTTON(3)
1204
+ #define DIJOFS_BUTTON4 DIJOFS_BUTTON(4)
1205
+ #define DIJOFS_BUTTON5 DIJOFS_BUTTON(5)
1206
+ #define DIJOFS_BUTTON6 DIJOFS_BUTTON(6)
1207
+ #define DIJOFS_BUTTON7 DIJOFS_BUTTON(7)
1208
+ #define DIJOFS_BUTTON8 DIJOFS_BUTTON(8)
1209
+ #define DIJOFS_BUTTON9 DIJOFS_BUTTON(9)
1210
+ #define DIJOFS_BUTTON10 DIJOFS_BUTTON(10)
1211
+ #define DIJOFS_BUTTON11 DIJOFS_BUTTON(11)
1212
+ #define DIJOFS_BUTTON12 DIJOFS_BUTTON(12)
1213
+ #define DIJOFS_BUTTON13 DIJOFS_BUTTON(13)
1214
+ #define DIJOFS_BUTTON14 DIJOFS_BUTTON(14)
1215
+ #define DIJOFS_BUTTON15 DIJOFS_BUTTON(15)
1216
+ #define DIJOFS_BUTTON16 DIJOFS_BUTTON(16)
1217
+ #define DIJOFS_BUTTON17 DIJOFS_BUTTON(17)
1218
+ #define DIJOFS_BUTTON18 DIJOFS_BUTTON(18)
1219
+ #define DIJOFS_BUTTON19 DIJOFS_BUTTON(19)
1220
+ #define DIJOFS_BUTTON20 DIJOFS_BUTTON(20)
1221
+ #define DIJOFS_BUTTON21 DIJOFS_BUTTON(21)
1222
+ #define DIJOFS_BUTTON22 DIJOFS_BUTTON(22)
1223
+ #define DIJOFS_BUTTON23 DIJOFS_BUTTON(23)
1224
+ #define DIJOFS_BUTTON24 DIJOFS_BUTTON(24)
1225
+ #define DIJOFS_BUTTON25 DIJOFS_BUTTON(25)
1226
+ #define DIJOFS_BUTTON26 DIJOFS_BUTTON(26)
1227
+ #define DIJOFS_BUTTON27 DIJOFS_BUTTON(27)
1228
+ #define DIJOFS_BUTTON28 DIJOFS_BUTTON(28)
1229
+ #define DIJOFS_BUTTON29 DIJOFS_BUTTON(29)
1230
+ #define DIJOFS_BUTTON30 DIJOFS_BUTTON(30)
1231
+ #define DIJOFS_BUTTON31 DIJOFS_BUTTON(31)
1232
+ #endif /* DIRECTINPUT_VERSION >= 0x0500 */
1233
+
1234
+ /* DInput 7 structures, types */
1235
+ #if(DIRECTINPUT_VERSION >= 0x0700)
1236
+ typedef struct DIFILEEFFECT {
1237
+ DWORD dwSize;
1238
+ GUID GuidEffect;
1239
+ LPCDIEFFECT lpDiEffect;
1240
+ CHAR szFriendlyName[MAX_PATH];
1241
+ } DIFILEEFFECT, *LPDIFILEEFFECT;
1242
+
1243
+ typedef const DIFILEEFFECT *LPCDIFILEEFFECT;
1244
+ typedef BOOL (CALLBACK *LPDIENUMEFFECTSINFILECALLBACK)(LPCDIFILEEFFECT , LPVOID);
1245
+ #endif /* DIRECTINPUT_VERSION >= 0x0700 */
1246
+
1247
+ /* DInput 8 structures and types */
1248
+ #if DIRECTINPUT_VERSION >= 0x0800
1249
+ typedef struct _DIACTIONA {
1250
+ UINT_PTR uAppData;
1251
+ DWORD dwSemantic;
1252
+ DWORD dwFlags;
1253
+ __GNU_EXTENSION union {
1254
+ LPCSTR lptszActionName;
1255
+ UINT uResIdString;
1256
+ } DUMMYUNIONNAME;
1257
+ GUID guidInstance;
1258
+ DWORD dwObjID;
1259
+ DWORD dwHow;
1260
+ } DIACTIONA, *LPDIACTIONA;
1261
+ typedef const DIACTIONA *LPCDIACTIONA;
1262
+
1263
+ typedef struct _DIACTIONW {
1264
+ UINT_PTR uAppData;
1265
+ DWORD dwSemantic;
1266
+ DWORD dwFlags;
1267
+ __GNU_EXTENSION union {
1268
+ LPCWSTR lptszActionName;
1269
+ UINT uResIdString;
1270
+ } DUMMYUNIONNAME;
1271
+ GUID guidInstance;
1272
+ DWORD dwObjID;
1273
+ DWORD dwHow;
1274
+ } DIACTIONW, *LPDIACTIONW;
1275
+ typedef const DIACTIONW *LPCDIACTIONW;
1276
+
1277
+ DECL_WINELIB_TYPE_AW(DIACTION)
1278
+ DECL_WINELIB_TYPE_AW(LPDIACTION)
1279
+ DECL_WINELIB_TYPE_AW(LPCDIACTION)
1280
+
1281
+ #define DIA_FORCEFEEDBACK 0x00000001
1282
+ #define DIA_APPMAPPED 0x00000002
1283
+ #define DIA_APPNOMAP 0x00000004
1284
+ #define DIA_NORANGE 0x00000008
1285
+ #define DIA_APPFIXED 0x00000010
1286
+
1287
+ #define DIAH_UNMAPPED 0x00000000
1288
+ #define DIAH_USERCONFIG 0x00000001
1289
+ #define DIAH_APPREQUESTED 0x00000002
1290
+ #define DIAH_HWAPP 0x00000004
1291
+ #define DIAH_HWDEFAULT 0x00000008
1292
+ #define DIAH_DEFAULT 0x00000020
1293
+ #define DIAH_ERROR 0x80000000
1294
+
1295
+ typedef struct _DIACTIONFORMATA {
1296
+ DWORD dwSize;
1297
+ DWORD dwActionSize;
1298
+ DWORD dwDataSize;
1299
+ DWORD dwNumActions;
1300
+ LPDIACTIONA rgoAction;
1301
+ GUID guidActionMap;
1302
+ DWORD dwGenre;
1303
+ DWORD dwBufferSize;
1304
+ LONG lAxisMin;
1305
+ LONG lAxisMax;
1306
+ HINSTANCE hInstString;
1307
+ FILETIME ftTimeStamp;
1308
+ DWORD dwCRC;
1309
+ CHAR tszActionMap[MAX_PATH];
1310
+ } DIACTIONFORMATA, *LPDIACTIONFORMATA;
1311
+ typedef const DIACTIONFORMATA *LPCDIACTIONFORMATA;
1312
+
1313
+ typedef struct _DIACTIONFORMATW {
1314
+ DWORD dwSize;
1315
+ DWORD dwActionSize;
1316
+ DWORD dwDataSize;
1317
+ DWORD dwNumActions;
1318
+ LPDIACTIONW rgoAction;
1319
+ GUID guidActionMap;
1320
+ DWORD dwGenre;
1321
+ DWORD dwBufferSize;
1322
+ LONG lAxisMin;
1323
+ LONG lAxisMax;
1324
+ HINSTANCE hInstString;
1325
+ FILETIME ftTimeStamp;
1326
+ DWORD dwCRC;
1327
+ WCHAR tszActionMap[MAX_PATH];
1328
+ } DIACTIONFORMATW, *LPDIACTIONFORMATW;
1329
+ typedef const DIACTIONFORMATW *LPCDIACTIONFORMATW;
1330
+
1331
+ DECL_WINELIB_TYPE_AW(DIACTIONFORMAT)
1332
+ DECL_WINELIB_TYPE_AW(LPDIACTIONFORMAT)
1333
+ DECL_WINELIB_TYPE_AW(LPCDIACTIONFORMAT)
1334
+
1335
+ #define DIAFTS_NEWDEVICELOW 0xFFFFFFFF
1336
+ #define DIAFTS_NEWDEVICEHIGH 0xFFFFFFFF
1337
+ #define DIAFTS_UNUSEDDEVICELOW 0x00000000
1338
+ #define DIAFTS_UNUSEDDEVICEHIGH 0x00000000
1339
+
1340
+ #define DIDBAM_DEFAULT 0x00000000
1341
+ #define DIDBAM_PRESERVE 0x00000001
1342
+ #define DIDBAM_INITIALIZE 0x00000002
1343
+ #define DIDBAM_HWDEFAULTS 0x00000004
1344
+
1345
+ #define DIDSAM_DEFAULT 0x00000000
1346
+ #define DIDSAM_NOUSER 0x00000001
1347
+ #define DIDSAM_FORCESAVE 0x00000002
1348
+
1349
+ #define DICD_DEFAULT 0x00000000
1350
+ #define DICD_EDIT 0x00000001
1351
+
1352
+ #ifndef D3DCOLOR_DEFINED
1353
+ typedef DWORD D3DCOLOR;
1354
+ #define D3DCOLOR_DEFINED
1355
+ #endif
1356
+
1357
+ typedef struct _DICOLORSET {
1358
+ DWORD dwSize;
1359
+ D3DCOLOR cTextFore;
1360
+ D3DCOLOR cTextHighlight;
1361
+ D3DCOLOR cCalloutLine;
1362
+ D3DCOLOR cCalloutHighlight;
1363
+ D3DCOLOR cBorder;
1364
+ D3DCOLOR cControlFill;
1365
+ D3DCOLOR cHighlightFill;
1366
+ D3DCOLOR cAreaFill;
1367
+ } DICOLORSET, *LPDICOLORSET;
1368
+ typedef const DICOLORSET *LPCDICOLORSET;
1369
+
1370
+ typedef struct _DICONFIGUREDEVICESPARAMSA {
1371
+ DWORD dwSize;
1372
+ DWORD dwcUsers;
1373
+ LPSTR lptszUserNames;
1374
+ DWORD dwcFormats;
1375
+ LPDIACTIONFORMATA lprgFormats;
1376
+ HWND hwnd;
1377
+ DICOLORSET dics;
1378
+ LPUNKNOWN lpUnkDDSTarget;
1379
+ } DICONFIGUREDEVICESPARAMSA, *LPDICONFIGUREDEVICESPARAMSA;
1380
+ typedef const DICONFIGUREDEVICESPARAMSA *LPCDICONFIGUREDEVICESPARAMSA;
1381
+
1382
+ typedef struct _DICONFIGUREDEVICESPARAMSW {
1383
+ DWORD dwSize;
1384
+ DWORD dwcUsers;
1385
+ LPWSTR lptszUserNames;
1386
+ DWORD dwcFormats;
1387
+ LPDIACTIONFORMATW lprgFormats;
1388
+ HWND hwnd;
1389
+ DICOLORSET dics;
1390
+ LPUNKNOWN lpUnkDDSTarget;
1391
+ } DICONFIGUREDEVICESPARAMSW, *LPDICONFIGUREDEVICESPARAMSW;
1392
+ typedef const DICONFIGUREDEVICESPARAMSW *LPCDICONFIGUREDEVICESPARAMSW;
1393
+
1394
+ DECL_WINELIB_TYPE_AW(DICONFIGUREDEVICESPARAMS)
1395
+ DECL_WINELIB_TYPE_AW(LPDICONFIGUREDEVICESPARAMS)
1396
+ DECL_WINELIB_TYPE_AW(LPCDICONFIGUREDEVICESPARAMS)
1397
+
1398
+ #define DIDIFT_CONFIGURATION 0x00000001
1399
+ #define DIDIFT_OVERLAY 0x00000002
1400
+
1401
+ #define DIDAL_CENTERED 0x00000000
1402
+ #define DIDAL_LEFTALIGNED 0x00000001
1403
+ #define DIDAL_RIGHTALIGNED 0x00000002
1404
+ #define DIDAL_MIDDLE 0x00000000
1405
+ #define DIDAL_TOPALIGNED 0x00000004
1406
+ #define DIDAL_BOTTOMALIGNED 0x00000008
1407
+
1408
+ typedef struct _DIDEVICEIMAGEINFOA {
1409
+ CHAR tszImagePath[MAX_PATH];
1410
+ DWORD dwFlags;
1411
+ DWORD dwViewID;
1412
+ RECT rcOverlay;
1413
+ DWORD dwObjID;
1414
+ DWORD dwcValidPts;
1415
+ POINT rgptCalloutLine[5];
1416
+ RECT rcCalloutRect;
1417
+ DWORD dwTextAlign;
1418
+ } DIDEVICEIMAGEINFOA, *LPDIDEVICEIMAGEINFOA;
1419
+ typedef const DIDEVICEIMAGEINFOA *LPCDIDEVICEIMAGEINFOA;
1420
+
1421
+ typedef struct _DIDEVICEIMAGEINFOW {
1422
+ WCHAR tszImagePath[MAX_PATH];
1423
+ DWORD dwFlags;
1424
+ DWORD dwViewID;
1425
+ RECT rcOverlay;
1426
+ DWORD dwObjID;
1427
+ DWORD dwcValidPts;
1428
+ POINT rgptCalloutLine[5];
1429
+ RECT rcCalloutRect;
1430
+ DWORD dwTextAlign;
1431
+ } DIDEVICEIMAGEINFOW, *LPDIDEVICEIMAGEINFOW;
1432
+ typedef const DIDEVICEIMAGEINFOW *LPCDIDEVICEIMAGEINFOW;
1433
+
1434
+ DECL_WINELIB_TYPE_AW(DIDEVICEIMAGEINFO)
1435
+ DECL_WINELIB_TYPE_AW(LPDIDEVICEIMAGEINFO)
1436
+ DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFO)
1437
+
1438
+ typedef struct _DIDEVICEIMAGEINFOHEADERA {
1439
+ DWORD dwSize;
1440
+ DWORD dwSizeImageInfo;
1441
+ DWORD dwcViews;
1442
+ DWORD dwcButtons;
1443
+ DWORD dwcAxes;
1444
+ DWORD dwcPOVs;
1445
+ DWORD dwBufferSize;
1446
+ DWORD dwBufferUsed;
1447
+ LPDIDEVICEIMAGEINFOA lprgImageInfoArray;
1448
+ } DIDEVICEIMAGEINFOHEADERA, *LPDIDEVICEIMAGEINFOHEADERA;
1449
+ typedef const DIDEVICEIMAGEINFOHEADERA *LPCDIDEVICEIMAGEINFOHEADERA;
1450
+
1451
+ typedef struct _DIDEVICEIMAGEINFOHEADERW {
1452
+ DWORD dwSize;
1453
+ DWORD dwSizeImageInfo;
1454
+ DWORD dwcViews;
1455
+ DWORD dwcButtons;
1456
+ DWORD dwcAxes;
1457
+ DWORD dwcPOVs;
1458
+ DWORD dwBufferSize;
1459
+ DWORD dwBufferUsed;
1460
+ LPDIDEVICEIMAGEINFOW lprgImageInfoArray;
1461
+ } DIDEVICEIMAGEINFOHEADERW, *LPDIDEVICEIMAGEINFOHEADERW;
1462
+ typedef const DIDEVICEIMAGEINFOHEADERW *LPCDIDEVICEIMAGEINFOHEADERW;
1463
+
1464
+ DECL_WINELIB_TYPE_AW(DIDEVICEIMAGEINFOHEADER)
1465
+ DECL_WINELIB_TYPE_AW(LPDIDEVICEIMAGEINFOHEADER)
1466
+ DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFOHEADER)
1467
+
1468
+ #endif /* DI8 */
1469
+
1470
+
1471
+ /*****************************************************************************
1472
+ * IDirectInputEffect interface
1473
+ */
1474
+ #if (DIRECTINPUT_VERSION >= 0x0500)
1475
+ #undef INTERFACE
1476
+ #define INTERFACE IDirectInputEffect
1477
+ DECLARE_INTERFACE_(IDirectInputEffect,IUnknown)
1478
+ {
1479
+ /*** IUnknown methods ***/
1480
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1481
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1482
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1483
+ /*** IDirectInputEffect methods ***/
1484
+ STDMETHOD(Initialize)(THIS_ HINSTANCE, DWORD, REFGUID) PURE;
1485
+ STDMETHOD(GetEffectGuid)(THIS_ LPGUID) PURE;
1486
+ STDMETHOD(GetParameters)(THIS_ LPDIEFFECT, DWORD) PURE;
1487
+ STDMETHOD(SetParameters)(THIS_ LPCDIEFFECT, DWORD) PURE;
1488
+ STDMETHOD(Start)(THIS_ DWORD, DWORD) PURE;
1489
+ STDMETHOD(Stop)(THIS) PURE;
1490
+ STDMETHOD(GetEffectStatus)(THIS_ LPDWORD) PURE;
1491
+ STDMETHOD(Download)(THIS) PURE;
1492
+ STDMETHOD(Unload)(THIS) PURE;
1493
+ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
1494
+ };
1495
+
1496
+ #if !defined(__cplusplus) || defined(CINTERFACE)
1497
+ /*** IUnknown methods ***/
1498
+ #define IDirectInputEffect_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1499
+ #define IDirectInputEffect_AddRef(p) (p)->lpVtbl->AddRef(p)
1500
+ #define IDirectInputEffect_Release(p) (p)->lpVtbl->Release(p)
1501
+ /*** IDirectInputEffect methods ***/
1502
+ #define IDirectInputEffect_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
1503
+ #define IDirectInputEffect_GetEffectGuid(p,a) (p)->lpVtbl->GetEffectGuid(p,a)
1504
+ #define IDirectInputEffect_GetParameters(p,a,b) (p)->lpVtbl->GetParameters(p,a,b)
1505
+ #define IDirectInputEffect_SetParameters(p,a,b) (p)->lpVtbl->SetParameters(p,a,b)
1506
+ #define IDirectInputEffect_Start(p,a,b) (p)->lpVtbl->Start(p,a,b)
1507
+ #define IDirectInputEffect_Stop(p) (p)->lpVtbl->Stop(p)
1508
+ #define IDirectInputEffect_GetEffectStatus(p,a) (p)->lpVtbl->GetEffectStatus(p,a)
1509
+ #define IDirectInputEffect_Download(p) (p)->lpVtbl->Download(p)
1510
+ #define IDirectInputEffect_Unload(p) (p)->lpVtbl->Unload(p)
1511
+ #define IDirectInputEffect_Escape(p,a) (p)->lpVtbl->Escape(p,a)
1512
+ #else
1513
+ /*** IUnknown methods ***/
1514
+ #define IDirectInputEffect_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1515
+ #define IDirectInputEffect_AddRef(p) (p)->AddRef()
1516
+ #define IDirectInputEffect_Release(p) (p)->Release()
1517
+ /*** IDirectInputEffect methods ***/
1518
+ #define IDirectInputEffect_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
1519
+ #define IDirectInputEffect_GetEffectGuid(p,a) (p)->GetEffectGuid(a)
1520
+ #define IDirectInputEffect_GetParameters(p,a,b) (p)->GetParameters(a,b)
1521
+ #define IDirectInputEffect_SetParameters(p,a,b) (p)->SetParameters(a,b)
1522
+ #define IDirectInputEffect_Start(p,a,b) (p)->Start(a,b)
1523
+ #define IDirectInputEffect_Stop(p) (p)->Stop()
1524
+ #define IDirectInputEffect_GetEffectStatus(p,a) (p)->GetEffectStatus(a)
1525
+ #define IDirectInputEffect_Download(p) (p)->Download()
1526
+ #define IDirectInputEffect_Unload(p) (p)->Unload()
1527
+ #define IDirectInputEffect_Escape(p,a) (p)->Escape(a)
1528
+ #endif
1529
+
1530
+ #endif /* DI5 */
1531
+
1532
+
1533
+ /*****************************************************************************
1534
+ * IDirectInputDeviceA interface
1535
+ */
1536
+ #undef INTERFACE
1537
+ #define INTERFACE IDirectInputDeviceA
1538
+ DECLARE_INTERFACE_(IDirectInputDeviceA,IUnknown)
1539
+ {
1540
+ /*** IUnknown methods ***/
1541
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1542
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1543
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1544
+ /*** IDirectInputDeviceA methods ***/
1545
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1546
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1547
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1548
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
1549
+ STDMETHOD(Acquire)(THIS) PURE;
1550
+ STDMETHOD(Unacquire)(THIS) PURE;
1551
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
1552
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
1553
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
1554
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
1555
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
1556
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA pdidoi, DWORD dwObj, DWORD dwHow) PURE;
1557
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA pdidi) PURE;
1558
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
1559
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
1560
+ };
1561
+
1562
+ /*****************************************************************************
1563
+ * IDirectInputDeviceW interface
1564
+ */
1565
+ #undef INTERFACE
1566
+ #define INTERFACE IDirectInputDeviceW
1567
+ DECLARE_INTERFACE_(IDirectInputDeviceW,IUnknown)
1568
+ {
1569
+ /*** IUnknown methods ***/
1570
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1571
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1572
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1573
+ /*** IDirectInputDeviceW methods ***/
1574
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1575
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1576
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1577
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
1578
+ STDMETHOD(Acquire)(THIS) PURE;
1579
+ STDMETHOD(Unacquire)(THIS) PURE;
1580
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
1581
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
1582
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
1583
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
1584
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
1585
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW pdidoi, DWORD dwObj, DWORD dwHow) PURE;
1586
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW pdidi) PURE;
1587
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
1588
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
1589
+ };
1590
+
1591
+ #if !defined(__cplusplus) || defined(CINTERFACE)
1592
+ /*** IUnknown methods ***/
1593
+ #define IDirectInputDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1594
+ #define IDirectInputDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
1595
+ #define IDirectInputDevice_Release(p) (p)->lpVtbl->Release(p)
1596
+ /*** IDirectInputDevice methods ***/
1597
+ #define IDirectInputDevice_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
1598
+ #define IDirectInputDevice_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
1599
+ #define IDirectInputDevice_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
1600
+ #define IDirectInputDevice_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
1601
+ #define IDirectInputDevice_Acquire(p) (p)->lpVtbl->Acquire(p)
1602
+ #define IDirectInputDevice_Unacquire(p) (p)->lpVtbl->Unacquire(p)
1603
+ #define IDirectInputDevice_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
1604
+ #define IDirectInputDevice_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
1605
+ #define IDirectInputDevice_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
1606
+ #define IDirectInputDevice_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
1607
+ #define IDirectInputDevice_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
1608
+ #define IDirectInputDevice_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
1609
+ #define IDirectInputDevice_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
1610
+ #define IDirectInputDevice_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
1611
+ #define IDirectInputDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
1612
+ #else
1613
+ /*** IUnknown methods ***/
1614
+ #define IDirectInputDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1615
+ #define IDirectInputDevice_AddRef(p) (p)->AddRef()
1616
+ #define IDirectInputDevice_Release(p) (p)->Release()
1617
+ /*** IDirectInputDevice methods ***/
1618
+ #define IDirectInputDevice_GetCapabilities(p,a) (p)->GetCapabilities(a)
1619
+ #define IDirectInputDevice_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
1620
+ #define IDirectInputDevice_GetProperty(p,a,b) (p)->GetProperty(a,b)
1621
+ #define IDirectInputDevice_SetProperty(p,a,b) (p)->SetProperty(a,b)
1622
+ #define IDirectInputDevice_Acquire(p) (p)->Acquire()
1623
+ #define IDirectInputDevice_Unacquire(p) (p)->Unacquire()
1624
+ #define IDirectInputDevice_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
1625
+ #define IDirectInputDevice_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
1626
+ #define IDirectInputDevice_SetDataFormat(p,a) (p)->SetDataFormat(a)
1627
+ #define IDirectInputDevice_SetEventNotification(p,a) (p)->SetEventNotification(a)
1628
+ #define IDirectInputDevice_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
1629
+ #define IDirectInputDevice_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
1630
+ #define IDirectInputDevice_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
1631
+ #define IDirectInputDevice_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
1632
+ #define IDirectInputDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
1633
+ #endif
1634
+
1635
+
1636
+ #if (DIRECTINPUT_VERSION >= 0x0500)
1637
+ /*****************************************************************************
1638
+ * IDirectInputDevice2A interface
1639
+ */
1640
+ #undef INTERFACE
1641
+ #define INTERFACE IDirectInputDevice2A
1642
+ DECLARE_INTERFACE_(IDirectInputDevice2A,IDirectInputDeviceA)
1643
+ {
1644
+ /*** IUnknown methods ***/
1645
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1646
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1647
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1648
+ /*** IDirectInputDeviceA methods ***/
1649
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1650
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1651
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1652
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
1653
+ STDMETHOD(Acquire)(THIS) PURE;
1654
+ STDMETHOD(Unacquire)(THIS) PURE;
1655
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
1656
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
1657
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
1658
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
1659
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
1660
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA pdidoi, DWORD dwObj, DWORD dwHow) PURE;
1661
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA pdidi) PURE;
1662
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
1663
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
1664
+ /*** IDirectInputDevice2A methods ***/
1665
+ STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE;
1666
+ STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwEffType) PURE;
1667
+ STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA pdei, REFGUID rguid) PURE;
1668
+ STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE;
1669
+ STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE;
1670
+ STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE;
1671
+ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE;
1672
+ STDMETHOD(Poll)(THIS) PURE;
1673
+ STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
1674
+ };
1675
+
1676
+ /*****************************************************************************
1677
+ * IDirectInputDevice2W interface
1678
+ */
1679
+ #undef INTERFACE
1680
+ #define INTERFACE IDirectInputDevice2W
1681
+ DECLARE_INTERFACE_(IDirectInputDevice2W,IDirectInputDeviceW)
1682
+ {
1683
+ /*** IUnknown methods ***/
1684
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1685
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1686
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1687
+ /*** IDirectInputDeviceW methods ***/
1688
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1689
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1690
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1691
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
1692
+ STDMETHOD(Acquire)(THIS) PURE;
1693
+ STDMETHOD(Unacquire)(THIS) PURE;
1694
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
1695
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
1696
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
1697
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
1698
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
1699
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW pdidoi, DWORD dwObj, DWORD dwHow) PURE;
1700
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW pdidi) PURE;
1701
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
1702
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
1703
+ /*** IDirectInputDevice2W methods ***/
1704
+ STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE;
1705
+ STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwEffType) PURE;
1706
+ STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOW pdei, REFGUID rguid) PURE;
1707
+ STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE;
1708
+ STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE;
1709
+ STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE;
1710
+ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE;
1711
+ STDMETHOD(Poll)(THIS) PURE;
1712
+ STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
1713
+ };
1714
+
1715
+ #if !defined(__cplusplus) || defined(CINTERFACE)
1716
+ /*** IUnknown methods ***/
1717
+ #define IDirectInputDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1718
+ #define IDirectInputDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
1719
+ #define IDirectInputDevice2_Release(p) (p)->lpVtbl->Release(p)
1720
+ /*** IDirectInputDevice methods ***/
1721
+ #define IDirectInputDevice2_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
1722
+ #define IDirectInputDevice2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
1723
+ #define IDirectInputDevice2_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
1724
+ #define IDirectInputDevice2_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
1725
+ #define IDirectInputDevice2_Acquire(p) (p)->lpVtbl->Acquire(p)
1726
+ #define IDirectInputDevice2_Unacquire(p) (p)->lpVtbl->Unacquire(p)
1727
+ #define IDirectInputDevice2_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
1728
+ #define IDirectInputDevice2_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
1729
+ #define IDirectInputDevice2_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
1730
+ #define IDirectInputDevice2_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
1731
+ #define IDirectInputDevice2_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
1732
+ #define IDirectInputDevice2_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
1733
+ #define IDirectInputDevice2_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
1734
+ #define IDirectInputDevice2_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
1735
+ #define IDirectInputDevice2_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
1736
+ /*** IDirectInputDevice2 methods ***/
1737
+ #define IDirectInputDevice2_CreateEffect(p,a,b,c,d) (p)->lpVtbl->CreateEffect(p,a,b,c,d)
1738
+ #define IDirectInputDevice2_EnumEffects(p,a,b,c) (p)->lpVtbl->EnumEffects(p,a,b,c)
1739
+ #define IDirectInputDevice2_GetEffectInfo(p,a,b) (p)->lpVtbl->GetEffectInfo(p,a,b)
1740
+ #define IDirectInputDevice2_GetForceFeedbackState(p,a) (p)->lpVtbl->GetForceFeedbackState(p,a)
1741
+ #define IDirectInputDevice2_SendForceFeedbackCommand(p,a) (p)->lpVtbl->SendForceFeedbackCommand(p,a)
1742
+ #define IDirectInputDevice2_EnumCreatedEffectObjects(p,a,b,c) (p)->lpVtbl->EnumCreatedEffectObjects(p,a,b,c)
1743
+ #define IDirectInputDevice2_Escape(p,a) (p)->lpVtbl->Escape(p,a)
1744
+ #define IDirectInputDevice2_Poll(p) (p)->lpVtbl->Poll(p)
1745
+ #define IDirectInputDevice2_SendDeviceData(p,a,b,c,d) (p)->lpVtbl->SendDeviceData(p,a,b,c,d)
1746
+ #else
1747
+ /*** IUnknown methods ***/
1748
+ #define IDirectInputDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1749
+ #define IDirectInputDevice2_AddRef(p) (p)->AddRef()
1750
+ #define IDirectInputDevice2_Release(p) (p)->Release()
1751
+ /*** IDirectInputDevice methods ***/
1752
+ #define IDirectInputDevice2_GetCapabilities(p,a) (p)->GetCapabilities(a)
1753
+ #define IDirectInputDevice2_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
1754
+ #define IDirectInputDevice2_GetProperty(p,a,b) (p)->GetProperty(a,b)
1755
+ #define IDirectInputDevice2_SetProperty(p,a,b) (p)->SetProperty(a,b)
1756
+ #define IDirectInputDevice2_Acquire(p) (p)->Acquire()
1757
+ #define IDirectInputDevice2_Unacquire(p) (p)->Unacquire()
1758
+ #define IDirectInputDevice2_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
1759
+ #define IDirectInputDevice2_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
1760
+ #define IDirectInputDevice2_SetDataFormat(p,a) (p)->SetDataFormat(a)
1761
+ #define IDirectInputDevice2_SetEventNotification(p,a) (p)->SetEventNotification(a)
1762
+ #define IDirectInputDevice2_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
1763
+ #define IDirectInputDevice2_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
1764
+ #define IDirectInputDevice2_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
1765
+ #define IDirectInputDevice2_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
1766
+ #define IDirectInputDevice2_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
1767
+ /*** IDirectInputDevice2 methods ***/
1768
+ #define IDirectInputDevice2_CreateEffect(p,a,b,c,d) (p)->CreateEffect(a,b,c,d)
1769
+ #define IDirectInputDevice2_EnumEffects(p,a,b,c) (p)->EnumEffects(a,b,c)
1770
+ #define IDirectInputDevice2_GetEffectInfo(p,a,b) (p)->GetEffectInfo(a,b)
1771
+ #define IDirectInputDevice2_GetForceFeedbackState(p,a) (p)->GetForceFeedbackState(a)
1772
+ #define IDirectInputDevice2_SendForceFeedbackCommand(p,a) (p)->SendForceFeedbackCommand(a)
1773
+ #define IDirectInputDevice2_EnumCreatedEffectObjects(p,a,b,c) (p)->EnumCreatedEffectObjects(a,b,c)
1774
+ #define IDirectInputDevice2_Escape(p,a) (p)->Escape(a)
1775
+ #define IDirectInputDevice2_Poll(p) (p)->Poll()
1776
+ #define IDirectInputDevice2_SendDeviceData(p,a,b,c,d) (p)->SendDeviceData(a,b,c,d)
1777
+ #endif
1778
+ #endif /* DI5 */
1779
+
1780
+ #if DIRECTINPUT_VERSION >= 0x0700
1781
+ /*****************************************************************************
1782
+ * IDirectInputDevice7A interface
1783
+ */
1784
+ #undef INTERFACE
1785
+ #define INTERFACE IDirectInputDevice7A
1786
+ DECLARE_INTERFACE_(IDirectInputDevice7A,IDirectInputDevice2A)
1787
+ {
1788
+ /*** IUnknown methods ***/
1789
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1790
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1791
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1792
+ /*** IDirectInputDeviceA methods ***/
1793
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1794
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1795
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1796
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
1797
+ STDMETHOD(Acquire)(THIS) PURE;
1798
+ STDMETHOD(Unacquire)(THIS) PURE;
1799
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
1800
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
1801
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
1802
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
1803
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
1804
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA pdidoi, DWORD dwObj, DWORD dwHow) PURE;
1805
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA pdidi) PURE;
1806
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
1807
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
1808
+ /*** IDirectInputDevice2A methods ***/
1809
+ STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE;
1810
+ STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwEffType) PURE;
1811
+ STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA pdei, REFGUID rguid) PURE;
1812
+ STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE;
1813
+ STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE;
1814
+ STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE;
1815
+ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE;
1816
+ STDMETHOD(Poll)(THIS) PURE;
1817
+ STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
1818
+ /*** IDirectInputDevice7A methods ***/
1819
+ STDMETHOD(EnumEffectsInFile)(THIS_ LPCSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE;
1820
+ STDMETHOD(WriteEffectToFile)(THIS_ LPCSTR lpszFileName,DWORD dwEntries,LPDIFILEEFFECT rgDiFileEft,DWORD dwFlags) PURE;
1821
+ };
1822
+
1823
+ /*****************************************************************************
1824
+ * IDirectInputDevice7W interface
1825
+ */
1826
+ #undef INTERFACE
1827
+ #define INTERFACE IDirectInputDevice7W
1828
+ DECLARE_INTERFACE_(IDirectInputDevice7W,IDirectInputDevice2W)
1829
+ {
1830
+ /*** IUnknown methods ***/
1831
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1832
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1833
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1834
+ /*** IDirectInputDeviceW methods ***/
1835
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1836
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1837
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1838
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
1839
+ STDMETHOD(Acquire)(THIS) PURE;
1840
+ STDMETHOD(Unacquire)(THIS) PURE;
1841
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
1842
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
1843
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
1844
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
1845
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
1846
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW pdidoi, DWORD dwObj, DWORD dwHow) PURE;
1847
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW pdidi) PURE;
1848
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
1849
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
1850
+ /*** IDirectInputDevice2W methods ***/
1851
+ STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE;
1852
+ STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwEffType) PURE;
1853
+ STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOW pdei, REFGUID rguid) PURE;
1854
+ STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE;
1855
+ STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE;
1856
+ STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE;
1857
+ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE;
1858
+ STDMETHOD(Poll)(THIS) PURE;
1859
+ STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
1860
+ /*** IDirectInputDevice7W methods ***/
1861
+ STDMETHOD(EnumEffectsInFile)(THIS_ LPCWSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE;
1862
+ STDMETHOD(WriteEffectToFile)(THIS_ LPCWSTR lpszFileName,DWORD dwEntries,LPDIFILEEFFECT rgDiFileEft,DWORD dwFlags) PURE;
1863
+ };
1864
+
1865
+ #if !defined(__cplusplus) || defined(CINTERFACE)
1866
+ /*** IUnknown methods ***/
1867
+ #define IDirectInputDevice7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1868
+ #define IDirectInputDevice7_AddRef(p) (p)->lpVtbl->AddRef(p)
1869
+ #define IDirectInputDevice7_Release(p) (p)->lpVtbl->Release(p)
1870
+ /*** IDirectInputDevice methods ***/
1871
+ #define IDirectInputDevice7_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
1872
+ #define IDirectInputDevice7_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
1873
+ #define IDirectInputDevice7_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
1874
+ #define IDirectInputDevice7_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
1875
+ #define IDirectInputDevice7_Acquire(p) (p)->lpVtbl->Acquire(p)
1876
+ #define IDirectInputDevice7_Unacquire(p) (p)->lpVtbl->Unacquire(p)
1877
+ #define IDirectInputDevice7_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
1878
+ #define IDirectInputDevice7_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
1879
+ #define IDirectInputDevice7_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
1880
+ #define IDirectInputDevice7_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
1881
+ #define IDirectInputDevice7_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
1882
+ #define IDirectInputDevice7_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
1883
+ #define IDirectInputDevice7_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
1884
+ #define IDirectInputDevice7_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
1885
+ #define IDirectInputDevice7_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
1886
+ /*** IDirectInputDevice2 methods ***/
1887
+ #define IDirectInputDevice7_CreateEffect(p,a,b,c,d) (p)->lpVtbl->CreateEffect(p,a,b,c,d)
1888
+ #define IDirectInputDevice7_EnumEffects(p,a,b,c) (p)->lpVtbl->EnumEffects(p,a,b,c)
1889
+ #define IDirectInputDevice7_GetEffectInfo(p,a,b) (p)->lpVtbl->GetEffectInfo(p,a,b)
1890
+ #define IDirectInputDevice7_GetForceFeedbackState(p,a) (p)->lpVtbl->GetForceFeedbackState(p,a)
1891
+ #define IDirectInputDevice7_SendForceFeedbackCommand(p,a) (p)->lpVtbl->SendForceFeedbackCommand(p,a)
1892
+ #define IDirectInputDevice7_EnumCreatedEffectObjects(p,a,b,c) (p)->lpVtbl->EnumCreatedEffectObjects(p,a,b,c)
1893
+ #define IDirectInputDevice7_Escape(p,a) (p)->lpVtbl->Escape(p,a)
1894
+ #define IDirectInputDevice7_Poll(p) (p)->lpVtbl->Poll(p)
1895
+ #define IDirectInputDevice7_SendDeviceData(p,a,b,c,d) (p)->lpVtbl->SendDeviceData(p,a,b,c,d)
1896
+ /*** IDirectInputDevice7 methods ***/
1897
+ #define IDirectInputDevice7_EnumEffectsInFile(p,a,b,c,d) (p)->lpVtbl->EnumEffectsInFile(p,a,b,c,d)
1898
+ #define IDirectInputDevice7_WriteEffectToFile(p,a,b,c,d) (p)->lpVtbl->WriteEffectToFile(p,a,b,c,d)
1899
+ #else
1900
+ /*** IUnknown methods ***/
1901
+ #define IDirectInputDevice7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1902
+ #define IDirectInputDevice7_AddRef(p) (p)->AddRef()
1903
+ #define IDirectInputDevice7_Release(p) (p)->Release()
1904
+ /*** IDirectInputDevice methods ***/
1905
+ #define IDirectInputDevice7_GetCapabilities(p,a) (p)->GetCapabilities(a)
1906
+ #define IDirectInputDevice7_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
1907
+ #define IDirectInputDevice7_GetProperty(p,a,b) (p)->GetProperty(a,b)
1908
+ #define IDirectInputDevice7_SetProperty(p,a,b) (p)->SetProperty(a,b)
1909
+ #define IDirectInputDevice7_Acquire(p) (p)->Acquire()
1910
+ #define IDirectInputDevice7_Unacquire(p) (p)->Unacquire()
1911
+ #define IDirectInputDevice7_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
1912
+ #define IDirectInputDevice7_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
1913
+ #define IDirectInputDevice7_SetDataFormat(p,a) (p)->SetDataFormat(a)
1914
+ #define IDirectInputDevice7_SetEventNotification(p,a) (p)->SetEventNotification(a)
1915
+ #define IDirectInputDevice7_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
1916
+ #define IDirectInputDevice7_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
1917
+ #define IDirectInputDevice7_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
1918
+ #define IDirectInputDevice7_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
1919
+ #define IDirectInputDevice7_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
1920
+ /*** IDirectInputDevice2 methods ***/
1921
+ #define IDirectInputDevice7_CreateEffect(p,a,b,c,d) (p)->CreateEffect(a,b,c,d)
1922
+ #define IDirectInputDevice7_EnumEffects(p,a,b,c) (p)->EnumEffects(a,b,c)
1923
+ #define IDirectInputDevice7_GetEffectInfo(p,a,b) (p)->GetEffectInfo(a,b)
1924
+ #define IDirectInputDevice7_GetForceFeedbackState(p,a) (p)->GetForceFeedbackState(a)
1925
+ #define IDirectInputDevice7_SendForceFeedbackCommand(p,a) (p)->SendForceFeedbackCommand(a)
1926
+ #define IDirectInputDevice7_EnumCreatedEffectObjects(p,a,b,c) (p)->EnumCreatedEffectObjects(a,b,c)
1927
+ #define IDirectInputDevice7_Escape(p,a) (p)->Escape(a)
1928
+ #define IDirectInputDevice7_Poll(p) (p)->Poll()
1929
+ #define IDirectInputDevice7_SendDeviceData(p,a,b,c,d) (p)->SendDeviceData(a,b,c,d)
1930
+ /*** IDirectInputDevice7 methods ***/
1931
+ #define IDirectInputDevice7_EnumEffectsInFile(p,a,b,c,d) (p)->EnumEffectsInFile(a,b,c,d)
1932
+ #define IDirectInputDevice7_WriteEffectToFile(p,a,b,c,d) (p)->WriteEffectToFile(a,b,c,d)
1933
+ #endif
1934
+
1935
+ #endif /* DI7 */
1936
+
1937
+ #if DIRECTINPUT_VERSION >= 0x0800
1938
+ /*****************************************************************************
1939
+ * IDirectInputDevice8A interface
1940
+ */
1941
+ #undef INTERFACE
1942
+ #define INTERFACE IDirectInputDevice8A
1943
+ DECLARE_INTERFACE_(IDirectInputDevice8A,IDirectInputDevice7A)
1944
+ {
1945
+ /*** IUnknown methods ***/
1946
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1947
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1948
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1949
+ /*** IDirectInputDeviceA methods ***/
1950
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1951
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1952
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1953
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
1954
+ STDMETHOD(Acquire)(THIS) PURE;
1955
+ STDMETHOD(Unacquire)(THIS) PURE;
1956
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
1957
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
1958
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
1959
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
1960
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
1961
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA pdidoi, DWORD dwObj, DWORD dwHow) PURE;
1962
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA pdidi) PURE;
1963
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
1964
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
1965
+ /*** IDirectInputDevice2A methods ***/
1966
+ STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE;
1967
+ STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwEffType) PURE;
1968
+ STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA pdei, REFGUID rguid) PURE;
1969
+ STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE;
1970
+ STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE;
1971
+ STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE;
1972
+ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE;
1973
+ STDMETHOD(Poll)(THIS) PURE;
1974
+ STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
1975
+ /*** IDirectInputDevice7A methods ***/
1976
+ STDMETHOD(EnumEffectsInFile)(THIS_ LPCSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE;
1977
+ STDMETHOD(WriteEffectToFile)(THIS_ LPCSTR lpszFileName,DWORD dwEntries,LPDIFILEEFFECT rgDiFileEft,DWORD dwFlags) PURE;
1978
+ /*** IDirectInputDevice8A methods ***/
1979
+ STDMETHOD(BuildActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE;
1980
+ STDMETHOD(SetActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE;
1981
+ STDMETHOD(GetImageInfo)(THIS_ LPDIDEVICEIMAGEINFOHEADERA lpdiDevImageInfoHeader) PURE;
1982
+ };
1983
+
1984
+ /*****************************************************************************
1985
+ * IDirectInputDevice8W interface
1986
+ */
1987
+ #undef INTERFACE
1988
+ #define INTERFACE IDirectInputDevice8W
1989
+ DECLARE_INTERFACE_(IDirectInputDevice8W,IDirectInputDevice7W)
1990
+ {
1991
+ /*** IUnknown methods ***/
1992
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1993
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1994
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
1995
+ /*** IDirectInputDeviceW methods ***/
1996
+ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE;
1997
+ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
1998
+ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE;
1999
+ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE;
2000
+ STDMETHOD(Acquire)(THIS) PURE;
2001
+ STDMETHOD(Unacquire)(THIS) PURE;
2002
+ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE;
2003
+ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE;
2004
+ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE;
2005
+ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE;
2006
+ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE;
2007
+ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW pdidoi, DWORD dwObj, DWORD dwHow) PURE;
2008
+ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW pdidi) PURE;
2009
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2010
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
2011
+ /*** IDirectInputDevice2W methods ***/
2012
+ STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE;
2013
+ STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwEffType) PURE;
2014
+ STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOW pdei, REFGUID rguid) PURE;
2015
+ STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE;
2016
+ STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE;
2017
+ STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE;
2018
+ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE;
2019
+ STDMETHOD(Poll)(THIS) PURE;
2020
+ STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
2021
+ /*** IDirectInputDevice7W methods ***/
2022
+ STDMETHOD(EnumEffectsInFile)(THIS_ LPCWSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE;
2023
+ STDMETHOD(WriteEffectToFile)(THIS_ LPCWSTR lpszFileName,DWORD dwEntries,LPDIFILEEFFECT rgDiFileEft,DWORD dwFlags) PURE;
2024
+ /*** IDirectInputDevice8W methods ***/
2025
+ STDMETHOD(BuildActionMap)(THIS_ LPDIACTIONFORMATW lpdiaf, LPCWSTR lpszUserName, DWORD dwFlags) PURE;
2026
+ STDMETHOD(SetActionMap)(THIS_ LPDIACTIONFORMATW lpdiaf, LPCWSTR lpszUserName, DWORD dwFlags) PURE;
2027
+ STDMETHOD(GetImageInfo)(THIS_ LPDIDEVICEIMAGEINFOHEADERW lpdiDevImageInfoHeader) PURE;
2028
+ };
2029
+
2030
+ #if !defined(__cplusplus) || defined(CINTERFACE)
2031
+ /*** IUnknown methods ***/
2032
+ #define IDirectInputDevice8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2033
+ #define IDirectInputDevice8_AddRef(p) (p)->lpVtbl->AddRef(p)
2034
+ #define IDirectInputDevice8_Release(p) (p)->lpVtbl->Release(p)
2035
+ /*** IDirectInputDevice methods ***/
2036
+ #define IDirectInputDevice8_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
2037
+ #define IDirectInputDevice8_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
2038
+ #define IDirectInputDevice8_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
2039
+ #define IDirectInputDevice8_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
2040
+ #define IDirectInputDevice8_Acquire(p) (p)->lpVtbl->Acquire(p)
2041
+ #define IDirectInputDevice8_Unacquire(p) (p)->lpVtbl->Unacquire(p)
2042
+ #define IDirectInputDevice8_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
2043
+ #define IDirectInputDevice8_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
2044
+ #define IDirectInputDevice8_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
2045
+ #define IDirectInputDevice8_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
2046
+ #define IDirectInputDevice8_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
2047
+ #define IDirectInputDevice8_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
2048
+ #define IDirectInputDevice8_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
2049
+ #define IDirectInputDevice8_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
2050
+ #define IDirectInputDevice8_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
2051
+ /*** IDirectInputDevice2 methods ***/
2052
+ #define IDirectInputDevice8_CreateEffect(p,a,b,c,d) (p)->lpVtbl->CreateEffect(p,a,b,c,d)
2053
+ #define IDirectInputDevice8_EnumEffects(p,a,b,c) (p)->lpVtbl->EnumEffects(p,a,b,c)
2054
+ #define IDirectInputDevice8_GetEffectInfo(p,a,b) (p)->lpVtbl->GetEffectInfo(p,a,b)
2055
+ #define IDirectInputDevice8_GetForceFeedbackState(p,a) (p)->lpVtbl->GetForceFeedbackState(p,a)
2056
+ #define IDirectInputDevice8_SendForceFeedbackCommand(p,a) (p)->lpVtbl->SendForceFeedbackCommand(p,a)
2057
+ #define IDirectInputDevice8_EnumCreatedEffectObjects(p,a,b,c) (p)->lpVtbl->EnumCreatedEffectObjects(p,a,b,c)
2058
+ #define IDirectInputDevice8_Escape(p,a) (p)->lpVtbl->Escape(p,a)
2059
+ #define IDirectInputDevice8_Poll(p) (p)->lpVtbl->Poll(p)
2060
+ #define IDirectInputDevice8_SendDeviceData(p,a,b,c,d) (p)->lpVtbl->SendDeviceData(p,a,b,c,d)
2061
+ /*** IDirectInputDevice7 methods ***/
2062
+ #define IDirectInputDevice8_EnumEffectsInFile(p,a,b,c,d) (p)->lpVtbl->EnumEffectsInFile(p,a,b,c,d)
2063
+ #define IDirectInputDevice8_WriteEffectToFile(p,a,b,c,d) (p)->lpVtbl->WriteEffectToFile(p,a,b,c,d)
2064
+ /*** IDirectInputDevice8 methods ***/
2065
+ #define IDirectInputDevice8_BuildActionMap(p,a,b,c) (p)->lpVtbl->BuildActionMap(p,a,b,c)
2066
+ #define IDirectInputDevice8_SetActionMap(p,a,b,c) (p)->lpVtbl->SetActionMap(p,a,b,c)
2067
+ #define IDirectInputDevice8_GetImageInfo(p,a) (p)->lpVtbl->GetImageInfo(p,a)
2068
+ #else
2069
+ /*** IUnknown methods ***/
2070
+ #define IDirectInputDevice8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2071
+ #define IDirectInputDevice8_AddRef(p) (p)->AddRef()
2072
+ #define IDirectInputDevice8_Release(p) (p)->Release()
2073
+ /*** IDirectInputDevice methods ***/
2074
+ #define IDirectInputDevice8_GetCapabilities(p,a) (p)->GetCapabilities(a)
2075
+ #define IDirectInputDevice8_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
2076
+ #define IDirectInputDevice8_GetProperty(p,a,b) (p)->GetProperty(a,b)
2077
+ #define IDirectInputDevice8_SetProperty(p,a,b) (p)->SetProperty(a,b)
2078
+ #define IDirectInputDevice8_Acquire(p) (p)->Acquire()
2079
+ #define IDirectInputDevice8_Unacquire(p) (p)->Unacquire()
2080
+ #define IDirectInputDevice8_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
2081
+ #define IDirectInputDevice8_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
2082
+ #define IDirectInputDevice8_SetDataFormat(p,a) (p)->SetDataFormat(a)
2083
+ #define IDirectInputDevice8_SetEventNotification(p,a) (p)->SetEventNotification(a)
2084
+ #define IDirectInputDevice8_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
2085
+ #define IDirectInputDevice8_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
2086
+ #define IDirectInputDevice8_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
2087
+ #define IDirectInputDevice8_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
2088
+ #define IDirectInputDevice8_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
2089
+ /*** IDirectInputDevice2 methods ***/
2090
+ #define IDirectInputDevice8_CreateEffect(p,a,b,c,d) (p)->CreateEffect(a,b,c,d)
2091
+ #define IDirectInputDevice8_EnumEffects(p,a,b,c) (p)->EnumEffects(a,b,c)
2092
+ #define IDirectInputDevice8_GetEffectInfo(p,a,b) (p)->GetEffectInfo(a,b)
2093
+ #define IDirectInputDevice8_GetForceFeedbackState(p,a) (p)->GetForceFeedbackState(a)
2094
+ #define IDirectInputDevice8_SendForceFeedbackCommand(p,a) (p)->SendForceFeedbackCommand(a)
2095
+ #define IDirectInputDevice8_EnumCreatedEffectObjects(p,a,b,c) (p)->EnumCreatedEffectObjects(a,b,c)
2096
+ #define IDirectInputDevice8_Escape(p,a) (p)->Escape(a)
2097
+ #define IDirectInputDevice8_Poll(p) (p)->Poll()
2098
+ #define IDirectInputDevice8_SendDeviceData(p,a,b,c,d) (p)->SendDeviceData(a,b,c,d)
2099
+ /*** IDirectInputDevice7 methods ***/
2100
+ #define IDirectInputDevice8_EnumEffectsInFile(p,a,b,c,d) (p)->EnumEffectsInFile(a,b,c,d)
2101
+ #define IDirectInputDevice8_WriteEffectToFile(p,a,b,c,d) (p)->WriteEffectToFile(a,b,c,d)
2102
+ /*** IDirectInputDevice8 methods ***/
2103
+ #define IDirectInputDevice8_BuildActionMap(p,a,b,c) (p)->BuildActionMap(a,b,c)
2104
+ #define IDirectInputDevice8_SetActionMap(p,a,b,c) (p)->SetActionMap(a,b,c)
2105
+ #define IDirectInputDevice8_GetImageInfo(p,a) (p)->GetImageInfo(a)
2106
+ #endif
2107
+
2108
+ #endif /* DI8 */
2109
+
2110
+ /* "Standard" Mouse report... */
2111
+ typedef struct DIMOUSESTATE {
2112
+ LONG lX;
2113
+ LONG lY;
2114
+ LONG lZ;
2115
+ BYTE rgbButtons[4];
2116
+ } DIMOUSESTATE;
2117
+
2118
+ #if DIRECTINPUT_VERSION >= 0x0700
2119
+ /* "Standard" Mouse report for DInput 7... */
2120
+ typedef struct DIMOUSESTATE2 {
2121
+ LONG lX;
2122
+ LONG lY;
2123
+ LONG lZ;
2124
+ BYTE rgbButtons[8];
2125
+ } DIMOUSESTATE2;
2126
+ #endif /* DI7 */
2127
+
2128
+ #define DIMOFS_X FIELD_OFFSET(DIMOUSESTATE, lX)
2129
+ #define DIMOFS_Y FIELD_OFFSET(DIMOUSESTATE, lY)
2130
+ #define DIMOFS_Z FIELD_OFFSET(DIMOUSESTATE, lZ)
2131
+ #define DIMOFS_BUTTON0 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 0)
2132
+ #define DIMOFS_BUTTON1 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 1)
2133
+ #define DIMOFS_BUTTON2 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 2)
2134
+ #define DIMOFS_BUTTON3 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 3)
2135
+ #if DIRECTINPUT_VERSION >= 0x0700
2136
+ #define DIMOFS_BUTTON4 (FIELD_OFFSET(DIMOUSESTATE2, rgbButtons) + 4)
2137
+ #define DIMOFS_BUTTON5 (FIELD_OFFSET(DIMOUSESTATE2, rgbButtons) + 5)
2138
+ #define DIMOFS_BUTTON6 (FIELD_OFFSET(DIMOUSESTATE2, rgbButtons) + 6)
2139
+ #define DIMOFS_BUTTON7 (FIELD_OFFSET(DIMOUSESTATE2, rgbButtons) + 7)
2140
+ #endif /* DI7 */
2141
+
2142
+ #ifdef __cplusplus
2143
+ extern "C" {
2144
+ #endif
2145
+ extern const DIDATAFORMAT c_dfDIMouse;
2146
+ #if DIRECTINPUT_VERSION >= 0x0700
2147
+ extern const DIDATAFORMAT c_dfDIMouse2; /* DX 7 */
2148
+ #endif /* DI7 */
2149
+ extern const DIDATAFORMAT c_dfDIKeyboard;
2150
+ #if DIRECTINPUT_VERSION >= 0x0500
2151
+ extern const DIDATAFORMAT c_dfDIJoystick;
2152
+ extern const DIDATAFORMAT c_dfDIJoystick2;
2153
+ #endif /* DI5 */
2154
+ #ifdef __cplusplus
2155
+ };
2156
+ #endif
2157
+
2158
+ /*****************************************************************************
2159
+ * IDirectInputA interface
2160
+ */
2161
+ #undef INTERFACE
2162
+ #define INTERFACE IDirectInputA
2163
+ DECLARE_INTERFACE_(IDirectInputA,IUnknown)
2164
+ {
2165
+ /*** IUnknown methods ***/
2166
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2167
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2168
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2169
+ /*** IDirectInputA methods ***/
2170
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEA *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2171
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2172
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2173
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2174
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2175
+ };
2176
+
2177
+ /*****************************************************************************
2178
+ * IDirectInputW interface
2179
+ */
2180
+ #undef INTERFACE
2181
+ #define INTERFACE IDirectInputW
2182
+ DECLARE_INTERFACE_(IDirectInputW,IUnknown)
2183
+ {
2184
+ /*** IUnknown methods ***/
2185
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2186
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2187
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2188
+ /*** IDirectInputW methods ***/
2189
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEW *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2190
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2191
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2192
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2193
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2194
+ };
2195
+
2196
+ #if !defined(__cplusplus) || defined(CINTERFACE)
2197
+ /*** IUnknown methods ***/
2198
+ #define IDirectInput_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2199
+ #define IDirectInput_AddRef(p) (p)->lpVtbl->AddRef(p)
2200
+ #define IDirectInput_Release(p) (p)->lpVtbl->Release(p)
2201
+ /*** IDirectInput methods ***/
2202
+ #define IDirectInput_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
2203
+ #define IDirectInput_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
2204
+ #define IDirectInput_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
2205
+ #define IDirectInput_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
2206
+ #define IDirectInput_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
2207
+ #else
2208
+ /*** IUnknown methods ***/
2209
+ #define IDirectInput_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2210
+ #define IDirectInput_AddRef(p) (p)->AddRef()
2211
+ #define IDirectInput_Release(p) (p)->Release()
2212
+ /*** IDirectInput methods ***/
2213
+ #define IDirectInput_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
2214
+ #define IDirectInput_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
2215
+ #define IDirectInput_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
2216
+ #define IDirectInput_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
2217
+ #define IDirectInput_Initialize(p,a,b) (p)->Initialize(a,b)
2218
+ #endif
2219
+
2220
+ /*****************************************************************************
2221
+ * IDirectInput2A interface
2222
+ */
2223
+ #undef INTERFACE
2224
+ #define INTERFACE IDirectInput2A
2225
+ DECLARE_INTERFACE_(IDirectInput2A,IDirectInputA)
2226
+ {
2227
+ /*** IUnknown methods ***/
2228
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2229
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2230
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2231
+ /*** IDirectInputA methods ***/
2232
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEA *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2233
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2234
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2235
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2236
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2237
+ /*** IDirectInput2A methods ***/
2238
+ STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE;
2239
+ };
2240
+
2241
+ /*****************************************************************************
2242
+ * IDirectInput2W interface
2243
+ */
2244
+ #undef INTERFACE
2245
+ #define INTERFACE IDirectInput2W
2246
+ DECLARE_INTERFACE_(IDirectInput2W,IDirectInputW)
2247
+ {
2248
+ /*** IUnknown methods ***/
2249
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2250
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2251
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2252
+ /*** IDirectInputW methods ***/
2253
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEW *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2254
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2255
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2256
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2257
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2258
+ /*** IDirectInput2W methods ***/
2259
+ STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCWSTR pszName, LPGUID pguidInstance) PURE;
2260
+ };
2261
+
2262
+ #if !defined(__cplusplus) || defined(CINTERFACE)
2263
+ /*** IUnknown methods ***/
2264
+ #define IDirectInput2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2265
+ #define IDirectInput2_AddRef(p) (p)->lpVtbl->AddRef(p)
2266
+ #define IDirectInput2_Release(p) (p)->lpVtbl->Release(p)
2267
+ /*** IDirectInput methods ***/
2268
+ #define IDirectInput2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
2269
+ #define IDirectInput2_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
2270
+ #define IDirectInput2_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
2271
+ #define IDirectInput2_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
2272
+ #define IDirectInput2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
2273
+ /*** IDirectInput2 methods ***/
2274
+ #define IDirectInput2_FindDevice(p,a,b,c) (p)->lpVtbl->FindDevice(p,a,b,c)
2275
+ #else
2276
+ /*** IUnknown methods ***/
2277
+ #define IDirectInput2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2278
+ #define IDirectInput2_AddRef(p) (p)->AddRef()
2279
+ #define IDirectInput2_Release(p) (p)->Release()
2280
+ /*** IDirectInput methods ***/
2281
+ #define IDirectInput2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
2282
+ #define IDirectInput2_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
2283
+ #define IDirectInput2_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
2284
+ #define IDirectInput2_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
2285
+ #define IDirectInput2_Initialize(p,a,b) (p)->Initialize(a,b)
2286
+ /*** IDirectInput2 methods ***/
2287
+ #define IDirectInput2_FindDevice(p,a,b,c) (p)->FindDevice(a,b,c)
2288
+ #endif
2289
+
2290
+ /*****************************************************************************
2291
+ * IDirectInput7A interface
2292
+ */
2293
+ #undef INTERFACE
2294
+ #define INTERFACE IDirectInput7A
2295
+ DECLARE_INTERFACE_(IDirectInput7A,IDirectInput2A)
2296
+ {
2297
+ /*** IUnknown methods ***/
2298
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2299
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2300
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2301
+ /*** IDirectInputA methods ***/
2302
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEA *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2303
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2304
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2305
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2306
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2307
+ /*** IDirectInput2A methods ***/
2308
+ STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE;
2309
+ /*** IDirectInput7A methods ***/
2310
+ STDMETHOD(CreateDeviceEx)(THIS_ REFGUID rguid, REFIID riid, LPVOID *pvOut, LPUNKNOWN lpUnknownOuter) PURE;
2311
+ };
2312
+
2313
+ /*****************************************************************************
2314
+ * IDirectInput7W interface
2315
+ */
2316
+ #undef INTERFACE
2317
+ #define INTERFACE IDirectInput7W
2318
+ DECLARE_INTERFACE_(IDirectInput7W,IDirectInput2W)
2319
+ {
2320
+ /*** IUnknown methods ***/
2321
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2322
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2323
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2324
+ /*** IDirectInputW methods ***/
2325
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEW *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2326
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2327
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2328
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2329
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2330
+ /*** IDirectInput2W methods ***/
2331
+ STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCWSTR pszName, LPGUID pguidInstance) PURE;
2332
+ /*** IDirectInput7W methods ***/
2333
+ STDMETHOD(CreateDeviceEx)(THIS_ REFGUID rguid, REFIID riid, LPVOID *pvOut, LPUNKNOWN lpUnknownOuter) PURE;
2334
+ };
2335
+
2336
+ #if !defined(__cplusplus) || defined(CINTERFACE)
2337
+ /*** IUnknown methods ***/
2338
+ #define IDirectInput7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2339
+ #define IDirectInput7_AddRef(p) (p)->lpVtbl->AddRef(p)
2340
+ #define IDirectInput7_Release(p) (p)->lpVtbl->Release(p)
2341
+ /*** IDirectInput methods ***/
2342
+ #define IDirectInput7_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
2343
+ #define IDirectInput7_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
2344
+ #define IDirectInput7_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
2345
+ #define IDirectInput7_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
2346
+ #define IDirectInput7_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
2347
+ /*** IDirectInput2 methods ***/
2348
+ #define IDirectInput7_FindDevice(p,a,b,c) (p)->lpVtbl->FindDevice(p,a,b,c)
2349
+ /*** IDirectInput7 methods ***/
2350
+ #define IDirectInput7_CreateDeviceEx(p,a,b,c,d) (p)->lpVtbl->CreateDeviceEx(p,a,b,c,d)
2351
+ #else
2352
+ /*** IUnknown methods ***/
2353
+ #define IDirectInput7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2354
+ #define IDirectInput7_AddRef(p) (p)->AddRef()
2355
+ #define IDirectInput7_Release(p) (p)->Release()
2356
+ /*** IDirectInput methods ***/
2357
+ #define IDirectInput7_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
2358
+ #define IDirectInput7_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
2359
+ #define IDirectInput7_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
2360
+ #define IDirectInput7_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
2361
+ #define IDirectInput7_Initialize(p,a,b) (p)->Initialize(a,b)
2362
+ /*** IDirectInput2 methods ***/
2363
+ #define IDirectInput7_FindDevice(p,a,b,c) (p)->FindDevice(a,b,c)
2364
+ /*** IDirectInput7 methods ***/
2365
+ #define IDirectInput7_CreateDeviceEx(p,a,b,c,d) (p)->CreateDeviceEx(a,b,c,d)
2366
+ #endif
2367
+
2368
+
2369
+ #if DIRECTINPUT_VERSION >= 0x0800
2370
+ /*****************************************************************************
2371
+ * IDirectInput8A interface
2372
+ */
2373
+ #undef INTERFACE
2374
+ #define INTERFACE IDirectInput8A
2375
+ DECLARE_INTERFACE_(IDirectInput8A,IUnknown)
2376
+ {
2377
+ /*** IUnknown methods ***/
2378
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2379
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2380
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2381
+ /*** IDirectInput8A methods ***/
2382
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICE8A *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2383
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2384
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2385
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2386
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2387
+ STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE;
2388
+ STDMETHOD(EnumDevicesBySemantics)(THIS_ LPCSTR ptszUserName, LPDIACTIONFORMATA lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2389
+ STDMETHOD(ConfigureDevices)(THIS_ LPDICONFIGUREDEVICESCALLBACK lpdiCallback, LPDICONFIGUREDEVICESPARAMSA lpdiCDParams, DWORD dwFlags, LPVOID pvRefData) PURE;
2390
+ };
2391
+
2392
+ /*****************************************************************************
2393
+ * IDirectInput8W interface
2394
+ */
2395
+ #undef INTERFACE
2396
+ #define INTERFACE IDirectInput8W
2397
+ DECLARE_INTERFACE_(IDirectInput8W,IUnknown)
2398
+ {
2399
+ /*** IUnknown methods ***/
2400
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2401
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2402
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
2403
+ /*** IDirectInput8W methods ***/
2404
+ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICE8W *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE;
2405
+ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2406
+ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE;
2407
+ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE;
2408
+ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
2409
+ STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCWSTR pszName, LPGUID pguidInstance) PURE;
2410
+ STDMETHOD(EnumDevicesBySemantics)(THIS_ LPCWSTR ptszUserName, LPDIACTIONFORMATW lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE;
2411
+ STDMETHOD(ConfigureDevices)(THIS_ LPDICONFIGUREDEVICESCALLBACK lpdiCallback, LPDICONFIGUREDEVICESPARAMSW lpdiCDParams, DWORD dwFlags, LPVOID pvRefData) PURE;
2412
+ };
2413
+ #undef INTERFACE
2414
+
2415
+ #if !defined(__cplusplus) || defined(CINTERFACE)
2416
+ /*** IUnknown methods ***/
2417
+ #define IDirectInput8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2418
+ #define IDirectInput8_AddRef(p) (p)->lpVtbl->AddRef(p)
2419
+ #define IDirectInput8_Release(p) (p)->lpVtbl->Release(p)
2420
+ /*** IDirectInput8 methods ***/
2421
+ #define IDirectInput8_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
2422
+ #define IDirectInput8_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
2423
+ #define IDirectInput8_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
2424
+ #define IDirectInput8_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
2425
+ #define IDirectInput8_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
2426
+ #define IDirectInput8_FindDevice(p,a,b,c) (p)->lpVtbl->FindDevice(p,a,b,c)
2427
+ #define IDirectInput8_EnumDevicesBySemantics(p,a,b,c,d,e) (p)->lpVtbl->EnumDevicesBySemantics(p,a,b,c,d,e)
2428
+ #define IDirectInput8_ConfigureDevices(p,a,b,c,d) (p)->lpVtbl->ConfigureDevices(p,a,b,c,d)
2429
+ #else
2430
+ /*** IUnknown methods ***/
2431
+ #define IDirectInput8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2432
+ #define IDirectInput8_AddRef(p) (p)->AddRef()
2433
+ #define IDirectInput8_Release(p) (p)->Release()
2434
+ /*** IDirectInput8 methods ***/
2435
+ #define IDirectInput8_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
2436
+ #define IDirectInput8_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
2437
+ #define IDirectInput8_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
2438
+ #define IDirectInput8_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
2439
+ #define IDirectInput8_Initialize(p,a,b) (p)->Initialize(a,b)
2440
+ #define IDirectInput8_FindDevice(p,a,b,c) (p)->FindDevice(a,b,c)
2441
+ #define IDirectInput8_EnumDevicesBySemantics(p,a,b,c,d,e) (p)->EnumDevicesBySemantics(a,b,c,d,e)
2442
+ #define IDirectInput8_ConfigureDevices(p,a,b,c,d) (p)->ConfigureDevices(a,b,c,d)
2443
+ #endif
2444
+
2445
+ #endif /* DI8 */
2446
+
2447
+ /* Export functions */
2448
+
2449
+ #ifdef __cplusplus
2450
+ extern "C" {
2451
+ #endif
2452
+
2453
+ #if DIRECTINPUT_VERSION >= 0x0800
2454
+ HRESULT WINAPI DirectInput8Create(HINSTANCE,DWORD,REFIID,LPVOID *,LPUNKNOWN);
2455
+ #else /* DI < 8 */
2456
+ HRESULT WINAPI DirectInputCreateA(HINSTANCE,DWORD,LPDIRECTINPUTA *,LPUNKNOWN);
2457
+ HRESULT WINAPI DirectInputCreateW(HINSTANCE,DWORD,LPDIRECTINPUTW *,LPUNKNOWN);
2458
+ #define DirectInputCreate WINELIB_NAME_AW(DirectInputCreate)
2459
+
2460
+ HRESULT WINAPI DirectInputCreateEx(HINSTANCE,DWORD,REFIID,LPVOID *,LPUNKNOWN);
2461
+ #endif /* DI8 */
2462
+
2463
+ #ifdef __cplusplus
2464
+ };
2465
+ #endif
2466
+
2467
+ #endif /* __DINPUT_INCLUDED__ */