K1Guitar/APP/app_touch.h

37 lines
1.2 KiB
C
Raw Normal View History

#ifndef APP_TOUCH_H
#define APP_TOUCH_H
#include <stdint.h>
/* ==================== <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ==================== */
typedef enum {
GESTURE_NONE = 0, /* <20><><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>״̬<D7B4><CCAC>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
GESTURE_TAP, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD> + <20>ͷţ<CDB7>λ<EFBFBD><CEBB>С<EFBFBD><D0A1> */
GESTURE_LONG_PRESS, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD> 1000ms */
GESTURE_REPEAT, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ 120ms */
GESTURE_DRAG, /* <20>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD>λ<EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>ֵ */
GESTURE_RELEASE, /* <20>ͷţ<CDB7><C5A3>Ӱ<EFBFBD><D3B0>µ<EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ƻ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
} app_touch_gesture_t;
/* ==================== <20><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD> ==================== */
typedef struct {
app_touch_gesture_t gesture; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
uint16_t x, y; /* <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> */
uint16_t down_x, down_y; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣨DRAG/RELEASE <20>ж<EFBFBD><D0B6>ã<EFBFBD> */
} app_touch_result_t;
/* ==================== <20><><EFBFBD><EFBFBD> API ==================== */
/* <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>л<EFBFBD>/<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ѡ<EFBFBD><D1A1><EFBFBD>ã<EFBFBD> */
void app_touch_reset(void);
/* <20><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><DDBA>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָδ̧<CEB4><CCA7>/ADC <20><><EFBFBD><EFBFBD><EFBFBD>󴥵<EFBFBD><F3B4A5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Tab */
void app_touch_suppress(uint32_t ms);
/* <20><><EFBFBD>ģ<EFBFBD>ιһ<CEB9><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>
* <EFBFBD><EFBFBD> touch_task ÿ 20ms <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>Ρ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>ض<EFBFBD>Ӧ gesture<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD> GESTURE_NONE<EFBFBD><EFBFBD> */
app_touch_result_t app_touch_process(uint16_t x, uint16_t y, uint8_t pressed);
#endif /* APP_TOUCH_H */