summaryrefslogtreecommitdiffhomepage
path: root/include/rodeo/input.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/rodeo/input.h')
-rw-r--r--include/rodeo/input.h63
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
+);
+