From 96ecf29e8be977f51f351308ef2c7c492bb829aa Mon Sep 17 00:00:00 2001 From: Ethan Werner Date: Tue, 9 Jun 2026 01:17:41 +0400 Subject: refactor --- example/escape.c | 93 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 47 insertions(+), 46 deletions(-) mode change 100755 => 100644 example/escape.c (limited to 'example/escape.c') diff --git a/example/escape.c b/example/escape.c old mode 100755 new mode 100644 index c5e71ac..99f686a --- a/example/escape.c +++ b/example/escape.c @@ -1,6 +1,5 @@ // escape.c - Simple test print code - #include #include @@ -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 ); - - // 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 ); - - uint8_t r,g,b; - - for( float i = 0; i < 1; i += 0.01 ) - { - hsv_rgb( i, 1.0, 1.0, &r, &g, &b ); - - esc_color_fg_rgb( r, g, b ); - fputs( "█", stdout ); - } - - fputs( "\n", 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); + + 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; + + 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); + } + + fputs("\n", stdout); } -- cgit v1.3.1