#ifndef DIALOGUE_H #define DIALOGUE_H #include "../common.h" #include "group.h" #include #include #include #include #define MAX_IDS 64 enum d_color_scheme { dc_normal, dc_alert }; typedef struct { widget_t w; WINDOW *win; group_t *g_content; group_t *g_action; group_el_t *active_el; char text[DIALOGUE_TEXT]; bool is_initiated; bool needs_update; bool needs_destroy; coordinates_t *p_coordinates; enum d_color_scheme color_scheme; d_array_ptr_t id_map; } dialogue_t; void init_dialogue(dialogue_t *d, const char title[], const char text[], coordinates_t *p_coordinates); int32_t draw_dialogue(dialogue_t *d); void destroy_dialogue(dialogue_t *d, void *app); void dialogue_default_callback(callback_args_t *args); void dialogue_init_active_id(dialogue_t *dialogue); #endif