ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
tui/controller.h
Go to the documentation of this file.
1#pragma once
2
4#include <libplatform/terminal.h>
5#include <stddef.h>
7
9#define UI_CONTROLLER_MAX_FRAME_BYTES (16 * 1024 * 1024)
10
29
30typedef void (*ui_render_fn)(terminal_size_t size, const void *snapshot);
31
38asciichat_error_t ui_controller_submit(ui_screen_t screen, int fd, terminal_size_t minimum, ui_render_fn render,
39 const void *snapshot, size_t bytes);
43void ui_controller_dismiss(ui_screen_t screen, int previous);
44void ui_controller_shutdown(void);
46asciichat_error_t ui_controller_title_start(const char *mode, int fd);
60void ui_controller_title_discovery(bool has_session, bool joining);
67void ui_controller_redraw(void);
76bool ui_controller_is_owner(void);
77terminal_size_t ui_controller_size(void);
79typedef struct {
80 int screen;
81 bool covered;
91
95asciichat_error_t ui_controller_write(int fd, const char *data, size_t len);
96
98size_t ui_controller_trim_utf8_chunk(const char *data, size_t length);
100void ui_controller_finish(int fd, const char *data, size_t len);
101
103asciichat_error_t ui_controller_present(ui_screen_t screen, int fd, terminal_size_t minimum, const char *data,
104 size_t len);
105
106asciichat_error_t ui_controller_printf(int fd, const char *format, ...);
107
110
112asciichat_error_t ui_controller_present_retained(ui_screen_t screen, int fd, terminal_size_t minimum, const char *data,
113 size_t len);
114
118void ui_controller_set_effective_fps(unsigned int fps);
119
124bool ui_controller_first_use_key(int key);
Synchronized per-thread pending error stacks and value snapshots. SET_ERRNO pushes,...
unsigned long long uint64_t
Definition common.h:63
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
For animation config, this is the live record that ties type, fps, speed, hidden_policy together....
void ui_controller_packet_begin(void)
ui_title_activity_t
@ UI_TITLE_CONNECTING
@ UI_TITLE_WAITING_PEERS
@ UI_TITLE_CREATING_SESSION
@ UI_TITLE_ACTIVITY_IDLE
@ UI_TITLE_RECONNECTING
@ UI_TITLE_JOINING_SESSION
@ UI_TITLE_LOADING_URL
asciichat_error_t ui_controller_start_terminal(int fd)
void ui_controller_remove(ui_screen_t screen)
bool ui_controller_first_use_key(int key)
void ui_controller_dismiss(ui_screen_t screen, int previous)
void ui_controller_title_render(ui_title_render_t phase)
void ui_controller_select_interactive(int screen)
asciichat_error_t ui_controller_submit(ui_screen_t screen, int fd, terminal_size_t minimum, ui_render_fn render, const void *snapshot, size_t bytes)
ui_screen_t
@ UI_SCREEN_PROMPT
@ UI_SCREEN_COUNT
@ UI_SCREEN_NOTICE
@ UI_SCREEN_LOGS
@ UI_SCREEN_ERRNO
@ UI_SCREEN_MEDIA
@ UI_SCREEN_STATS
@ UI_SCREEN_UPDATE
@ UI_SCREEN_SYNC
@ UI_SCREEN_SPLASH
@ UI_SCREEN_STATUS
@ UI_SCREEN_MDNS
@ UI_SCREEN_HELP
@ UI_SCREEN_ERROR
@ UI_SCREEN_RENDER_PROGRESS
void ui_controller_set_effective_fps(unsigned int fps)
bool ui_controller_is_presenting(void)
void ui_controller_redraw(void)
asciichat_error_t ui_controller_title_start(const char *mode, int fd)
void ui_controller_frame_acquired_at(uint64_t started_ns)
bool ui_controller_is_owner(void)
void ui_controller_restore_terminal(void)
const animation_sample_t * ui_controller_animation_sample(void)
void ui_controller_toggle_logs(void)
ui_title_render_t
@ UI_TITLE_FINALIZING
@ UI_TITLE_RENDERING
@ UI_TITLE_FAILED
@ UI_TITLE_IDLE
void ui_controller_title_activity(ui_title_activity_t activity)
int ui_controller_current_screen(void)
void ui_controller_packet_end(void)
void ui_controller_finish(int fd, const char *data, size_t len)
terminal_size_t ui_controller_size(void)
void ui_controller_title_ready(void)
void ui_controller_hide_logs(void)
void ui_controller_show_volume(void)
void ui_controller_shutdown(void)
int ui_controller_interactive_screen(void)
size_t ui_controller_trim_utf8_chunk(const char *data, size_t length)
bool ui_controller_is_blocked(void)
asciichat_error_t ui_controller_write(int fd, const char *data, size_t len)
asciichat_error_t ui_controller_present_retained(ui_screen_t screen, int fd, terminal_size_t minimum, const char *data, size_t len)
ui_presentation_state_t ui_controller_state(void)
bool ui_controller_screen_live(ui_screen_t screen)
void(* ui_render_fn)(terminal_size_t size, const void *snapshot)
void ui_controller_title_discovery(bool has_session, bool joining)
asciichat_error_t ui_controller_present(ui_screen_t screen, int fd, terminal_size_t minimum, const char *data, size_t len)
int ui_controller_active_fd(void)
asciichat_error_t ui_controller_printf(int fd, const char *format,...)