CLibs
Loading...
Searching...
No Matches
terminal_colors.h File Reference
#include "attributes.h"
#include <stdarg.h>
#include <stdio.h>

Go to the source code of this file.

Macros

#define PRINT_COLOR   "%s"
#define COLOR_CREATOR(NUM)
#define COLOR_DEFAULT   COLOR_CREATOR( "0" )
#define GROUND_FORE   "3"
#define GROUND_BACK   "4"
#define COLORCODE_BLACK   "0"
#define COLORCODE_RED   "1"
#define COLORCODE_GREEN   "2"
#define COLORCODE_YELLOW   "3"
#define COLORCODE_BLUE   "4"
#define COLORCODE_MAGENTA   "5"
#define COLORCODE_CYAN   "6"
#define COLORCODE_WHITE   "7"
#define FOREGROUND_BLACK   COLOR_CREATOR( GROUND_FORE COLORCODE_BLACK )
#define FOREGROUND_RED   COLOR_CREATOR( GROUND_FORE COLORCODE_RED )
#define FOREGROUND_GREEN   COLOR_CREATOR( GROUND_FORE COLORCODE_GREEN )
#define FOREGROUND_YELLOW   COLOR_CREATOR( GROUND_FORE COLORCODE_YELLOW )
#define FOREGROUND_BLUE   COLOR_CREATOR( GROUND_FORE COLORCODE_BLUE )
#define FOREGROUND_MAGENTA   COLOR_CREATOR( GROUND_FORE COLORCODE_MAGENTA )
#define FOREGROUND_CYAN   COLOR_CREATOR( GROUND_FORE COLORCODE_CYAN )
#define FOREGROUND_WHITE   COLOR_CREATOR( GROUND_FORE COLORCODE_WHITE )
#define BACKGROUND_BLACK   COLOR_CREATOR( GROUND_BACK COLORCODE_BLACK )
#define BACKGROUND_RED   COLOR_CREATOR( GROUND_BACK COLORCODE_RED )
#define BACKGROUND_GREEN   COLOR_CREATOR( GROUND_BACK COLORCODE_GREEN )
#define BACKGROUND_YELLOW   COLOR_CREATOR( GROUND_BACK COLORCODE_YELLOW )
#define BACKGROUND_BLUE   COLOR_CREATOR( GROUND_BACK COLORCODE_BLUE )
#define BACKGROUND_MAGENTA   COLOR_CREATOR( GROUND_BACK COLORCODE_MAGENTA )
#define BACKGROUND_CYAN   COLOR_CREATOR( GROUND_BACK COLORCODE_CYAN )
#define BACKGROUND_WHITE   COLOR_CREATOR( GROUND_BACK COLORCODE_WHITE )
#define FOREGROUND_GRAY   COLOR_CREATOR( GROUND_FORE "8;5;238" )
#define BACKGROUND_GRAY   COLOR_CREATOR( GROUND_BACK "8;5;238" )

Functions

LibraryDefined bool SetTerminalColor (FILE *stream, const char *Color)
LibraryDefined int VPrintInColor (FILE *file, const char *Color, const char *format, va_list vaList)
LibraryDefined PrintfLike int PrintInColor (FILE *file, const char *Color, const char *format,...)

Macro Definition Documentation

◆ BACKGROUND_BLACK

#define BACKGROUND_BLACK   COLOR_CREATOR( GROUND_BACK COLORCODE_BLACK )

◆ BACKGROUND_BLUE

#define BACKGROUND_BLUE   COLOR_CREATOR( GROUND_BACK COLORCODE_BLUE )

◆ BACKGROUND_CYAN

#define BACKGROUND_CYAN   COLOR_CREATOR( GROUND_BACK COLORCODE_CYAN )

◆ BACKGROUND_GRAY

#define BACKGROUND_GRAY   COLOR_CREATOR( GROUND_BACK "8;5;238" )

◆ BACKGROUND_GREEN

#define BACKGROUND_GREEN   COLOR_CREATOR( GROUND_BACK COLORCODE_GREEN )

◆ BACKGROUND_MAGENTA

#define BACKGROUND_MAGENTA   COLOR_CREATOR( GROUND_BACK COLORCODE_MAGENTA )

