#ifndef UI_H  
#define UI_H  

#include <stddef.h>  

#ifdef __cplusplus  
extern "C" {  
#endif  

// 控制台颜色定义  
#define COLOR_RESET   "\x1b[0m"  
#define COLOR_BOLD    "\x1b[1m"  
#define COLOR_RED     "\x1b[31m"  
#define COLOR_GREEN   "\x1b[32m"  
#define COLOR_YELLOW  "\x1b[33m"  
#define COLOR_BLUE    "\x1b[34m"  
#define COLOR_MAGENTA "\x1b[35m"  
#define COLOR_CYAN    "\x1b[36m"  

void ui_init();  
void ui_cleanup();  
char ui_show_main_menu();  
void ui_prompt_filename(const char* prompt, char* buffer, size_t size);  
void ui_prompt_info(const char* prompt, char* buffer, size_t size);  
int ui_prompt_encryption_method();  
int ui_prompt_decoding_method();  
void ui_display_message(const char* message);  
void ui_display_error(const char* message);  
void ui_display_success(const char* message);  
void ui_display_progress(const char* operation, int percentage);  
void ui_pause(void);  

#ifdef __cplusplus  
}  
#endif  

#endif // UI_H