Files
BBS-Client-TUI/src/widget/dialogue.h
T

37 lines
870 B
C

#ifndef DIALOGUE_H
#define DIALOGUE_H
#include "../common.h"
#include "group.h"
#include <ncurses.h>
#include <stdint.h>
#include <widget_core.h>
#include <utils.h>
#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