整定一版

This commit is contained in:
冯佳
2025-12-19 17:01:27 +08:00
parent 294a49f207
commit 8bddc34c88
43 changed files with 7273 additions and 956 deletions

76
src/core/menu_event.h Normal file
View File

@ -0,0 +1,76 @@
/**
**********************************************************************************************************************
* @file menu_event.h
* @brief 菜单组件事件队列功能声明
* @author menu_component
* @date 2025-12-19
**********************************************************************************************************************
*/
#ifndef MENU_EVENT_H
#define MENU_EVENT_H
/* Includes ----------------------------------------------------------------------------------------------------------*/
#include "menu_types.h"
/* 函数声明 ---------------------------------------------------------------------------------------------------------*/
/**
* @brief 初始化事件队列
* @param queue 事件队列指针
*/
void menu_event_queue_init(MenuEventQueue* queue);
/**
* @brief 检查事件队列是否为空
* @param queue 事件队列指针
* @return true为空false不为空
*/
bool menu_event_queue_is_empty(const MenuEventQueue* queue);
/**
* @brief 检查事件队列是否已满
* @param queue 事件队列指针
* @return true已满false未满
*/
bool menu_event_queue_is_full(const MenuEventQueue* queue);
/**
* @brief 获取事件队列中的元素数量
* @param queue 事件队列指针
* @return 元素数量
*/
uint8_t menu_event_queue_get_count(const MenuEventQueue* queue);
/**
* @brief 向事件队列添加事件
* @param queue 事件队列指针
* @param event 要添加的事件
* @return 错误码
*/
MenuErrCode menu_event_queue_push(MenuEventQueue* queue, const MenuEvent* event);
/**
* @brief 从事件队列获取下一个事件
* @param queue 事件队列指针
* @param event 用于存储获取的事件
* @return 错误码
*/
MenuErrCode menu_event_queue_pop(MenuEventQueue* queue, MenuEvent* event);
/**
* @brief 清空事件队列
* @param queue 事件队列指针
*/
void menu_event_queue_clear(MenuEventQueue* queue);
/**
* @brief 向事件队列推送一个简单事件
* @param core_ctx 菜单核心上下文
* @param type 事件类型
* @param priority 事件优先级
* @return 错误码
*/
MenuErrCode menu_core_post_event(struct MenuCoreCtx* core_ctx, MenuEventType type, uint8_t priority);
#endif /* MENU_EVENT_H */