-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcolors.pas
More file actions
106 lines (94 loc) · 3.02 KB
/
colors.pas
File metadata and controls
106 lines (94 loc) · 3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
{$MODE FPC}
{$MODESWITCH DEFAULTPARAMETERS}
{$MODESWITCH OUT}
{$MODESWITCH RESULT}
uses
sysutils,
dterm;
procedure WriteLabel(S: AnsiString; Color: TTerminalColor);
begin
SetTerminalColor(Color);
while Length(S) < 10 do
S := S + ' ';
Write(S);
end;
procedure WriteLabelBackground(S: AnsiString; Color: TTerminalColor);
begin
SetTerminalColor(TERMINAL_COLOR_DEFAULT, Color);
Write(S);
SetTerminalColor(TERMINAL_COLOR_DEFAULT, TERMINAL_COLOR_DEFAULT);
while Length(S) < 10 do begin
S := S + ' ';
Write(' ');
end;
end;
procedure DrawLine(DirR, DirG, DirB: LongInt);
const
W = 60;
var
I: LongInt;
begin
for I := 0 to W - 1 do begin
SetTerminalRGB(DirR * Round(I/W*255),
DirG * Round(I/W*255),
DirB * Round(I/W*255));
Write('#');
end;
Writeln;
end;
var
I, J: LongInt;
begin
WriteLabel('default:', TERMINAL_COLOR_DEFAULT);
WriteLabel('red', TERMINAL_COLOR_RED);
WriteLabel('green', TERMINAL_COLOR_GREEN);
WriteLabel('blue', TERMINAL_COLOR_BLUE);
WriteLabel('yellow', TERMINAL_COLOR_YELLOW);
WriteLabel('magenta', TERMINAL_COLOR_MAGENTA);
WriteLabel('cyan', TERMINAL_COLOR_CYAN);
WriteLabel('white', TERMINAL_COLOR_WHITE);
Writeln;
WriteLabel('bright:', TERMINAL_COLOR_DEFAULT);
WriteLabel('red', TERMINAL_COLOR_BRIGHT_RED);
WriteLabel('green', TERMINAL_COLOR_BRIGHT_GREEN);
WriteLabel('blue', TERMINAL_COLOR_BRIGHT_BLUE);
WriteLabel('yellow', TERMINAL_COLOR_BRIGHT_YELLOW);
WriteLabel('magenta', TERMINAL_COLOR_BRIGHT_MAGENTA);
WriteLabel('cyan', TERMINAL_COLOR_BRIGHT_CYAN);
WriteLabel('white', TERMINAL_COLOR_BRIGHT_WHITE);
Writeln;
WriteLabelBackground('backgrnd:', TERMINAL_COLOR_DEFAULT);
WriteLabelBackground('red', TERMINAL_COLOR_RED);
WriteLabelBackground('green', TERMINAL_COLOR_GREEN);
WriteLabelBackground('blue', TERMINAL_COLOR_BLUE);
WriteLabelBackground('yellow', TERMINAL_COLOR_YELLOW);
WriteLabelBackground('magenta', TERMINAL_COLOR_MAGENTA);
WriteLabelBackground('cyan', TERMINAL_COLOR_CYAN);
WriteLabelBackground('white', TERMINAL_COLOR_WHITE);
Writeln;
WriteLabelBackground('', TERMINAL_COLOR_DEFAULT);
WriteLabelBackground('red', TERMINAL_COLOR_BRIGHT_RED);
WriteLabelBackground('green', TERMINAL_COLOR_BRIGHT_GREEN);
WriteLabelBackground('blue', TERMINAL_COLOR_BRIGHT_BLUE);
WriteLabelBackground('yellow', TERMINAL_COLOR_BRIGHT_YELLOW);
WriteLabelBackground('magenta', TERMINAL_COLOR_BRIGHT_MAGENTA);
WriteLabelBackground('cyan', TERMINAL_COLOR_BRIGHT_CYAN);
WriteLabelBackground('white', TERMINAL_COLOR_BRIGHT_WHITE);
Writeln;
SetTerminalColor(TERMINAL_COLOR_BLACK, TERMINAL_COLOR_WHITE);
Write('black on white ');
SetTerminalColor(TERMINAL_COLOR_GRAY, TERMINAL_COLOR_WHITE);
Write('gray on white ');
SetTerminalColor(TERMINAL_COLOR_WHITE, TERMINAL_COLOR_GRAY);
Write('white on gray ');
ResetTerminalColor;
Writeln;
DrawLine(1, 0, 0);
DrawLine(0, 1, 0);
DrawLine(0, 0, 1);
DrawLine(1, 1, 0);
DrawLine(1, 0, 1);
DrawLine(0, 1, 1);
DrawLine(1, 1, 1);
ResetTerminalColor;
end.