初始化版本

This commit is contained in:
冯佳
2025-12-23 08:29:44 +08:00
parent 0ec8a5b380
commit cc9f363ff8
22 changed files with 1370 additions and 50 deletions

51
api/menu_api.h Normal file
View File

@ -0,0 +1,51 @@
#ifndef MENU_API_H
#define MENU_API_H
#include "../src/core/menu_types.h"
#ifdef __cplusplus
extern "C" {
#endif
// Initialization
MenuErrCode menu_init(void);
void menu_deinit(void);
// Core Loop
void menu_main_loop(uint32_t tick);
// Node Registration
MenuNodeId menu_register_node(
MenuNodeId id,
MenuNodeId parent_id,
const char* name,
MenuCallback enter_cb,
MenuCallback exit_cb
);
// Extended registration (Optimization)
MenuNodeId menu_register_node_ex(
MenuNodeId id,
MenuNodeId parent_id,
const char* name,
MenuCallback enter_cb,
MenuCallback exit_cb,
MenuCallback render_cb,
void* user_data
);
// Event Handling
MenuErrCode menu_post_event(MenuEventType type, uint32_t param);
// Navigation
MenuErrCode menu_enter(void); // Enter root
MenuErrCode menu_back(void);
// Parameter Binding
MenuErrCode menu_node_bind_param(MenuNodeId node_id, uint16_t param_id);
#ifdef __cplusplus
}
#endif
#endif // MENU_API_H