ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
ansi_fast.h File Reference

Fast ANSI escape sequence generation. More...

Go to the source code of this file.

Data Structures

struct  ansi_timing_t
 Timing breakdown for performance measurement. More...
 
struct  ansi_rle_context_t
 Run-length encoded color output context. More...
 
struct  rgb_error_t
 RGB error structure for dithering. More...
 

Enumerations

enum  ansi_color_mode_t { ANSI_MODE_FOREGROUND , ANSI_MODE_BACKGROUND , ANSI_MODE_FOREGROUND_BACKGROUND }
 Color mode for ANSI generation. More...
 

Functions

void ansi_fast_init (void)
 Initialize the decimal lookup table.
 
char * append_truecolor_fg (char *dst, uint8_t r, uint8_t g, uint8_t b)
 Append truecolor foreground ANSI sequence.
 
char * append_truecolor_bg (char *dst, uint8_t r, uint8_t g, uint8_t b)
 Append truecolor background ANSI sequence.
 
char * append_truecolor_fg_bg (char *dst, uint8_t fg_r, uint8_t fg_g, uint8_t fg_b, uint8_t bg_r, uint8_t bg_g, uint8_t bg_b)
 Append truecolor foreground and background ANSI sequence.
 
void ansi_rle_init (ansi_rle_context_t *ctx, char *buffer, size_t capacity, ansi_color_mode_t mode)
 Initialize run-length encoding context.
 
void ansi_rle_add_pixel (ansi_rle_context_t *ctx, uint8_t r, uint8_t g, uint8_t b, char ascii_char)
 Add a pixel with run-length encoding.
 
void ansi_rle_finish (ansi_rle_context_t *ctx)
 Finish RLE sequence.
 
void ansi_fast_init_256color (void)
 Initialize 256-color mode lookup tables.
 
char * append_256color_fg (char *dst, uint8_t color_index)
 Append 256-color foreground ANSI sequence.
 
uint8_t rgb_to_256color (uint8_t r, uint8_t g, uint8_t b)
 Convert RGB to 256-color palette index.
 
void ansi_fast_init_16color (void)
 Initialize 16-color mode lookup tables.
 
char * append_16color_fg (char *dst, uint8_t color_index)
 Append 16-color foreground ANSI sequence.
 
char * append_16color_bg (char *dst, uint8_t color_index)
 Append 16-color background ANSI sequence.
 
uint8_t rgb_to_16color (uint8_t r, uint8_t g, uint8_t b)
 Convert RGB to 16-color ANSI index.
 
void get_16color_rgb (uint8_t color_index, uint8_t *r, uint8_t *g, uint8_t *b)
 Get the actual RGB values for a 16-color ANSI index.
 
uint8_t rgb_to_16color_dithered (int r, int g, int b, int x, int y, int width, int height, rgb_error_t *error_buffer)
 Convert RGB to 16-color with Floyd-Steinberg dithering.
 
char * append_color_fg_for_mode (char *dst, uint8_t r, uint8_t g, uint8_t b, terminal_color_mode_t mode)
 Append color foreground sequence for specified mode.
 

Variables

dec3_t dec3 [256]
 Access to internal decimal lookup table for testing.
 

Detailed Description

Fast ANSI escape sequence generation.

Definition in file ansi_fast.h.