初始化版本
This commit is contained in:
51
api/menu_api.h
Normal file
51
api/menu_api.h
Normal 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
|
||||
Reference in New Issue
Block a user