ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
notice.h
Go to the documentation of this file.
1#pragma once
2
6#include <stdbool.h>
8
16
20int ui_notice_render(frame_buffer_t *buffer, const char *text, ui_notice_severity_t severity, int cols, bool unicode,
21 bool color);
22
25
27asciichat_error_t ui_notice_present_first_use(const char *title, const char *text, const char *marker_path);
29void ui_notice_frame_presented(const void *snapshot);
37ui_notice_key_result_t ui_notice_first_use_key(const void *snapshot, int key);
38void ui_notice_first_use_complete(const void *snapshot);
39
41#ifdef EMSCRIPTEN_BUILD
43static inline bool ui_notice_confirm(ui_notice_severity_t severity, const char *text, unsigned timeout_seconds) {
44 (void)severity;
45 return platform_prompt_yes_no_timeout(text, false, timeout_seconds);
46}
47#else
48bool ui_notice_confirm(ui_notice_severity_t severity, const char *text, unsigned timeout_seconds);
49#endif
50#ifdef EMSCRIPTEN_BUILD
51static inline bool ui_notice_confirm_kind(ui_prompt_kind_t kind, ui_notice_severity_t severity, const char *text,
52 unsigned timeout_seconds) {
53 (void)kind;
54 return ui_notice_confirm(severity, text, timeout_seconds);
55}
56#else
57bool ui_notice_confirm_kind(ui_prompt_kind_t kind, ui_notice_severity_t severity, const char *text,
58 unsigned timeout_seconds);
59#endif
60ui_prompt_kind_t ui_notice_prompt_kind(void);
62void ui_notice_dismiss(void);
63const char *ui_notice_title(const void *snapshot);
64
66void ui_notice_log(ui_notice_severity_t severity, const char *file, int line, const char *func, const char *title,
67 const char *format, ...) __attribute__((format(printf, 6, 7)));
68#define NOTICE(severity, title, ...) \
69 ui_notice_log(UI_NOTICE_##severity, __FILE__, __LINE__, __func__, title, __VA_ARGS__)
70
72void ui_notice_announce(const char *file, int line, const char *func, const char *title, const char *format, ...)
73 __attribute__((format(printf, 5, 6)));
74#define NOTICE_ANNOUNCE(title, ...) ui_notice_announce(__FILE__, __LINE__, __func__, title, __VA_ARGS__)
75
77void ui_notice_flush_snapshot(int fd, const void *snapshot);
Synchronized per-thread pending error stacks and value snapshots. SET_ERRNO pushes,...
Buffered terminal frame rendering.
struct frame_buffer frame_buffer_t
Opaque frame buffer handle.
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
📝 Logging API with multiple log levels and terminal output control
void ui_notice_frame_presented(const void *snapshot)
Definition notice.c:447
ui_prompt_kind_t ui_notice_prompt_kind(void)
Definition notice.c:518
ui_notice_key_result_t ui_notice_first_use_key(const void *snapshot, int key)
Definition notice.c:453
ui_notice_key_result_t
Definition notice.h:30
@ UI_NOTICE_KEY_HELP
Definition notice.h:33
@ UI_NOTICE_KEY_ORDINARY
Definition notice.h:31
@ UI_NOTICE_KEY_DISMISS
Definition notice.h:34
@ UI_NOTICE_KEY_COMPLETE
Definition notice.h:35
@ UI_NOTICE_KEY_HANDLED
Definition notice.h:32
void ui_notice_announce(const char *file, int line, const char *func, const char *title, const char *format,...) __attribute__((format(printf
void ui_notice_dismiss(void)
Definition notice.c:541
void ui_notice_log(ui_notice_severity_t severity, const char *file, int line, const char *func, const char *title, const char *format,...) __attribute__((format(printf
const char * ui_notice_title(const void *snapshot)
Definition notice.c:194
asciichat_error_t ui_notice_present_first_use(const char *title, const char *text, const char *marker_path)
Definition notice.c:416
bool ui_notice_confirm(ui_notice_severity_t severity, const char *text, unsigned timeout_seconds)
Definition notice.c:494
int ui_notice_render(frame_buffer_t *buffer, const char *text, ui_notice_severity_t severity, int cols, bool unicode, bool color)
Definition notice.c:64
ui_notice_severity_t
Definition notice.h:9
@ UI_NOTICE_WARNING
Definition notice.h:11
@ UI_NOTICE_SUCCESS
Definition notice.h:14
@ UI_NOTICE_INFO
Definition notice.h:10
@ UI_NOTICE_DANGER
Definition notice.h:12
@ UI_NOTICE_FATAL
Definition notice.h:13
ui_notice_severity_t ui_notice_prompt_severity(void)
Definition notice.c:522
void ui_notice_first_use_complete(const void *snapshot)
Definition notice.c:478
bool ui_notice_confirm_kind(ui_prompt_kind_t kind, ui_notice_severity_t severity, const char *text, unsigned timeout_seconds)
Definition notice.c:498
asciichat_error_t ui_notice_present(ui_notice_severity_t severity, const char *text)
Definition notice.c:371
void ui_notice_flush_snapshot(int fd, const void *snapshot)
Definition notice.c:526
Network quality metrics for a single participant.
Definition metrics.h:36