AuD
Lecture 'Algorithmen und Datenstrukturen' (code examples)
aud.util.Terminal Class Reference
+ Collaboration diagram for aud.util.Terminal:

Public Member Functions

 Terminal (boolean ansi)
 Constructor. More...
 
 Terminal ()
 Constructor: guess availability of terminal emulation. More...
 
boolean dumb ()
 Is this a dumb terminal without colors? More...
 
void fg (int color)
 set foreground color More...
 
void bg (int color)
 set background color More...
 
void cls (boolean clear)
 clear screen (for clear=false, move only cursor) More...
 
void bold (boolean b)
 switch use of bold font More...
 
void cls ()
 clear screen (cls(true)) More...
 
void reset ()
 reset to black on white, normal font More...
 
void showCursor ()
 show cursor More...
 
void hideCursor ()
 hide cursor More...
 

Public Attributes

boolean invert_color =false
 invert colors More...
 
boolean invert_foreground_background =false
 swap foreground and background More...
 
PrintStream out =System.out
 output stream, user is responsible for flush More...
 

Static Public Attributes

static final int BLACK =0
 
static final int RED =1
 
static final int GREEN =2
 
static final int YELLOW =3
 
static final int BLUE =4
 
static final int MAGENTA =5
 
static final int CYAN =6
 
static final int WHITE =7
 
static final int HIGHLIGHT =8
 
static final int HI_BLACK =8
 
static final int HI_RED =9
 
static final int HI_GREEN =10
 
static final int HI_YELLOW =11
 
static final int HI_BLUE =12
 
static final int HI_MAGENTA =13
 
static final int HI_CYAN =14
 
static final int HI_WHITE =15
 
static final String[] FGCOLOR
 set foreground color More...
 
static final String[] BGCOLOR
 set background color More...
 
static final String NORMAL ="\033[0m"
 set bold text More...
 
static final String BOLD ="\033[1m"
 set normal text More...
 
static final String CLEAR_SCREEN ="\033[2J\033[1;1H"
 clear screen and reset cursor position to upper left corner More...
 
static final String HOME ="\033[1;1H"
 reset cursor position to upper left corner More...
 
static final String SHOW_CURSOR ="\033[?25h"
 show cursor More...
 
static final String HIDE_CURSOR ="\033[?25l"
 hide cursor More...
 
static Terminal instance = new Terminal()
 singleton instance More...
 

Detailed Description

Definition at line 5 of file util/Terminal.java.

Constructor & Destructor Documentation

◆ Terminal() [1/2]

aud.util.Terminal.Terminal ( boolean  ansi)

Constructor.

Parameters
ansiassume terminal emulation is available

Definition at line 101 of file util/Terminal.java.

101 {
102 ansi_=ansi;
103 if (!ansi)
104 System.err.println("Assuming dumb terminal.");
105 }

◆ Terminal() [2/2]

Constructor: guess availability of terminal emulation.

Simple rule: assume that Windows systems don't provide terminal emulation, all other systems do.

Definition at line 110 of file util/Terminal.java.

110 {
111 this(!System.getProperty("os.name").startsWith("Windows"));
112 }

Member Function Documentation

◆ bg()

void aud.util.Terminal.bg ( int  color)

set background color

Definition at line 132 of file util/Terminal.java.

132 {
133 assert(color>=0);
134
135 if (!ansi_)
136 cur_bg_=-1;
137 else {
139 color=invert_color ? table.length-color%table.length : color;
140 out.print(table[color]);
141 cur_bg_=color;
142 }
143 }
PrintStream out
output stream, user is responsible for flush
boolean invert_foreground_background
swap foreground and background
static final String[] BGCOLOR
set background color
boolean invert_color
invert colors
static final String[] FGCOLOR
set foreground color

Referenced by aud.util.Terminal.reset().

+ Here is the caller graph for this function:

◆ bold()

void aud.util.Terminal.bold ( boolean  b)

switch use of bold font

Definition at line 153 of file util/Terminal.java.

