xref: /haiku/src/apps/terminal/Colors.cpp (revision 776c58b2b56d8bcf33638a2ecb6c697f95a1cbf3)
1 /*
2  * Copyright 2010-2012, Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 
6 
7 #include "Colors.h"
8 
9 #include <Catalog.h>
10 
11 
12 #undef B_TRANSLATION_CONTEXT
13 #define B_TRANSLATION_CONTEXT "Terminal colors scheme"
14 
15 
16 // Standard colors
17 const rgb_color kBlack = { 0, 0, 0, 255 };
18 const rgb_color kGreen = { 0, 255, 0, 255 };
19 const rgb_color kWhite = { 255, 255, 255, 255 };
20 const rgb_color kYellow = { 255, 255, 0, 255 };
21 
22 
23 const struct color_scheme kColorSchemeDefault = {
24 	B_TRANSLATE("Default"),
25 	kBlack,
26 	kWhite,
27 	kWhite,
28 	kBlack,
29 	kWhite,
30 	kBlack
31 };
32 
33 const struct color_scheme kColorSchemeBlue = {
34 	B_TRANSLATE("Blue"),
35 	kYellow,
36 	{ 0, 0, 139, 255 },
37 	kBlack,
38 	kYellow,
39 	kBlack,
40 	{ 0, 139, 139, 255 },
41 };
42 
43 const struct color_scheme kColorSchemeMidnight = {
44 	B_TRANSLATE("Midnight"),
45 	kWhite,
46 	kBlack,
47 	kBlack,
48 	kWhite,
49 	kBlack,
50 	kWhite
51 };
52 
53 const struct color_scheme kColorSchemeProfessional = {
54 	B_TRANSLATE("Professional"),
55 	kWhite,
56 	{ 8, 8, 8, 255 },
57 	{ 50, 50, 50, 255 },
58 	kWhite,
59 	kWhite,
60 	{ 50, 50, 50, 255 },
61 };
62 
63 const struct color_scheme kColorSchemeRetro = {
64 	B_TRANSLATE("Retro"),
65 	kGreen,
66 	kBlack,
67 	kBlack,
68 	kGreen,
69 	kBlack,
70 	kGreen
71 };
72 
73 const struct color_scheme kColorSchemeSlate = {
74 	B_TRANSLATE("Slate"),
75 	kWhite,
76 	{ 20, 20, 28, 255 },
77 	{ 70, 70, 70, 255 },
78 	{ 255, 200, 0, 255 },
79 	kWhite,
80 	{ 70, 70, 70, 255 },
81 };
82 
83 struct color_scheme gCustomColorScheme = {
84 	B_TRANSLATE("Custom")
85 };
86 
87 const color_scheme* gPredefinedColorSchemes[] = {
88 	&kColorSchemeDefault,
89 	&kColorSchemeBlue,
90 	&kColorSchemeMidnight,
91 	&kColorSchemeProfessional,
92 	&kColorSchemeRetro,
93 	&kColorSchemeSlate,
94 	&gCustomColorScheme,
95 	NULL
96 };
97 
98 
99 bool
100 color_scheme::operator==(const color_scheme& scheme)
101 {
102 	return text_fore_color == scheme.text_fore_color
103 		&& text_back_color == scheme.text_back_color
104 		&& cursor_fore_color == scheme.cursor_fore_color
105 		&& cursor_back_color == scheme.cursor_back_color
106 		&& select_fore_color == scheme.select_fore_color
107 		&& select_back_color == scheme.select_back_color;
108 }
109