API Documentation
9.14.00
.build.ble5.cc23xx
api-sources
tidrivers
source
ti
display
AnsiColor.h
1
/*
2
* Copyright (c) 2016, Texas Instruments Incorporated
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* * Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* * Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* * Neither the name of Texas Instruments Incorporated nor the names of
17
* its contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*/
32
33
#ifndef ANSI_COLOR_H_
34
#define ANSI_COLOR_H_
35
36
#define _ANSI_TERM_GET_OVERRIDE(_1, _2, _3, _4, _5, NAME, ...) NAME
37
38
#define _ANSI_TERM_CONCAT_COLOR5(a, b, c, d, e) \
39
"\x1b[" _ANSI_TERM_##a ";" _ANSI_TERM_##b ";" _ANSI_TERM_##c ";" _ANSI_TERM_##d ";" _ANSI_TERM_##e "m"
40
#define _ANSI_TERM_CONCAT_COLOR4(a, b, c, d) \
41
"\x1b[" _ANSI_TERM_##a ";" _ANSI_TERM_##b ";" _ANSI_TERM_##c ";" _ANSI_TERM_##d "m"
42
#define _ANSI_TERM_CONCAT_COLOR3(a, b, c) "\x1b[" _ANSI_TERM_##a ";" _ANSI_TERM_##b ";" _ANSI_TERM_##c "m"
43
#define _ANSI_TERM_CONCAT_COLOR2(a, b) "\x1b[" _ANSI_TERM_##a ";" _ANSI_TERM_##b "m"
44
#define _ANSI_TERM_CONCAT_COLOR1(a) "\x1b[" _ANSI_TERM_##a "m"
45
46
#define _ANSI_TERM_FG_BLACK "30"
47
#define _ANSI_TERM_FG_RED "31"
48
#define _ANSI_TERM_FG_GREEN "32"
49
#define _ANSI_TERM_FG_YELLOW "33"
50
#define _ANSI_TERM_FG_BLUE "34"
51
#define _ANSI_TERM_FG_MAGENTA "35"
52
#define _ANSI_TERM_FG_CYAN "36"
53
#define _ANSI_TERM_FG_WHITE "37"
54
55
#define _ANSI_TERM_BG_BLACK "40"
56
#define _ANSI_TERM_BG_RED "41"
57
#define _ANSI_TERM_BG_GREEN "42"
58
#define _ANSI_TERM_BG_YELLOW "43"
59
#define _ANSI_TERM_BG_BLUE "44"
60
#define _ANSI_TERM_BG_MAGENTA "45"
61
#define _ANSI_TERM_BG_CYAN "46"
62
#define _ANSI_TERM_BG_WHITE "47"
63
64
#define _ANSI_TERM_ATTR_RESET "0"
65
#define _ANSI_TERM_ATTR_BOLD "1"
66
#define _ANSI_TERM_ATTR_UNDERLINE "4"
67
#define _ANSI_TERM_ATTR_BLINK "5"
68
69
/* @brief Returns an ANSI escape sequence for the chosen colors and style
70
*
71
* The parameters are variadic, and up to five can be specified in any order:
72
*
73
* FG_BLACK, FG_RED, FG_GREEN, FG_YELLOW, FG_BLUE, FG_MAGENTA, FG_CYAN, FG_WHITE,
74
* BG_BLACK, BG_RED, BG_GREEN, BG_YELLOW, BG_BLUE, BG_MAGENTA, BG_CYAN, BG_WHITE,
75
* ATTR_RESET, ATTR_BOLD, ATTR_UNDERLINE, ATTR_BLINK
76
*
77
* Example use:
78
* char str[] = ANSI_COLOR(FG_WHITE, ATTR_BOLD) "Hello" ANSI_COLOR(ATTR_RESET)
79
* --> "Esc[37;1mHelloEsc[0m" where Esc is the Escape control character 0x1B.
80
*
81
* @param 1 - color or style
82
* @param 2 - color or style
83
* @param 3 - color or style
84
* @param 4 - color or style
85
* @param 5 - color or style
86
*
87
*/
88
#define ANSI_COLOR(...) \
89
_ANSI_TERM_GET_OVERRIDE(__VA_ARGS__, \
90
_ANSI_TERM_CONCAT_COLOR5, \
91
_ANSI_TERM_CONCAT_COLOR4, \
92
_ANSI_TERM_CONCAT_COLOR3, \
93
_ANSI_TERM_CONCAT_COLOR2, \
94
_ANSI_TERM_CONCAT_COLOR1) \
95
(__VA_ARGS__)
96
97
#endif
/* ANSI_COLOR_H_ */
Generated on Thu Nov 6 2025 23:03:04 for API Documentation by
1.8.12