153 {
154 if (ansi_)
155 cur_font_=-1;
156 else {
157 boolean cur_b=(cur_font_==1);
158 if (cur_b!=b) {
159 out.print(b ? BOLD : NORMAL);
160 cur_font_=b ? 1 : 0;
161 }
162 }
163 }
static final String BOLD
set normal text
static final String NORMAL
set bold text

Referenced by aud.util.Terminal.reset().

+ Here is the caller graph for this function:

◆ cls() [1/2]

void aud.util.Terminal.cls ( )

clear screen (cls(true))

Definition at line 165 of file util/Terminal.java.

165{ cls(true); }
void cls()
clear screen (cls(true))

References aud.util.Terminal.cls().

Referenced by aud.util.Terminal.cls().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cls() [2/2]

void aud.util.Terminal.cls ( boolean  clear)

clear screen (for clear=false, move only cursor)

Definition at line 146 of file util/Terminal.java.

146 {
147 if (ansi_)
148 out.print(clear ? CLEAR_SCREEN : HOME);
149 else
150 out.print("\n\n");
151 }
static final String HOME
reset cursor position to upper left corner
static final String CLEAR_SCREEN
clear screen and reset cursor position to upper left corner

Referenced by aud.example.grid.Grid.display(), and aud.example.grid.Grid2.display().

+ Here is the caller graph for this function:

◆ dumb()

boolean aud.util.Terminal.dumb ( )

Is this a dumb terminal without colors?

Definition at line 115 of file util/Terminal.java.

115{ return !ansi_; }

◆ fg()

void aud.util.Terminal.fg ( int  color)

set foreground color

Definition at line 118 of file util/Terminal.java.

118 {
119 assert(color>=0);
120
121 if (!ansi_)
122 cur_fg_=-1;
123 else {
125 color=invert_color ? table.length-color%table.length : color;
126 out.print(table[color]);
127 cur_fg_=color;
128 }
129 }

Referenced by aud.util.Terminal.reset().

+ Here is the caller graph for this function:

◆ hideCursor()

void aud.util.Terminal.hideCursor ( )

hide cursor

Definition at line 180 of file util/Terminal.java.

180 {
181 if (ansi_)
182 out.print(HIDE_CURSOR);
183 }
static final String HIDE_CURSOR
hide cursor

◆ reset()

void aud.util.Terminal.reset ( )

reset to black on white, normal font

Definition at line 168 of file util/Terminal.java.

168 {
169 fg(WHITE);
170 bg(BLACK);
171 bold(false);
172 }
static final int BLACK
static final int WHITE
void fg(int color)
set foreground color
void bold(boolean b)
switch use of bold font
void bg(int color)
set background color

References aud.util.Terminal.bg(), aud.util.Terminal.BLACK, aud.util.Terminal.bold(), aud.util.Terminal.fg(), and aud.util.Terminal.WHITE.

+ Here is the call graph for this function:

◆ showCursor()

void aud.util.Terminal.showCursor ( )

show cursor

Definition at line 175 of file util/Terminal.java.

175 {
176 if (ansi_)
177 out.print(SHOW_CURSOR);
178 }
static final String SHOW_CURSOR
show cursor

Member Data Documentation

◆ BGCOLOR

final String [] aud.util.Terminal.BGCOLOR
static
Initial value:
={
"\033[40m",
"\033[41m",
"\033[42m",
"\033[43m",
"\033[44m",
"\033[45m",
"\033[46m",
"\033[47m",
"\033[100m",
"\033[101m",
"\033[102m",
"\033[103m",
"\033[104m",
"\033[105m",
"\033[106m",
"\033[107m",
}

set background color

Definition at line 47 of file util/Terminal.java.

◆ BLACK

final int aud.util.Terminal.BLACK =0
static

Definition at line 7 of file util/Terminal.java.

Referenced by aud.util.Terminal.reset().

◆ BLUE

final int aud.util.Terminal.BLUE =4
static

Definition at line 11 of file util/Terminal.java.

◆ BOLD

final String aud.util.Terminal.BOLD ="\033[1m"
static

set normal text

Definition at line 68 of file util/Terminal.java.

