c_api_input_controller.h - Engine C API Reference

c_api_input_controller.h
  1. #pragma once
  2. #include "c_api_types.h"
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. struct InputControllerCApi
  7. {
  8. enum InputCategory (*category)(CApiInputControllerPtr input_controller);
  9. const char *(*type)(CApiInputControllerPtr input_controller);
  10. const char *(*name)(CApiInputControllerPtr input_controller);
  11. unsigned (*num_buttons)(CApiInputControllerPtr input_controller);
  12. float (*button)(CApiInputControllerPtr input_controller, unsigned id);
  13. int (*pressed)(CApiInputControllerPtr input_controller, unsigned id);
  14. int (*released)(CApiInputControllerPtr input_controller, unsigned id);
  15. unsigned (*any_pressed)(CApiInputControllerPtr input_controller);
  16. unsigned (*any_released)(CApiInputControllerPtr input_controller);
  17. void (*set_down_threshold)(CApiInputControllerPtr input_controller, float threshold);
  18. float (*down_threshold)(CApiInputControllerPtr input_controller);
  19. int (*num_axes)(CApiInputControllerPtr input_controller);
  20. struct CApiVector3 (*axis)(CApiInputControllerPtr input_controller, unsigned axis_index, struct DeadZoneSetting *optional_deadzone_setting);
  21. void (*dead_zone)(CApiInputControllerPtr input_controller, unsigned axis_index, struct DeadZoneSetting *out_deadzone_setting);
  22. void (*set_dead_zone)(CApiInputControllerPtr input_controller, unsigned axis_index, struct DeadZoneSetting *deadzone_setting);
  23. void (*set_rumble_enabled)(CApiInputControllerPtr input_controller, unsigned enabled);
  24. unsigned(*num_rumble_motors)(CApiInputControllerPtr input_controller);
  25. void (*set_rumble)(CApiInputControllerPtr input_controller, unsigned motor_id, float value);
  26. unsigned (*rumble_effect)(CApiInputControllerPtr input_controller, unsigned motor_id, struct RumbleParameters *rumble_parameters);
  27. void (*stop_rumble_effect)(CApiInputControllerPtr input_controller, unsigned motor_id, unsigned rumble_effect_id);
  28. unsigned (*is_rumble_effect_playing)(CApiInputControllerPtr input_controller, unsigned motor_id, unsigned rumble_effect_id);
  29. void (*stop_all_rumble_effects)(CApiInputControllerPtr input_controller, unsigned motor_id);
  30. const char *(*button_name)(CApiInputControllerPtr input_controller, unsigned button_id);
  31. const char *(*button_locale_name)(CApiInputControllerPtr input_controller, unsigned button_id);
  32. unsigned (*button_id)(CApiInputControllerPtr input_controller, unsigned button_name_id32);
  33. const char *(*axis_name)(CApiInputControllerPtr input_controller, unsigned axis_id);
  34. unsigned (*axis_id)(CApiInputControllerPtr input_controller, unsigned axis_name_id32);
  35. const char *(*rumble_motor_name)(CApiInputControllerPtr input_controller, unsigned motor_id);
  36. unsigned (*rumble_motor_id)(CApiInputControllerPtr input_controller, unsigned rumble_motor_name_id32);
  37. unsigned (*active)(CApiInputControllerPtr input_controller);
  38. unsigned (*connected)(CApiInputControllerPtr input_controller);
  39. unsigned (*disconnected)(CApiInputControllerPtr input_controller);
  40. };
  41. #ifdef __cplusplus
  42. }
  43. #endif