All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Loading...
Searching...
No Matches
console_color.h
1/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
2 * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
3 * Author(s): Clement Jamin
4 *
5 * Copyright (C) 2016 Inria
6 *
7 * Modification(s):
8 * - YYYY/MM Author: Description of the modification
9 */
10
11#ifndef CONSOLE_COLOR_H_
12#define CONSOLE_COLOR_H_
13
14#include <iostream>
15
16#if defined(WIN32)
17#include <windows.h>
18#endif
19
20inline std::ostream& blue(std::ostream &s) {
21#if defined(WIN32)
22 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
23 SetConsoleTextAttribute(hStdout,
24 FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY);
25#else
26 s << "\x1b[0;34m";
27#endif
28 return s;
29}
30
31inline std::ostream& red(std::ostream &s) {
32#if defined(WIN32)
33 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
34 SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_INTENSITY);
35#else
36 s << "\x1b[0;31m";
37#endif
38 return s;
39}
40
41inline std::ostream& green(std::ostream &s) {
42#if defined(WIN32)
43 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
44 SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN | FOREGROUND_INTENSITY);
45#else
46 s << "\x1b[0;32m";
47#endif
48 return s;
49}
50
51inline std::ostream& yellow(std::ostream &s) {
52#if defined(WIN32)
53 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
54 SetConsoleTextAttribute(hStdout,
55 FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY);
56#else
57 s << "\x1b[0;33m";
58#endif
59 return s;
60}
61
62inline std::ostream& white(std::ostream &s) {
63#if defined(WIN32)
64 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
65 SetConsoleTextAttribute(hStdout,
66 FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
67#else
68 s << "\x1b[0;37m";
69#endif
70 return s;
71}
72
73inline std::ostream& black_on_white(std::ostream &s) {
74#if defined(WIN32)
75 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
76 SetConsoleTextAttribute(hStdout,
77 BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
78#else
79 s << "\x1b[0;33m";
80#endif
81 return s;
82}
83
84
85#endif // CONSOLE_COLOR_H_