You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
|
|
#include "tjc_screen_event.h"
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
/***********************************************************************************************************************
|
|
* 事件处理变量 *
|
|
***********************************************************************************************************************/
|
|
static tjc_screen_event_t event;
|
|
static tjc_processe_event_t m_cb;
|
|
|
|
|
|
|
|
static uint8_t packetType;
|
|
|
|
static void callback_event_process(tjc_screen_event_t* event);
|
|
|
|
/**
|
|
* @description: 事件发生判断
|
|
* @param {uint8_t*} packet
|
|
* @return {*}
|
|
*/
|
|
void event_process(uint8_t* packet) {
|
|
packetType = packet[0];
|
|
if (kpt_button_event == packetType) {
|
|
printf("event Button\n");
|
|
event.eventId = packet[0];
|
|
event.pid = packet[1];
|
|
event.bid = packet[2];
|
|
callback_event_process(&event);
|
|
} else if (kpt_sys_event_page_id == packetType || kpt_inputfield_content_change_event1) {
|
|
printf("event page\n");
|
|
event.eventId = packet[0];
|
|
event.pid = packet[1];
|
|
event.bid = packet[2];
|
|
memcpy(event.d.inputfield_content.text, &packet[3], sizeof(event.d.inputfield_content.text));
|
|
callback_event_process(&event);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* @description: 执行页面回调函数
|
|
* @param {tjc_screen_event_t*} event
|
|
* @return {*}
|
|
*/
|
|
void callback_event_process(tjc_screen_event_t* event) {
|
|
if (m_cb) m_cb(event);
|
|
}
|
|
|
|
/**
|
|
* @description: 注册页面回调函数
|
|
* @param {onpagefunc_t} cb
|
|
* @return {*}
|
|
*/
|
|
void regCallBack(onpagefunc_t cb) { m_cb = cb; }
|
|
|
|
|