|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
🖥️ Unified terminal display implementation More...
Go to the source code of this file.
Data Structures | |
| struct | session_display_ctx |
| Internal session display context structure. More... | |
Typedefs | |
| typedef struct session_display_ctx | session_display_ctx_t |
| Internal session display context structure. | |
🖥️ Unified terminal display implementation
Implements the session display abstraction layer for unified terminal rendering across client, mirror, and discovery modes.
Definition in file lib/session/display.c.
| typedef struct session_display_ctx session_display_ctx_t |
Internal session display context structure.
Contains all state for terminal display including TTY info, capabilities, palette, and rendering state.
| void session_display_clear | ( | session_display_ctx_t * | ctx | ) |
Definition at line 671 of file lib/session/display.c.
References session_display_ctx::has_tty, session_display_ctx::initialized, session_display_ctx::snapshot_mode, and session_display_ctx::tty_info.
| char * session_display_convert_to_ascii | ( | session_display_ctx_t * | ctx, |
| const image_t * | image | ||
| ) |
Definition at line 337 of file lib/session/display.c.
References ascii_convert_with_capabilities(), session_display_ctx::caps, session_display_ctx::digital_rain, digital_rain_apply(), image_destroy(), image_new(), session_display_ctx::initialized, session_display_ctx::last_frame_time_ns, session_display_ctx::palette_chars, rainbow_replace_ansi_colors(), and time_get_ns().
Referenced by session_render_loop().
| session_display_ctx_t * session_display_create | ( | const session_display_config_t * | config | ) |
Definition at line 121 of file lib/session/display.c.
References ansi_fast_init(), ansi_fast_init_16color(), ansi_fast_init_256color(), ascii_write_init(), session_display_ctx::audio_ctx, session_display_ctx::audio_playback_enabled, session_display_ctx::caps, detect_terminal_capabilities(), session_display_ctx::digital_rain, digital_rain_init(), digital_rain_set_color_from_filter(), session_display_ctx::first_frame, get_terminal_size(), get_utf8_palette_cache(), session_display_ctx::has_tty, session_display_ctx::help_screen_active, initialize_client_palette(), session_display_ctx::initialized, session_display_ctx::last_frame_time_ns, log_set_force_stderr(), session_display_ctx::luminance_palette, session_display_ctx::palette_chars, session_display_ctx::palette_len, session_display_ctx::palette_type, platform_isatty(), session_display_ctx::snapshot_mode, terminal_is_interactive(), terminal_is_stdin_tty(), terminal_is_stdout_tty(), terminal_should_force_stderr(), time_get_ns(), and session_display_ctx::tty_info.
Referenced by display_init(), and session_client_like_run().
| void session_display_cursor_home | ( | session_display_ctx_t * | ctx | ) |
Definition at line 689 of file lib/session/display.c.
References session_display_ctx::has_tty, session_display_ctx::initialized, and session_display_ctx::tty_info.
| void session_display_destroy | ( | session_display_ctx_t * | ctx | ) |
Definition at line 252 of file lib/session/display.c.
References ascii_write_destroy(), session_display_ctx::digital_rain, digital_rain_destroy(), session_display_ctx::has_tty, session_display_ctx::initialized, platform_close(), session_display_ctx::snapshot_mode, and session_display_ctx::tty_info.
Referenced by session_client_like_run().
| const terminal_capabilities_t * session_display_get_caps | ( | session_display_ctx_t * | ctx | ) |
Definition at line 293 of file lib/session/display.c.
References session_display_ctx::caps, and session_display_ctx::initialized.
| const char * session_display_get_luminance_palette | ( | session_display_ctx_t * | ctx | ) |
Definition at line 317 of file lib/session/display.c.
References session_display_ctx::initialized, and session_display_ctx::luminance_palette.
| const char * session_display_get_palette_chars | ( | session_display_ctx_t * | ctx | ) |
Definition at line 301 of file lib/session/display.c.
References session_display_ctx::initialized, and session_display_ctx::palette_chars.
| size_t session_display_get_palette_len | ( | session_display_ctx_t * | ctx | ) |
Definition at line 309 of file lib/session/display.c.
References session_display_ctx::initialized, and session_display_ctx::palette_len.
| int session_display_get_tty_fd | ( | session_display_ctx_t * | ctx | ) |
Definition at line 325 of file lib/session/display.c.
References session_display_ctx::initialized, and session_display_ctx::tty_info.
Referenced by session_display_render_help().
| bool session_display_has_audio_playback | ( | session_display_ctx_t * | ctx | ) |
Definition at line 713 of file lib/session/display.c.
References session_display_ctx::audio_playback_enabled, and session_display_ctx::initialized.
| bool session_display_has_tty | ( | session_display_ctx_t * | ctx | ) |
Definition at line 285 of file lib/session/display.c.
References session_display_ctx::has_tty, and session_display_ctx::initialized.
Referenced by display_has_tty(), and session_display_render_help().
| bool session_display_is_help_active | ( | session_display_ctx_t * | ctx | ) |
Check if help screen is currently active (implemented in display.c for struct access)
Definition at line 792 of file lib/session/display.c.
References session_display_ctx::help_screen_active.
Referenced by display_render_frame(), session_handle_keyboard_input(), and session_render_loop().
| void session_display_render_frame | ( | session_display_ctx_t * | ctx, |
| const char * | frame_data | ||
| ) |
Definition at line 511 of file lib/session/display.c.
References session_display_ctx::first_frame, session_display_ctx::has_tty, session_display_ctx::help_screen_active, session_display_ctx::initialized, log_lock_terminal(), log_unlock_terminal(), platform_write_all(), session_display_ctx::snapshot_mode, terminal_flush(), and terminal_is_interactive().
Referenced by display_render_frame(), and session_render_loop().
| void session_display_reset | ( | session_display_ctx_t * | ctx | ) |
Definition at line 652 of file lib/session/display.c.
References session_display_ctx::has_tty, session_display_ctx::initialized, session_display_ctx::snapshot_mode, terminal_flush(), and session_display_ctx::tty_info.
Referenced by display_full_reset().
| void session_display_set_cursor_visible | ( | session_display_ctx_t * | ctx, |
| bool | visible | ||
| ) |
Definition at line 701 of file lib/session/display.c.
References session_display_ctx::has_tty, session_display_ctx::initialized, and session_display_ctx::tty_info.
| void session_display_toggle_help | ( | session_display_ctx_t * | ctx | ) |
Toggle help screen on/off (implemented in display.c for struct access)
Definition at line 779 of file lib/session/display.c.
References session_display_ctx::help_screen_active.
Referenced by session_handle_keyboard_input().
| asciichat_error_t session_display_write_audio | ( | session_display_ctx_t * | ctx, |
| const float * | buffer, | ||
| size_t | num_samples | ||
| ) |
Definition at line 721 of file lib/session/display.c.
References session_display_ctx::audio_ctx, session_display_ctx::audio_playback_enabled, and session_display_ctx::initialized.
| void session_display_write_raw | ( | session_display_ctx_t * | ctx, |
| const char * | data, | ||
| size_t | len | ||
| ) |
Definition at line 632 of file lib/session/display.c.
References session_display_ctx::has_tty, session_display_ctx::initialized, platform_write_all(), terminal_flush(), and session_display_ctx::tty_info.
Referenced by session_display_render_help().