◆ CLEAR_SCREEN

final String aud.util.Terminal.CLEAR_SCREEN ="\033[2J\033[1;1H"
static

clear screen and reset cursor position to upper left corner

Definition at line 71 of file util/Terminal.java.

◆ CYAN

final int aud.util.Terminal.CYAN =6
static

Definition at line 13 of file util/Terminal.java.

◆ FGCOLOR

final String [] aud.util.Terminal.FGCOLOR
static
Initial value:
={
"\033[30m",
"\033[31m",
"\033[32m",
"\033[33m",
"\033[34m",
"\033[35m",
"\033[36m",
"\033[37m",
"\033[90m",
"\033[91m",
"\033[92m",
"\033[93m",
"\033[94m",
"\033[95m",
"\033[96m",
"\033[97m",
}

set foreground color

Definition at line 28 of file util/Terminal.java.

◆ GREEN

final int aud.util.Terminal.GREEN =2
static

Definition at line 9 of file util/Terminal.java.

◆ HI_BLACK

final int aud.util.Terminal.HI_BLACK =8
static

Definition at line 18 of file util/Terminal.java.

◆ HI_BLUE

final int aud.util.Terminal.HI_BLUE =12
static

Definition at line 22 of file util/Terminal.java.

◆ HI_CYAN

final int aud.util.Terminal.HI_CYAN =14
static

Definition at line 24 of file util/Terminal.java.

◆ HI_GREEN

final int aud.util.Terminal.HI_GREEN =10
static

Definition at line 20 of file util/Terminal.java.

◆ HI_MAGENTA

final int aud.util.Terminal.HI_MAGENTA =13
static

Definition at line 23 of file util/Terminal.java.

◆ HI_RED

final int aud.util.Terminal.HI_RED =9
static

Definition at line 19 of file util/Terminal.java.

◆ HI_WHITE

final int aud.util.Terminal.HI_WHITE =15
static

Definition at line 25 of file util/Terminal.java.

◆ HI_YELLOW

final int aud.util.Terminal.HI_YELLOW =11
static

Definition at line 21 of file util/Terminal.java.

◆ HIDE_CURSOR

final String aud.util.Terminal.HIDE_CURSOR ="\033[?25l"
static

hide cursor

Definition at line 78 of file util/Terminal.java.

◆ HIGHLIGHT

final int aud.util.Terminal.HIGHLIGHT =8
static

Definition at line 16 of file util/Terminal.java.

◆ HOME

final String aud.util.Terminal.HOME ="\033[1;1H"
static

reset cursor position to upper left corner

Definition at line 73 of file util/Terminal.java.

◆ instance

Terminal aud.util.Terminal.instance = new Terminal()
static

◆ invert_color

boolean aud.util.Terminal.invert_color =false

invert colors

Definition at line 82 of file util/Terminal.java.

◆ invert_foreground_background

boolean aud.util.Terminal.invert_foreground_background =false

swap foreground and background

Definition at line 84 of file util/Terminal.java.

◆ MAGENTA

final int aud.util.Terminal.MAGENTA =5
static

Definition at line 12 of file util/Terminal.java.

◆ NORMAL

final String aud.util.Terminal.NORMAL ="\033[0m"
static

set bold text

Definition at line 66 of file util/Terminal.java.

◆ out

PrintStream aud.util.Terminal.out =System.out

output stream, user is responsible for flush

Definition at line 87 of file util/Terminal.java.

◆ RED

final int aud.util.Terminal.RED =1
static

Definition at line 8 of file util/Terminal.java.

◆ SHOW_CURSOR

final String aud.util.Terminal.SHOW_CURSOR ="\033[?25h"
static

show cursor

Definition at line 76 of file util/Terminal.java.

◆ WHITE

final int aud.util.Terminal.WHITE =7
static

Definition at line 14 of file util/Terminal.java.

Referenced by aud.util.Terminal.reset().

◆ YELLOW

final int aud.util.Terminal.YELLOW =3
static

Definition at line 10 of file util/Terminal.java.


The documentation for this class was generated from the following file: