diff options
| author | Ethan Werner <mail@ethanwerner.com> | 2026-06-09 01:17:41 +0400 |
|---|---|---|
| committer | Ethan Werner <mail@ethanwerner.com> | 2026-06-09 01:17:41 +0400 |
| commit | 96ecf29e8be977f51f351308ef2c7c492bb829aa (patch) | |
| tree | c664aa61262e6f7627a732f0e4fbb84281b99952 /example/escape.c | |
| parent | f6a144987cc403de8ad6bddd055f756120f8d405 (diff) | |
refactor
Diffstat (limited to 'example/escape.c')
| -rw-r--r--[-rwxr-xr-x] | example/escape.c | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/example/escape.c b/example/escape.c index c5e71ac..99f686a 100755..100644 --- a/example/escape.c +++ b/example/escape.c @@ -1,6 +1,5 @@ // escape.c - Simple test print code - #include <stdint.h> #include <tgmath.h> @@ -9,54 +8,56 @@ #define TEST_STRING "HELLO" -void hsv_rgb( float h, float s, float v, uint8_t *r, uint8_t *g, uint8_t *b ) -{ - float h0 = h * 6.0; +void hsv_rgb(float h, float s, float v, uint8_t *r, uint8_t *g, uint8_t *b) { + float h0 = h * 6.0f; - float k = fmod( 5.0 + h0, 6.0 ); - *r = 255 * ( v - v * s * fmax( 0.0, fmin( k, fmin( 4.0 - k, 1.0 ) ) ) ); + float k = fmodf(5.0f + h0, 6.0f); + *r = (uint8_t)(255.0f * (v - v * s * fmaxf(0.0f, fminf(k, fminf(4.0f - k, 1.0f))))); - k = fmod( 3.0 + h0, 6.0 ); - *g = 255 * ( v - v * s * fmax( 0.0, fmin( k, fmin( 4.0 - k, 1.0 ) ) ) ); + k = fmodf(3.0f + h0, 6.0f); + *g = (uint8_t)(255.0f * (v - v * s * fmaxf(0.0f, fminf(k, fminf(4.0f - k, 1.0f))))); - k = fmod( 1.0 + h0, 6.0 ); - *b = 255 * ( v - v * s * fmax( 0.0, fmin( k, fmin( 4.0 - k, 1.0 ) ) ) ); + k = fmodf(1.0f + h0, 6.0f); + *b = (uint8_t)(255.0f * (v - v * s * fmaxf(0.0f, fminf(k, fminf(4.0f - k, 1.0f))))); } +int main(void) { + // Clear screen + fputs(ESC_CLEAR_SCREEN, stdout); -int main( void ) -{ - // Clear screen - fputs( ESC_CLEAR_SCREEN, stdout ); - - // Print a rectangle of Xs with positional coordinates - fputs( ESC_CURSOR_POSITION( 1, 1 ), stdout ); fflush( stdout ); - fputs( ESC_CURSOR_POSITION( 3, 2 ) "X", stdout ); fflush( stdout ); - fputs( ESC_CURSOR_POSITION( 10, 2 ) "X", stdout ); fflush( stdout ); - fputs( ESC_CURSOR_POSITION( 10, 4 ) "X", stdout ); fflush( stdout ); - fputs( ESC_CURSOR_POSITION( 3, 4 ) "X", stdout ); fflush( stdout ); - fputs( "\n", stdout ); + // Print a rectangle of Xs with positional coordinates + fputs(ESC_CURSOR_POSITION(1, 1), stdout); + fflush(stdout); + fputs(ESC_CURSOR_POSITION(3, 2) "X", stdout); + fflush(stdout); + fputs(ESC_CURSOR_POSITION(10, 2) "X", stdout); + fflush(stdout); + fputs(ESC_CURSOR_POSITION(10, 4) "X", stdout); + fflush(stdout); + fputs(ESC_CURSOR_POSITION(3, 4) "X", stdout); + fflush(stdout); + fputs("\n", stdout); - fputs( "\n" ESC_RESET TEST_STRING "\n\n", stdout ); - fputs( ESC_BOLD TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_OVERLINE TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_UNDERLINE TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_STRIKETHROUGH TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_COLOR_FG_RGB( 0, 128, 128 ) TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_COLOR_BG_RGB( 128, 0, 128 ) TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_BLINK TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_REVERSE TEST_STRING ESC_RESET "\n\n", stdout ); - fputs( ESC_CONCEAL TEST_STRING ESC_REVEAL TEST_STRING ESC_RESET "\n\n", stdout ); + fputs("\n" ESC_RESET TEST_STRING "\n\n", stdout); + fputs(ESC_BOLD TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_OVERLINE TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_UNDERLINE TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_STRIKETHROUGH TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_COLOR_FG_RGB(0, 128, 128) TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_COLOR_BG_RGB(128, 0, 128) TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_BLINK TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_REVERSE TEST_STRING ESC_RESET "\n\n", stdout); + fputs(ESC_CONCEAL TEST_STRING ESC_REVEAL TEST_STRING ESC_RESET "\n\n", + stdout); - uint8_t r,g,b; + uint8_t r, g, b; - for( float i = 0; i < 1; i += 0.01 ) - { - hsv_rgb( i, 1.0, 1.0, &r, &g, &b ); + for (float i = 0; i < 1; i += 0.01f) { + hsv_rgb(i, 1.0, 1.0, &r, &g, &b); - esc_color_fg_rgb( r, g, b ); - fputs( "█", stdout ); - } + esc_color_fg_rgb(r, g, b); + fputs("█", stdout); + } - fputs( "\n", stdout ); + fputs("\n", stdout); } |