CGR Localization
 All Classes Namespaces Files Functions Variables Macros Pages
terminal_utils.h
Go to the documentation of this file.
1 //========================================================================
2 // This software is free: you can redistribute it and/or modify
3 // it under the terms of the GNU Lesser General Public License Version 3,
4 // as published by the Free Software Foundation.
5 //
6 // This software is distributed in the hope that it will be useful,
7 // but WITHOUT ANY WARRANTY; without even the implied warranty of
8 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 // GNU Lesser General Public License for more details.
10 //
11 // You should have received a copy of the GNU Lesser General Public License
12 // Version 3 in the file COPYING that came with this distribution.
13 // If not, see <http://www.gnu.org/licenses/>.
14 //========================================================================
20 //========================================================================
21 
22 #ifndef TERMINAL_UTILS
23 #define TERMINAL_UTILS
24 
25 #include <iostream>
26 #include <stdio.h>
27 //#include <printf.h>
28 //#include <stdarg.h>
29 //#include "geometry.h"
30 
31 
32 
33 namespace TerminalUtils{
34 #ifdef WIN32
35 #include <windows.h>
36 static const unsigned char TERMINAL_ATTR_RESET = 0;
37 static const unsigned char TERMINAL_ATTR_DIM = 0;
38 static const unsigned char TERMINAL_ATTR_UNDERLINE = 0;
39 static const unsigned char TERMINAL_ATTR_BLINK = 0;
40 static const unsigned char TERMINAL_ATTR_REVERSE = 0;
41 static const unsigned char TERMINAL_ATTR_HIDDEN = 0;
42 
43 static const unsigned char TERMINAL_ATTR_BRIGHT = 8;
44 
45 static const unsigned char TERMINAL_COL_BLACK = 0;
46 static const unsigned char TERMINAL_COL_BLUE = 1;
47 static const unsigned char TERMINAL_COL_GREEN = 2;
48 static const unsigned char TERMINAL_COL_CYAN = 3;
49 static const unsigned char TERMINAL_COL_RED = 4;
50 static const unsigned char TERMINAL_COL_MAGENTA = 5;
51 static const unsigned char TERMINAL_COL_YELLOW = 6;
52 static const unsigned char TERMINAL_COL_WHITE = 7;
53 
54 #else
55 static const unsigned char TERMINAL_ATTR_RESET = 0;
56 static const unsigned char TERMINAL_ATTR_BRIGHT = 1;
57 static const unsigned char TERMINAL_ATTR_DIM = 2;
58 static const unsigned char TERMINAL_ATTR_UNDERLINE = 3;
59 static const unsigned char TERMINAL_ATTR_BLINK = 4;
60 static const unsigned char TERMINAL_ATTR_REVERSE = 7;
61 static const unsigned char TERMINAL_ATTR_HIDDEN = 8;
62 
63 static const unsigned char TERMINAL_COL_BLACK = 0;
64 static const unsigned char TERMINAL_COL_RED = 1;
65 static const unsigned char TERMINAL_COL_GREEN = 2;
66 static const unsigned char TERMINAL_COL_YELLOW = 3;
67 static const unsigned char TERMINAL_COL_BLUE = 4;
68 static const unsigned char TERMINAL_COL_MAGENTA = 5;
69 static const unsigned char TERMINAL_COL_CYAN = 6;
70 static const unsigned char TERMINAL_COL_WHITE = 7;
71 #endif
72 };
73 
74 void ColourTerminal(unsigned char fg, unsigned char bg=TerminalUtils::TERMINAL_COL_BLACK, unsigned char attr=TerminalUtils::TERMINAL_ATTR_RESET);
75 void ResetTerminal();
76 
77 void TerminalInformation(const char* text);
78 void TerminalAlert(const char* text);
79 void TerminalWarning(const char* text);
80 
81 #endif //TERMINAL_UTILS