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

#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; }