◆ BACKGROUND_RED

#define BACKGROUND_RED   COLOR_CREATOR( GROUND_BACK COLORCODE_RED )

◆ BACKGROUND_WHITE

#define BACKGROUND_WHITE   COLOR_CREATOR( GROUND_BACK COLORCODE_WHITE )

◆ BACKGROUND_YELLOW

#define BACKGROUND_YELLOW   COLOR_CREATOR( GROUND_BACK COLORCODE_YELLOW )

◆ COLOR_CREATOR

#define COLOR_CREATOR ( NUM)
Value:
"\033[" NUM "m"

When supplied with the correct ANSI color code, this macro creates the escape code for the corresponding color.

For example:

#define COLOR_DEFAULT COLOR_CREATOR( "0" )
#define FOREGROUND_BLACK COLOR_CREATOR( GROUND_FORE COLORCODE_BLACK )

◆ COLOR_DEFAULT

#define COLOR_DEFAULT   COLOR_CREATOR( "0" )

◆ COLORCODE_BLACK

#define COLORCODE_BLACK   "0"

◆ COLORCODE_BLUE

#define COLORCODE_BLUE   "4"

◆ COLORCODE_CYAN

#define COLORCODE_CYAN   "6"

◆ COLORCODE_GREEN

#define COLORCODE_GREEN   "2"

◆ COLORCODE_MAGENTA

#define COLORCODE_MAGENTA   "5"

◆ COLORCODE_RED

#define COLORCODE_RED   "1"

◆ COLORCODE_WHITE

#define COLORCODE_WHITE   "7"

◆ COLORCODE_YELLOW

#define COLORCODE_YELLOW   "3"

◆ FOREGROUND_BLACK

#define FOREGROUND_BLACK   COLOR_CREATOR( GROUND_FORE COLORCODE_BLACK )

◆ FOREGROUND_BLUE

#define FOREGROUND_BLUE   COLOR_CREATOR( GROUND_FORE COLORCODE_BLUE )

◆ FOREGROUND_CYAN

#define FOREGROUND_CYAN   COLOR_CREATOR( GROUND_FORE COLORCODE_CYAN )

◆ FOREGROUND_GRAY

#define FOREGROUND_GRAY   COLOR_CREATOR( GROUND_FORE "8;5;238" )

◆ FOREGROUND_GREEN

#define FOREGROUND_GREEN   COLOR_CREATOR( GROUND_FORE COLORCODE_GREEN )

◆ FOREGROUND_MAGENTA

#define FOREGROUND_MAGENTA   COLOR_CREATOR( GROUND_FORE COLORCODE_MAGENTA )

◆ FOREGROUND_RED

#define FOREGROUND_RED   COLOR_CREATOR( GROUND_FORE COLORCODE_RED )

◆ FOREGROUND_WHITE

#define FOREGROUND_WHITE   COLOR_CREATOR( GROUND_FORE COLORCODE_WHITE )

◆ FOREGROUND_YELLOW

#define FOREGROUND_YELLOW   COLOR_CREATOR( GROUND_FORE COLORCODE_YELLOW )

◆ GROUND_BACK

#define GROUND_BACK   "4"

◆ GROUND_FORE

#define GROUND_FORE   "3"

◆ PRINT_COLOR

#define PRINT_COLOR   "%s"

Format string for printing colors

Function Documentation

◆ PrintInColor()

LibraryDefined PrintfLike int PrintInColor ( FILE * file,
const char * Color,
const char * format,
... )
inline

Prints a formatted message (like fprintf) in the supplied color.

Since there exists no reliable way to retrieve the current terminal color, this function resets it to the default.

◆ SetTerminalColor()

LibraryDefined bool SetTerminalColor ( FILE * stream,
const char * Color )
inline

Sets the terminal color to Color.

The string must be a valid color string (something like FOREGROUND_WHITE), otherwise this function is just a worse fprintf. (it only exists as an abstraction for fprintf)

◆ VPrintInColor()

LibraryDefined int VPrintInColor ( FILE * file,
const char * Color,
const char * format,
va_list vaList )
inline
See also
PrintInColor