X-Git-Url: http://git.maemo.org/git/?p=mardrone;a=blobdiff_plain;f=mardrone%2FARDrone_SDK_Version_1_8_20110726%2FARDroneLib%2FSoft%2FLib%2Fardrone_tool%2FUI%2Fardrone_input.h;fp=mardrone%2FARDrone_SDK_Version_1_8_20110726%2FARDroneLib%2FSoft%2FLib%2Fardrone_tool%2FUI%2Fardrone_input.h;h=a846e5e6ae63ef5654fc1ba5a2e9bda9e48e4058;hp=0000000000000000000000000000000000000000;hb=9ec9bc13b75d30bc45535c54a652934debfcea92;hpb=ae0a3c2dc0898400aca0dd6b439c5db8044db7b2 diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/Soft/Lib/ardrone_tool/UI/ardrone_input.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/Soft/Lib/ardrone_tool/UI/ardrone_input.h new file mode 100644 index 0000000..a846e5e --- /dev/null +++ b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/Soft/Lib/ardrone_tool/UI/ardrone_input.h @@ -0,0 +1,60 @@ +#ifndef _ARDRONE_INPUT_H_ +#define _ARDRONE_INPUT_H_ + +#include +#include + +typedef struct _input_device_t { + char name[MAX_NAME_LENGTH]; + + C_RESULT (*init)(void); + C_RESULT (*update)(void); + C_RESULT (*shutdown)(void); +} input_device_t; + +typedef struct _input_state_t +{ + int32_t ag; + int32_t ab; + int32_t ad; + int32_t ah; + int32_t l1; + int32_t r1; + int32_t l2; + int32_t r2; + int32_t select; + int32_t start; + + int32_t x; + int32_t y; +} input_state_t; + +// Input change handling +input_state_t* ardrone_tool_get_input_state( void ); +C_RESULT ardrone_tool_set_ui_pad_ag(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_ab(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_ad(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_ah(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_l1(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_r1(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_l2(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_r2(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_select(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_start(int32_t value); +C_RESULT ardrone_tool_set_ui_pad_xy(int32_t x, int32_t y); + +// Callbacks for user input event handling +extern C_RESULT custom_reset_user_input(input_state_t* input_state, uint32_t user_input ) WEAK; +extern C_RESULT custom_update_user_input(input_state_t* input_state, uint32_t user_input ) WEAK; + +// Input API +C_RESULT ardrone_tool_input_add( input_device_t* device ); +C_RESULT ardrone_tool_input_remove( input_device_t* device ); + +C_RESULT ardrone_tool_input_init(void); +C_RESULT ardrone_tool_input_reset(void); +C_RESULT ardrone_tool_input_update(void); +C_RESULT ardrone_tool_input_shutdown(void); +C_RESULT ardrone_tool_start_reset(void); + +#endif // _ARDRONE_INPUT_H_