diff options
Diffstat (limited to 'include/rodeo/input.h')
| -rw-r--r-- | include/rodeo/input.h | 63 |
1 files changed, 53 insertions, 10 deletions
diff --git a/include/rodeo/input.h b/include/rodeo/input.h index 1f89b8c..5c7cb1c 100644 --- a/include/rodeo/input.h +++ b/include/rodeo/input.h @@ -7,25 +7,68 @@ bool rodeo_input_events_poll(void); void -rodeo_input_scene_activate( - rodeo_input_scene_t *scene +rodeo_input_command_register_callback( + rodeo_input_command_t *command, + rodeo_input_callback_function func ); void -rodeo_input_scene_deactivate( - rodeo_input_scene_t *scene +rodeo_input_command_unregister_callback( + rodeo_input_command_t *command, + rodeo_input_callback_function func +); + +rodeo_input_scene_t* +rodeo_input_scene_create(void); + +void +rodeo_input_scene_destroy(rodeo_input_scene_t *scene); + +rodeo_input_command_t* +rodeo_input_command_create(uint32_t input_type); + +// make sure to unregister from all scenes before destroying +void +rodeo_input_command_destroy(rodeo_input_command_t *command); + +// returns false if attempting to register +// input type that has been set as valid +bool +rodeo_input_command_register_binary_scancode( + rodeo_input_command_t *input_command, + rodeo_input_binary_scancode_t scancode +); + +bool +rodeo_input_command_register_binary_mouseButton( + rodeo_input_command_t *input_command, + rodeo_input_binary_mouseButton_t mouse_button ); +// alternative proposed "general" registration methods +//rodeo_input_command_register_binary(cmd, rodeo_input_binary_Scancode, rodeo_input_binary_scancode_Q ); +//rodeo_input_command_register_any(cmd, rodeo_input_type_Binary, rodeo_input_binary_Scancode, rodeo_input_binary_scancode_Q ); + + void -rodeo_input_scene_register_callback( - rodeo_input_callback_function func, +rodeo_input_scene_register_command( rodeo_input_scene_t *scene, - rodeo_input_register_type_t type + rodeo_input_command_t *command ); void -rodeo_input_scene_unregister_callback( - rodeo_input_callback_function func, +rodeo_input_scene_unregister_command( rodeo_input_scene_t *scene, - rodeo_input_register_type_t type + rodeo_input_command_t *command +); + +void +rodeo_input_scene_activate( + rodeo_input_scene_t *scene ); + +void +rodeo_input_scene_deactivate( + rodeo_input_scene_t *scene +); + |
