diff options
| author | realtradam <[email protected]> | 2023-04-24 19:08:31 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-04-24 19:08:31 -0400 |
| commit | 5a766c50d331e89e257a7fb68a876cb993087ef9 (patch) | |
| tree | 2b2add81110c5ac88e2fa463cd611d3eeaff02e3 /include | |
| parent | 16d05bdc02be5bb4749b58eb1f9fe7d54d590752 (diff) | |
| download | RodeoKit-5a766c50d331e89e257a7fb68a876cb993087ef9.tar.gz RodeoKit-5a766c50d331e89e257a7fb68a876cb993087ef9.zip | |
add void* to callbacks
Diffstat (limited to 'include')
| -rw-r--r-- | include/rodeo/input.h | 2 | ||||
| -rw-r--r-- | include/rodeo/input_t.h | 77 |
2 files changed, 66 insertions, 13 deletions
diff --git a/include/rodeo/input.h b/include/rodeo/input.h index 8d3d775..e589c90 100644 --- a/include/rodeo/input.h +++ b/include/rodeo/input.h @@ -25,7 +25,7 @@ void rodeo_input_scene_destroy(rodeo_input_scene_t *scene); rodeo_input_command_t* -rodeo_input_command_create(uint32_t input_type); +rodeo_input_command_create(uint32_t input_types); // make sure to unregister from all scenes before destroying void diff --git a/include/rodeo/input_t.h b/include/rodeo/input_t.h index f717de3..cb3163e 100644 --- a/include/rodeo/input_t.h +++ b/include/rodeo/input_t.h @@ -766,15 +766,28 @@ rodeo_input_binary_mouseButton_t; typedef enum { - rodeo_input_positional_mouse_Invalid = 0, - rodeo_input_positional_mouse_X = 1, - rodeo_input_positional_mouse_Y = 2 + rodeo_input_positional_mouse_Invalid = -1, + rodeo_input_positional_mouse_X, + rodeo_input_positional_mouse_Y } rodeo_input_positional_mouse_t; typedef enum { + rodeo_input_boundedRange_controllerAxis_Invalid = -1, + rodeo_input_boundedRange_controllerAxisLeft_X = 0, + rodeo_input_boundedRange_controllerAxisLeft_Y = 1, + rodeo_input_boundedRange_controllerAxisRight_X = 2, + rodeo_input_boundedRange_controllerAxisRight_Y = 3, + rodeo_input_boundedRange_controllerAxisTriggerLeft_X = 4, + rodeo_input_boundedRange_controllerAxisTriggerRight_Y = 5, +} +rodeo_input_boundedRange_controllerAxis_t; + +typedef +enum +{ rodeo_input_unboundedRange_mouse_Invalid = 0, rodeo_input_unboundedRange_mouse_X = 1, rodeo_input_unboundedRange_mouse_Y = 2 @@ -787,10 +800,14 @@ enum rodeo_input_type_Invalid = (1 << 0), rodeo_input_type_Binary = (1 << 1), rodeo_input_type_Positional = (1 << 2), - rodeo_input_type_UnboundedRange = (1 << 3), + rodeo_input_type_BoundedRange = (1 << 3), + rodeo_input_type_UnboundedRange = (1 << 4), } rodeo_input_type_t ; +/* + * needed for alternative registration + * uncomment this for when that is being implemented typedef enum { @@ -800,6 +817,30 @@ enum } rodeo_input_binary_type_t; +typedef +enum +{ + rodeo_input_positional_Invalid = 0, + rodeo_input_positional_Mouse +} +rodeo_input_positional_type_t; + +typedef +enum +{ + rodeo_input_boundedRange_Invalid = 0, + rodeo_input_boundedRange_Joystick +} +rodeo_input_boundedRange_type_t; + +typedef +enum +{ + rodeo_input_unboundedRange_Invalid = 0, + rodeo_input_unboundedRange_Mouse +} +rodeo_input_unboundedRange_type_t; +*/ typedef enum @@ -811,6 +852,9 @@ rodeo_input_binary_state_t; typedef int64_t rodeo_input_positional_state_t; +// ranges between -1.0 and +1.0 +typedef float rodeo_input_boundedRange_state_t; + typedef float rodeo_input_unboundedRange_state_t; typedef @@ -820,17 +864,19 @@ struct { rodeo_input_binary_state_t binary_state; rodeo_input_positional_state_t positional_state; + rodeo_input_boundedRange_state_t bounded_range_state; rodeo_input_unboundedRange_state_t unbounded_range_state; } data; - rodeo_input_type_t input_type; + rodeo_input_type_t type; } rodeo_input_any_state_t; typedef -void +void* (*rodeo_input_callback_function)( - rodeo_input_any_state_t state + rodeo_input_any_state_t *state, + void *data ); #define i_val rodeo_input_callback_function @@ -849,6 +895,10 @@ void #define i_tag input_positional_mouse #include <stc/cset.h> +#define i_val rodeo_input_boundedRange_controllerAxis_t +#define i_tag input_boundedRange_controllerAxis +#include <stc/cset.h> + #define i_val rodeo_input_unboundedRange_mouse_t #define i_tag input_unboundedRange_mouse #include <stc/cset.h> @@ -860,7 +910,6 @@ struct cset_input_callback_functions callbacks; - // binary struct { cset_input_binary_scancodes scancodes; @@ -868,17 +917,21 @@ struct } binary; - // positional struct { - cset_input_positional_mouse mouse_position; + cset_input_positional_mouse mouse_axes; } positional; - // unbounded range struct { - cset_input_unboundedRange_mouse mouse_delta; + cset_input_boundedRange_controllerAxis controller_axes; + } + bounded_range; + + struct + { + cset_input_unboundedRange_mouse mouse_axes; } unbounded_range; |
